/* Global motion ---------------------------------------------------------- */
html.ov-smooth-scroll { scroll-behavior: auto !important; }

.ov-motion-ready .ov-reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition:
    opacity .8s cubic-bezier(.22, 1, .36, 1) var(--ov-reveal-delay, 0ms),
    transform .9s cubic-bezier(.22, 1, .36, 1) var(--ov-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.fancybox-image {
  background-color: #fffaeb;
}

/* Mobile corrections shared across the site. */
.ov-gallery-mobile,
.ov-related-articles__all--mobile { display: none; }

@media (max-width: 767px) {
  /* Mobile pages render immediately, without viewport reveal effects. */
  .ov-motion-ready .ov-reveal,
  .ov-motion-ready .ov-image-reveal,
  .ov-motion-ready .ov-reveal-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  /* One size for primary "show/view more" actions. */
  .ov-btn,
  .ov-search-more,
  .ov-vacancies__more,
  .ov-article-more,
  .ov-production-more,
  .ov-related-articles__all--mobile,
  .btn-primary.mc,
  .btn-primary.mc .btn-primary__w {
    min-height: 56px;
    font-size: 17px;
    line-height: 20px;
  }
  .btn-primary.mc .btn-primary__t { font-size: 17px; line-height: 20px; }

  /* Homepage benefits: swipe plus working arrow controls. */
  .ov-benefits__certs { width: 100%; justify-content: space-between; }
  .ov-benefits__certs span {
    width: 58px;
    height: 58px;
    padding: 8px;
    flex: 0 0 58px;
    border-radius: 14px;
  }
  .ov-benefits__slider .ov-slider__track {
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    transform: none !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .ov-benefits__slider .ov-slider__track::-webkit-scrollbar { display: none; }
  .ov-benefits__slider .ov-slider__nav { display: flex !important; }

  /* The up control sits above, rather than inside, the footer. */
  .ov-site-footer__up {
    top: -136px;
    right: 24px;
    width: 80px;
    height: 80px;
  }

  /* About page gallery from the mobile Figma layout. */
  .ov-gallery__grid { display: none; }
  .ov-gallery-mobile { display: block; }
  .ov-gallery-mobile__track {
    display: flex;
    width: 100%;
    aspect-ratio: 343 / 332;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    border-radius: 24px;
    -webkit-overflow-scrolling: touch;
  }
  .ov-gallery-mobile__track::-webkit-scrollbar,
  .ov-gallery-mobile__thumbs::-webkit-scrollbar { display: none; }
  .ov-gallery-mobile__slide {
    display: block;
    width: 100%;
    min-width: 100%;
    height: 100%;
    overflow: hidden;
    flex: 0 0 100%;
    background: #f4f4f5;
    border-radius: 24px;
    scroll-snap-align: start;
  }
  .ov-gallery-mobile__slide img { width: 100%; height: 100%; object-fit: cover; }
  .ov-gallery-mobile__thumbs {
    display: flex;
    width: calc(100% + 16px);
    margin-top: 12px;
    padding-right: 16px;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .ov-gallery-mobile__thumb {
    width: 100px;
    min-width: 100px;
    height: 100px;
    padding: 0;
    overflow: hidden;
    flex: 0 0 100px;
    border: 2px solid transparent;
    border-radius: 16px;
    background: #f4f4f5;
    scroll-snap-align: start;
  }
  .ov-gallery-mobile__thumb.is-active { border-color: #f00; }
  .ov-gallery-mobile__thumb img { width: 100%; height: 100%; object-fit: cover; }
  .ov-gallery-mobile__pagination {
    display: flex;
    min-height: 24px;
    margin-top: 12px;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    color: #0f172a;
    font-size: 14px;
    line-height: 20px;
  }
  .ov-gallery-mobile__pagination b { font-weight: 400; }
  .ov-gallery-mobile__dots { display: flex; margin-left: auto; gap: 5px; }
  .ov-gallery-mobile__dots i { width: 7px; height: 7px; background: #e5e7eb; border-radius: 50%; }
  .ov-gallery-mobile__dots i.is-active { background: #0f172a; }

  /* Production gallery supports native finger swiping. */
  .ov-production-gallery__slider .ov-slider__track {
    overflow-x: auto;
    overflow-y: hidden;
    transform: none !important;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .ov-production-gallery__slider .ov-slider__track::-webkit-scrollbar { display: none; }

  /* Product gallery and rounded yellow content card. */
  .ov-product-page .ovp-gallery {
    width: 100%;
    height: auto;
    padding: 0 16px 16px;
    overflow: visible;
  }
  .ov-product-page .ovp-gallery__stage {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    padding: 32px;
    border-radius: 24px;
  }
  .ov-product-page .ovp-gallery__stage > img { object-fit: contain; mix-blend-mode: multiply; }
  .ov-product-page .ovp-gallery__thumbs {
    width: 100%;
    height: auto;
    padding: 12px 0 0;
    gap: 8px;
    overflow-x: auto;
    scroll-padding-inline: 0;
  }
  .ov-product-page .ovp-gallery__thumb {
    width: 72px;
    min-width: 72px;
    height: 72px;
    padding: 8px;
    flex: 0 0 72px;
    border-radius: 12px;
  }
  .ov-product-page .ovp-gallery__thumb.is-active { border-color: #f00; }
  .ov-product-page .ovp-info {
    width: calc(100% - 32px);
    margin-right: 16px;
    margin-left: 16px;
    padding: 32px 16px;
    border-radius: 32px;
  }

  /* Related articles: CTA follows the carousel on mobile. */
  .ov-related-articles__all--desktop { display: none !important; }
  .ov-related-articles__all--mobile {
    display: inline-flex;
    width: 100%;
    min-height: 56px;
    margin-top: 24px;
    padding: 6px 6px 6px 24px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #fff;
    background: #f00;
    border-radius: 999px;
    font-size: 17px;
    font-weight: 500;
  }
  .ov-related-articles__all--mobile i {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
  }
  .ov-related-articles__all--mobile i::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 8px;
    height: 8px;
    content: '';
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(-65%, -50%) rotate(45deg);
  }
  .ov-article-single.is-recipe .ov-article-toc { display: none !important; }
}

/* Vacancies page */
.ov-vacancies {
  padding: 132px 0 0;
  overflow: hidden;
  background: #fff;
}

.ov-vacancies__title {
  margin: 0 0 40px;
  color: #0f172a;
  font-size: 44px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -1.76px;
}

.ov-vacancies__title span { color: #f00; }

.ov-vacancies__toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 40px;
}

.ov-vacancies__tabs-wrap {
  min-width: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.ov-vacancies__tabs-wrap::-webkit-scrollbar { display: none; }

.ov-vacancies__tabs {
  display: inline-flex;
  min-width: max-content;
  padding: 4px;
  align-items: center;
  gap: 4px;
  background: #f8f6f1;
  border-radius: 999px;
}

.ov-vacancies__tab {
  min-height: 40px;
  padding: 10px 20px;
  color: #0f172a;
  font: 500 14px/20px "Inter", Arial, sans-serif;
  white-space: nowrap;
  background: transparent;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}

.ov-vacancies__tab:hover,
.ov-vacancies__tab:focus-visible,
.ov-vacancies__tab.is-active { background: #fb3; }

.ov-vacancies__filters {
  display: flex;
  flex: 0 0 auto;
  gap: 12px;
}

.ov-vacancies__select {
  position: relative;
  display: block;
  width: 180px;
}

.ov-vacancies__select .b-select__title {
  width: 100%;
  min-height: 42px;
  padding: 0 42px 0 20px;
  color: #0f172a;
  font: 400 14px/20px "Inter", Arial, sans-serif;
  background: #f8f6f1;
  border: 1px solid rgba(229, 231, 235, .8);
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
  cursor: pointer;
}

.ov-vacancies__select .b-select__title::after {
  right: 14px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: #9ca3af;
}

.ov-vacancies__select .b-select__wr._active .b-select__title { border-color: #fb3; }

.ov-vacancies__select .b-select__list {
  z-index: 10;
  margin-top: 6px;
  padding: 6px;
  gap: 2px;
  color: #0f172a;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, .9);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .10);
  scrollbar-color: #fb3 #f3f4f6;
}

.ov-vacancies__select .b-select__item {
  padding: 8px 12px;
  color: #0f172a;
  font: 400 14px/20px "Inter", Arial, sans-serif;
  border-radius: 8px;
}

.ov-vacancies__select .b-select__item._active,
.ov-vacancies__select .b-select__item:hover { padding: 8px 12px; background: #fb3; }
.ov-vacancies__select .b-select__item[hidden] { display: none !important; }

.ov-vacancies__select .b-select__title:focus-visible,
.ov-vacancies__tab:focus-visible,
.ov-vacancies__more:focus-visible,
.ov-vacancy-card__button:focus-visible,
.pp-vac__close:focus-visible,
.pp-vac__submit:focus-visible { outline: 2px solid #f00; outline-offset: 2px; }

.ov-vacancies__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  min-height: 60px;
  transition: opacity .2s ease;
}

.ov-vacancies.is-loading .ov-vacancies__grid { pointer-events: none; }

.ov-vacancies__grid > .text-nomore {
  grid-column: 1 / -1;
  margin: 0;
  padding: 64px 20px;
  color: #6b7280;
  text-align: center;
}

.ov-vacancy-card {
  display: flex;
  height: 323px;
  min-width: 0;
  padding: 32px;
  flex-direction: column;
  gap: 0;
  color: #0f172a;
  background: #ffeebf;
  border-radius: 32px;
}

.ov-vacancy-card__tags {
  display: flex;
  min-height: 30px;
  margin-bottom: 24px;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 8px;
  overflow: hidden;
}

.ov-vacancy-card__tag {
  display: inline-flex;
  min-height: 30px;
  padding: 6px 13px;
  align-items: center;
  color: #4b5563;
  font-size: 12px;
  font-weight: 400;
  line-height: 16px;
  white-space: nowrap;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, .8);
  border-radius: 999px;
}

.ov-vacancy-card__title {
  display: -webkit-box;
  margin: 0 0 12px;
  overflow: hidden;
  color: #0f172a;
  font-size: 20px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -.4px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ov-vacancy-card__description {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  color: #6b7280;
  font-size: 14px;
  font-weight: 400;
  line-height: 22.75px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

.ov-vacancy-card__description p { margin: 0; }

.ov-vacancy-card__button,
.pp-vac__submit {
  display: flex;
  width: 100%;
  min-height: 48px;
  margin-top: auto;
  padding: 12px 20px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #0f172a;
  font-size: 17px;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  background: #fb3;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}

.ov-vacancy-card__button:hover,
.pp-vac__submit:hover { color: #0f172a; background: #f4a300; transform: translateY(-1px); }

.ov-vacancy-card__arrow {
  position: relative;
  display: inline-block;
  width: 17px;
  height: 10px;
  flex: 0 0 17px;
}

.ov-vacancy-card__arrow::before {
  position: absolute;
  top: 4px;
  left: 0;
  width: 16px;
  height: 1px;
  background: currentColor;
  content: "";
}

.ov-vacancy-card__arrow::after {
  position: absolute;
  top: 1px;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: "";
  transform: rotate(45deg);
}

.ov-vacancies__more {
  display: flex;
  min-width: 298px;
  min-height: 56px;
  margin: 40px auto 0;
  padding: 16px 32px;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: #fff;
  font: 500 16px/24px "Inter", Arial, sans-serif;
  background: #f00;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: background-color .2s ease, opacity .2s ease;
}

.ov-vacancies__more img { width: 21px; height: 16px; object-fit: contain; }
.ov-vacancies__more:hover { background: #e50000; }
.ov-vacancies__more:disabled { opacity: .6; cursor: wait; }
.ov-vacancies__more[hidden] { display: none; }

/* Vacancy popup */
.ov-vacancy-modal .fancybox__backdrop { background: rgba(15, 23, 42, .44); }
.ov-vacancy-modal .fancybox__slide { padding: 48px 16px; align-items: flex-start; }

.ov-vacancy-modal .pp-vac.fancybox__content,
[data-pp="ppVac"].fancybox__content {
  position: relative;
  display: block;
  width: min(988px, calc(100vw - 32px));
  max-width: 988px;
  margin: auto;
  padding: 68px 48px;
  color: #0f172a;
  background: #fff;
  border-radius: 32px;
  box-shadow: 0 8px 32px rgba(15, 23, 42, .08);
}

.pp-vac__close {
  position: absolute;
  z-index: 2;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  padding: 0;
  background: #f3f4f6;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center
}

.pp-vac__close span::before,
.pp-vac__close span::after {
  position: absolute;
  top: 19px;
  left: 12px;
  width: 16px;
  height: 1.5px;
  background: #0f172a;
  content: "";
}

.pp-vac__close span::before { transform: rotate(45deg); }
.pp-vac__close span::after { transform: rotate(-45deg); }

.pp-vac__cont {
  display: grid;
  grid-template-columns: minmax(0, 509px) minmax(0, 375px);
  align-items: start;
  gap: 8px;
}

.pp-vac__m { min-width: 0; padding-right: 40px; }

.ov-vacancy-detail__eyebrow {
  display: flex;
  margin-bottom: 20px;
  align-items: center;
  gap: 12px;
}

.ov-vacancy-detail__tag {
  display: inline-flex;
  min-height: 29px;
  padding: 6px 12px;
  align-items: center;
  color: #4b5563;
  font-size: 11px;
  font-weight: 600;
  line-height: 16.5px;
  letter-spacing: .55px;
  text-transform: uppercase;
  background: rgba(243, 244, 246, .8);
  border-radius: 999px;
}

.ov-vacancy-detail__eyebrow time { color: #9ca3af; font-size: 12px; line-height: 16px; }

.ov-vacancy-detail__title {
  margin: 0 0 32px;
  color: #0f172a;
  font-size: 44px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: -1.76px;
}

.ov-vacancy-detail__meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding-bottom: 40px;
  border-bottom: 1px solid #e5e7eb;
}

.ov-vacancy-detail__meta-item { display: flex; min-width: 0; align-items: center; gap: 12px; }

.ov-vacancy-detail__meta-icon {
  display: flex;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, #fb3 0%, #f00 100%);
  border-radius: 50%;
}

.ov-vacancy-detail__meta-icon img { width: 22px; height: 22px; object-fit: contain; }
.ov-vacancy-detail__meta-copy { display: flex; min-width: 0; flex-direction: column; gap: 2px; }

.ov-vacancy-detail__meta-label {
  color: #9ca3af;
  font-size: 11px;
  font-weight: 500;
  line-height: 16.5px;
  letter-spacing: .55px;
  text-transform: uppercase;
}

.ov-vacancy-detail__meta-value { color: #0f172a; font-size: 14px; line-height: 20px; }

.ov-vacancy-detail__description { padding-top: 40px; color: #4b5563; font-size: 14px; line-height: 22.75px; }
.ov-vacancy-detail__description h1,
.ov-vacancy-detail__description h2,
.ov-vacancy-detail__description h3,
.ov-vacancy-detail__description h4,
.ov-vacancy-detail__description h5,
.ov-vacancy-detail__description h6 { margin: 32px 0 16px; color: #0f172a; font-size: 16px; font-weight: 500; line-height: 24px; }
.ov-vacancy-detail__description > :first-child { margin-top: 0; }
.ov-vacancy-detail__description p { margin: 0 0 12px; }
.ov-vacancy-detail__description ul { display: flex; margin: 0; padding: 0; flex-direction: column; gap: 12px; list-style: none; }
.ov-vacancy-detail__description li { position: relative; padding-left: 28px; }
.ov-vacancy-detail__description li::before {
  position: absolute;
  top: 1px;
  left: 0;
  content: url("/wp-content/themes/theme-sp/img/ovostar/icon-li.svg");
}

.pp-vac__form {
  display: flex;
  width: 100%;
  margin: 0;
  padding: 33px 33px 49px;
  flex-direction: column;
  gap: 12px;
  background: #ffeebf;
  border: 1px solid #f3f4f6;
  border-radius: 24px;
}

.pp-vac__form .form__i { width: 100%; margin: 0; }
.pp-vac__form-title { margin: 0 0 12px; color: #0f172a; font-size: 24px; font-weight: 600; line-height: 1.2; letter-spacing: -.48px; }
.pp-vac__form .b-file:after, .pp-vac__form .b-file:before {display: none}

.pp-vac__form .form__input,
.pp-vac__form .form__mess {
  width: 100%;
  margin: 0;
  padding: 14px 16px;
  color: #0f172a;
  font: 400 14px/20px "Inter", Arial, sans-serif;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, .8);
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}

.pp-vac__form .form__input { height: 50px; }
.pp-vac__form .form__mess { height: 110px; min-height: 110px; resize: vertical; }
.pp-vac__form .form__input::placeholder,
.pp-vac__form .form__mess::placeholder { color: #9ca3af; opacity: 1; }

.pp-vac__form .b-file {
  display: flex;
  width: 100%;
  min-height: 50px;
  padding: 14px 17px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #374151;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  background: #fff;
  border: 1px dashed #f09f02;
  border-radius: 12px;
  cursor: pointer;
}

.pp-vac__file-wrap { padding-top: 8px; }
.pp-vac__form .b-file > img { width: 18px; height: 18px; flex: 0 0 18px; }
.pp-vac__form .b-file__txt {
  max-width: 100%;
  color: #374151;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: center;
}
.pp-vac__form .b-file:hover .b-file__txt { color: #374151; }
.pp-vac__form .b-file:focus-within { outline: 2px solid rgba(240, 159, 2, .45); outline-offset: 2px; }
.pp-vac__form .b-file._dragover { background: #fff8e7; opacity: 1; }
.pp-vac__form .b-file._selected_file { padding-right: 44px; }
.pp-vac__form .b-file._selected_file > img { display: none; }
.pp-vac__form .b-file__remove {
  right: 16px;
  left: auto;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background-color: #6b7280;
}
.pp-vac__form .b-file__remove:hover { background-color: #f00; }
.pp-vac__form .b-file._error { border-color: #f00; }
.pp-vac__submit-wrap { padding-top: 0; }
.pp-vac__submit { min-height: 56px; margin: 0; color: #fff; background: #f00; }
.pp-vac__submit:hover { color: #fff; background: #e50000; }
.pp-vac__form .form__i._policy { padding-top: 7px; }
.pp-vac__form .form__policy { max-width: 280px; margin: 0 auto; color: #6b7280; font-size: 11px; line-height: 13.75px; text-align: center; }
.pp-vac__form .form__policy a { color: inherit; text-decoration: none; }
.pp-vac__form .form__policy a:hover { text-decoration: underline; }

@media (max-width: 1023px) {
  .ov-vacancies { padding-top: 104px; }
  .ov-vacancies__toolbar { align-items: flex-start; flex-direction: column; }
  .ov-vacancies__tabs-wrap { width: 100%; }
  .ov-vacancies__filters { width: 100%; }
  .ov-vacancies__select { width: 50%; }
  .ov-vacancies__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .ov-vacancy-modal .pp-vac.fancybox__content,
  [data-pp="ppVac"].fancybox__content { max-width: 720px; padding: 64px 32px 40px; }
  .pp-vac__cont { grid-template-columns: 1fr; gap: 40px; }
  .pp-vac__m { padding-right: 0; }
  .pp-vac__form { max-width: 520px; }
}

@media (max-width: 600px) {
  .ov-vacancies { padding: 80px 0 40px; }
  .ov-vacancies .container { padding-right: 16px; padding-left: 16px; }
  .ov-vacancies__title { margin-bottom: 28px; font-size: 28px; line-height: 1; letter-spacing: -1.12px; }
  .ov-vacancies__toolbar { gap: 28px; margin-bottom: 28px; }
  .ov-vacancies__tabs { padding: 4px; }
  .ov-vacancies__tab { min-height: 36px; padding: 8px 16px; }
  .ov-vacancies__filters { flex-direction: column; gap: 16px; }
  .ov-vacancies__select { width: 100%; }
  .ov-vacancies__grid { grid-template-columns: 1fr; gap: 12px; }
  .ov-vacancy-card { height: 323px; padding: 32px 20px; border-radius: 32px; }
  .ov-vacancies__more { width: 100%; min-width: 0; margin-top: 28px; padding-right: 20px; padding-left: 20px; gap: 12px; }
  .ov-vacancies__more img:last-child { display: none; }

  .ov-vacancy-modal .fancybox__slide { padding: 16px; }
  .ov-vacancy-modal .pp-vac.fancybox__content,
  [data-pp="ppVac"].fancybox__content {
    width: 343px;
    max-width: calc(100vw - 32px);
    padding: 68px 16px 16px;
    border-radius: 24px;
  }
  .pp-vac__close { top: 20px; right: 20px; }
  .pp-vac__cont { gap: 40px; }
  .ov-vacancy-detail__title { margin-bottom: 28px; font-size: 28px; letter-spacing: -1.12px; }
  .ov-vacancy-detail__meta { grid-template-columns: 1fr; padding-bottom: 32px; }
  .ov-vacancy-detail__description { padding-top: 32px; }
  .pp-vac__form { padding: 33px 21px; border-radius: 22px; }
  .pp-vac__form-title { font-size: 20px; letter-spacing: -.4px; }
  .pp-vac__submit-wrap { display: flex; justify-content: center; }
  .pp-vac__submit { width: 150px; }
}

/* Contact page ----------------------------------------------------------- */
.ov-contact-page__intro {
  display: flex;
  min-height: 218px;
  padding: 40px 0;
  align-items: flex-end;
  background: #fff;
}

.ov-contact-page__intro-copy {
  display: flex;
  width: 503px;
  max-width: 100%;
  flex-direction: column;
  gap: 16px;
}

.ov-contact-page__intro h1 {
  margin: 0;
  color: #18181b;
  font-size: 44px;
  font-weight: 600;
  line-height: 44px;
  letter-spacing: -1.76px;
}

.ov-contact-page__intro p {
  margin: 0;
  color: #64748b;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.6px;
}

.ov-contact-locations {
  background: #fff;
}

.ov-contact-locations__layout {
  display: grid;
  height: 574px;
  grid-template-columns: 486px minmax(0, 1fr);
  gap: 16px;
}

.ov-contact-locations__tabs {
  display: flex;
  min-width: 0;
  padding: 10px;
  flex-direction: column;
  gap: 4px;
  overflow-x: hidden;
  overflow-y: auto;
  background: #ffbb33;
  border-radius: 24px;
  box-shadow: inset 0 2px 4px rgba(0,0,0,.05);
  scrollbar-color: rgba(25,24,23,.24) transparent;
  scrollbar-width: thin;
}

.ov-contact-locations__tabs::-webkit-scrollbar { width: 10px; }
.ov-contact-locations__tabs::-webkit-scrollbar-track { margin: 16px 0 2px; background: transparent; }
.ov-contact-locations__tabs::-webkit-scrollbar-thumb { background: rgba(25,24,23,.24); border: 2px solid transparent; border-radius: 100px; background-clip: padding-box; }

.ov-contact-location {
  display: flex;
  width: 100%;
  padding: 20px;
  flex: 0 0 auto;
  flex-direction: column;
  gap: 12px;
  color: #292929;
  font: inherit;
  text-align: left;
  border: 0;
  border-radius: 16px;
  outline: 0;
  background: transparent;
  cursor: pointer;
  transition: background-color .2s ease, box-shadow .2s ease;
}

.ov-contact-location.is-active {
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.04);
}

.ov-contact-location:focus-visible {
  box-shadow: 0 0 0 3px rgba(15,23,42,.28);
}

.ov-contact-location__head {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ov-contact-location__head strong {
  color: #0f172a;
  font-size: 19px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -.19px;
}

.ov-contact-location__head i {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  background: transparent;
  border-radius: 50%;
}

.ov-contact-location.is-active .ov-contact-location__head i {
  background: #111827;
}

.ov-contact-location__details {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 12px;
}

.ov-contact-location__line {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: #292929;
  font-size: 14px;
  font-weight: 400;
  line-height: 22px;
  letter-spacing: -.14px;
}

.ov-contact-location__line img {
  display: block;
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  object-fit: contain;
}

.ov-contact-location__line .ov-contact-location__email-icon {
  filter: brightness(0);
}

.ov-contact-locations__map {
  position: relative;
  min-width: 0;
  height: 574px;
  overflow: hidden;
  background: #f3f4f6;
  border-radius: 24px;
  box-shadow: 0 0 0 1px rgba(17,24,39,.05);
}

.ov-contact-locations__map.is-api-missing {
  display: flex;
  padding: 32px;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg,#eef1ed,#dfe7e5);
}

.ov-contact-locations__map.is-api-missing p {
  max-width: 360px;
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 22px;
  text-align: center;
}

@media (max-width: 1023px) and (min-width: 768px) {
  .ov-contact-locations__layout { grid-template-columns: minmax(340px, 41%) minmax(0, 1fr); }
}

@media (max-width: 767px) {
  .ov-contact-page__intro {
    min-height: 200px;
    padding: 40px 0 28px;
    align-items: flex-start;
  }

  .ov-contact-page__intro > .container,
  .ov-contact-locations > .container { padding-right: 16px; padding-left: 16px; }

  .ov-contact-page__intro-copy {
    width: 100%;
    align-items: center;
    text-align: center;
  }

  .ov-contact-page__intro h1 {
    font-size: 28px;
    line-height: 28px;
    letter-spacing: -1.12px;
  }

  .ov-contact-page__intro p {
    font-size: 17px;
    line-height: 1.3;
    letter-spacing: -.51px;
  }

  .ov-contact-locations__layout {
    display: flex;
    height: auto;
    flex-direction: column;
    gap: 16px;
  }

  .ov-contact-locations__tabs {
    width: 100%;
    height: 634px;
    flex: none;
  }

  .ov-contact-location__line { align-items: flex-start; }
  .ov-contact-location__line img { margin-top: 4px; }

  .ov-contact-locations__map {
    width: 100%;
    height: 371px;
    flex: none;
  }
}

/* Product page: mobile layout from Figma (1159:35769). */
@media (max-width: 767px) {
  .ov-product-page > .ovp-breadcrumbs {
    box-sizing: border-box;
    width: 100%;
    min-height: 80px;
    padding: 24px 16px 0;
  }
  .ov-product-page > .ovp-breadcrumbs > .container {
    width: 100%;
    max-width: none;
  }
  .ov-product-page .ovp-breadcrumbs .ov-breadcrumb.bc {
    min-height: 56px;
  }

  .ov-product-page .ovp-product {
    padding: 0;
    margin-top: 16px;
  }
  .ov-product-page .ovp-product__grid {
    width: 100% !important;
    max-width: none;
    margin: 0;
  }

  .ov-product-page .ovp-gallery {
    position: static;
    width: 100%;
    height: 288px;
    padding: 0;
    overflow: hidden;
  }
  .ov-product-page .ovp-gallery__stage {
    display: none;
  }
  .ov-product-page .ovp-gallery__thumbs {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: 288px;
    margin: 0;
    padding: 16px;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 16px;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .ov-product-page .ovp-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }
  .ov-product-page .ovp-gallery__thumb {
    box-sizing: border-box;
    width: 225px;
    min-width: 225px;
    height: 256px;
    padding: 20px;
    flex: 0 0 225px;
    overflow: hidden;
    border: 1px solid rgba(245, 223, 157, .55);
    border-radius: 12px;
    background: var(--ovp-cream);
    scroll-snap-align: start;
  }
  .ov-product-page .ovp-gallery__thumb.is-active {
    border-color: rgba(245, 223, 157, .55);
  }
  .ov-product-page .ovp-gallery__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    mix-blend-mode: multiply;
  }

  .ov-product-page .ovp-info {
    width: 100%;
    padding: 32px 16px 32px;
    border-radius: 0;
  }
  .ov-product-page .ovp-info__meta {
    min-height: 28px;
    margin: 0 0 24px;
  }
  .ov-product-page .ovp-info h1 {
    margin: 0 0 16px;
    font-size: 28px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: -1.12px;
  }
  .ov-product-page .ovp-info__lead {
    margin: 0 0 28px;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0;
  }

  .ov-product-page .ovp-options {
    margin: 0 0 28px;
    gap: 12px;
  }
  .ov-product-page .ovp-options legend {
    width: 100%;
    margin: 0 0 16px;
    font-size: 19px;
    line-height: 24px;
    letter-spacing: -.19px;
  }
  .ov-product-page .ovp-options label,
  .ov-product-page .ovp-options label:nth-of-type(2) {
    width: calc(50% - 6px);
    margin: 0;
  }
  .ov-product-page .ovp-options label > span {
    width: 100%;
    min-height: 74px;
    height: 74px;
    padding: 16px;
    font-size: 20px;
    line-height: 22px;
    letter-spacing: -.4px;
  }
  .ov-product-page .ovp-contact-btn {
    width: 100%;
    min-width: 0;
    height: 56px;
    margin: 0 0 28px;
  }

  .ov-product-page .ovp-accordions {
    margin: 0;
  }
  .ov-product-page .ovp-accordion {
    border-top-width: .5px;
  }
  .ov-product-page .ovp-accordion > button {
    height: 64px;
    font-size: 20px;
    line-height: 24px;
  }
  .ov-product-page .ovp-accordion:nth-child(2) > button {
    height: 60px;
  }
  .ov-product-page .ovp-benefits {
    padding: 0 0 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .ov-product-page .ovp-benefits span {
    width: auto;
    min-height: 36px;
    padding: 7px 12px;
    flex: 0 0 auto;
    line-height: 16px;
  }
  .ov-product-page .ovp-features {
    gap: 12px;
    padding: 0 0 20px;
  }
  .ov-product-page .ovp-features > div {
    min-height: 40px;
    padding-left: 56px;
  }
  .ov-product-page .ovp-features dt {
    font-size: 15px;
    line-height: 18px;
    letter-spacing: -.3px;
  }
  .ov-product-page .ovp-features dd {
    margin-top: 2px;
    font-size: 14px;
    line-height: 20px;
  }
  .ov-product-page .ovp-detail {
    padding: 0;
    font-size: 16px;
    line-height: 24px;
  }

  .ov-product-page .ovp-viewed {
    padding: 80px 0 40px;
  }
  .ov-product-page .ovp-viewed > .container {
    width: calc(100% - 32px);
  }
  .ov-product-page .ovp-viewed header {
    margin-bottom: 28px;
  }
  .ov-product-page .ovp-viewed h2 {
    font-size: 28px;
    line-height: 28px;
    letter-spacing: -1.12px;
  }
  .ov-product-page .ovp-viewed__track {
    gap: 12px;
  }
  .ov-product-page .ovp-viewed__track .ov-catalog-card {
    width: 284px;
    min-width: 284px;
    height: 451px;
    min-height: 451px;
    border-radius: 36px;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__media {
    aspect-ratio: 1 / .9;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__image {
    inset: 16px;
    width: calc(100% - 32px);
    height: calc(100% - 32px);
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__tags {
    top: 12px;
    left: 12px;
    gap: 6px;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__tag {
    min-height: 24px;
    padding: 4px 8px 5px;
    font-size: 13px;
    line-height: 16px;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__body {
    min-height: 126px;
    padding: 16px;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__title {
    font-size: 18px;
    line-height: 22px;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__description {
    margin: 4px 0 12px;
    font-size: 15px;
    line-height: 1.36;
    -webkit-line-clamp: 2;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__more {
    width: 44px;
    height: 44px;
  }
  .ov-product-page .ovp-viewed .ov-catalog-card__more svg {
    width: 24px;
    height: 24px;
  }
  .ov-product-page .ovp-viewed__slider > .ov-slider__nav {
    position: static;
    margin-top: 20px;
    justify-content: flex-end;
  }
}

/* Default text pages ---------------------------------------------------- */
.ov-text-page,
.ov-text-page * { box-sizing: border-box; }
.ov-text-page { min-height: 60vh; padding: 32px 0 132px; color: #0f172a; background: #fff; }
.ov-text-page .ov-text-page__breadcrumbs.ovp-breadcrumbs { min-height: 28px; padding: 0; overflow: hidden; }
.ov-text-page__article { width: min(988px, 100%); margin: 72px auto 0; }
.ov-text-page__title { max-width: 988px; margin: 0 0 56px; color: #0f172a; font-size: 72px; font-weight: 500; line-height: 72px; letter-spacing: -2.16px; }
.ov-text-page__content { width: min(786px, 100%); color: #3f3f46; }
.ov-text-page__content.def > * { max-width: none; margin: 16px 0; }
.ov-text-page__content.def > *:first-child { margin-top: 0 !important; }
.ov-text-page__content.def > *:last-child { margin-bottom: 0 !important; }
.ov-text-page__content.def h2,
.ov-text-page__content.def h3,
.ov-text-page__content.def h4,
.ov-text-page__content.def h5,
.ov-text-page__content.def h6 { max-width: none; color: #0f172a; font-style: normal; }
.ov-text-page__content.def h2 { margin: 40px 0 16px; font-size: 32px; font-weight: 600; line-height: 36px; letter-spacing: -1px; }
.ov-text-page__content.def h3 { margin: 32px 0 12px; font-size: 24px; font-weight: 600; line-height: 29px; letter-spacing: -.6px; }
.ov-text-page__content.def h4 { margin: 28px 0 10px; font-size: 20px; font-weight: 600; line-height: 25px; letter-spacing: -.3px; }
.ov-text-page__content.def h5,
.ov-text-page__content.def h6 { margin: 24px 0 8px; font-size: 16px; font-weight: 600; line-height: 22px; }
.ov-text-page__content.def p,
.ov-text-page__content.def li { max-width: none; color: #3f3f46; font-size: 16px; font-weight: 400; line-height: 24px; }
.ov-text-page__content.def p + p:not(:has(*)),
.ov-text-page__content.def p:has(*) + p { margin-top: 16px; }
.ov-text-page__content.def strong,
.ov-text-page__content.def b { color: #0f172a; font-weight: 600; }
.ov-text-page__content.def a { color: #f00; text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 2px; }
.ov-text-page__content.def ul,
.ov-text-page__content.def ol { display: flex; margin: 16px 0 24px; padding: 0 0 0 26px; flex-direction: column; gap: 8px; }
.ov-text-page__content.def ul:not(:first-child),
.ov-text-page__content.def ol:not(:first-child) { margin-top: 16px; }
.ov-text-page__content.def ul { list-style: none; }
.ov-text-page__content.def ol { list-style: none; counter-reset: item; }
.ov-text-page__content.def ul > li,
.ov-text-page__content.def ol > li { position: relative; margin: 0; }
.ov-text-page__content.def ul > li::before { top: 9px; left: -20px; width: 6px; height: 6px; content: ''; border-radius: 50%; background: #f00; }
.ov-text-page__content.def ol > li { counter-increment: item; }
.ov-text-page__content.def ol > li::before { position: absolute; top: 0; left: -26px; color: #f00; content: counter(item) '.'; font: 600 16px/24px Inter, sans-serif; }
.ov-text-page__content.def blockquote { margin: 32px 0; padding: 24px 28px; color: #0f172a; border: 1px solid #fbbf24; border-radius: 24px; background: #fff9e8; font-size: 20px; font-weight: 500; line-height: 27px; }
.ov-text-page__content.def blockquote > * { color: inherit; font: inherit; }
.ov-text-page__content.def hr { height: 1px; margin: 40px 0; border: 0; background: rgba(15,23,42,.12); }
.ov-text-page__content.def img { display: block; width: 100%; height: auto; border-radius: 24px; }
.ov-text-page__content.def .table-wrapper { overflow-x: auto; border: 1px solid #fde68a; border-radius: 12px; }
.ov-text-page__content.def table { width: 100%; min-width: 620px; border-collapse: separate; border-spacing: 0; border-radius: 12px; font-size: 14px; line-height: 20px; }
.ov-text-page__content.def table th { padding: 12px 16px; color: #0f172a; border-right: 1px solid rgba(255,255,255,.65); background: #fbbf24; text-align: left; }
.ov-text-page__content.def table td { min-height: 0; padding: 12px 16px; color: #3f3f46; border-right: 1px solid #fde68a; border-bottom: 1px solid #fde68a; background: #fff; }
.ov-text-page__content.def table th:last-child,
.ov-text-page__content.def table td:last-child { border-right: 0; }
.ov-text-page__content.def table tbody tr:last-child td { border-bottom: 0; }

@media (pointer: fine) {
  .ov-text-page__content.def a:hover { color: #e50000; text-decoration: none; }
}

@media (max-width: 1023px) {
  .ov-text-page { padding-bottom: 96px; }
  .ov-text-page__article { margin-top: 56px; }
  .ov-text-page__title { margin-bottom: 40px; font-size: 56px; line-height: 58px; letter-spacing: -1.68px; }
}

@media (max-width: 767px) {
  .ov-text-page { padding: 20px 0 72px; }
  .ov-text-page > .container { padding-right: 16px; padding-left: 16px; }
  .ov-text-page__article { margin-top: 40px; }
  .ov-text-page__title { margin-bottom: 32px; font-size: 40px; line-height: 42px; letter-spacing: -1.2px; }
  .ov-text-page__content.def > * { margin: 12px 0; }
  .ov-text-page__content.def h2 { margin: 30px 0 12px; font-size: 26px; line-height: 30px; letter-spacing: -.7px; }
  .ov-text-page__content.def h3 { margin: 24px 0 10px; font-size: 21px; line-height: 26px; letter-spacing: -.4px; }
  .ov-text-page__content.def h4 { margin: 22px 0 8px; font-size: 18px; line-height: 23px; }
  .ov-text-page__content.def h5,
  .ov-text-page__content.def h6 { margin: 20px 0 8px; font-size: 15px; line-height: 21px; }
  .ov-text-page__content.def p,
  .ov-text-page__content.def li { font-size: 14px; line-height: 21px; }
  .ov-text-page__content.def p + p:not(:has(*)),
  .ov-text-page__content.def p:has(*) + p { margin-top: 12px; }
  .ov-text-page__content.def ul,
  .ov-text-page__content.def ol { margin: 12px 0 20px; padding-left: 22px; gap: 6px; }
  .ov-text-page__content.def ul:not(:first-child),
  .ov-text-page__content.def ol:not(:first-child) { margin-top: 12px; }
  .ov-text-page__content.def ul > li::before { top: 8px; left: -17px; width: 5px; height: 5px; }
  .ov-text-page__content.def ol > li::before { left: -22px; font-size: 14px; line-height: 21px; }
  .ov-text-page__content.def blockquote { margin: 24px 0; padding: 18px 20px; border-radius: 18px; font-size: 17px; line-height: 23px; }
  .ov-text-page__content.def hr { margin: 30px 0; }
  .ov-text-page__content.def img { border-radius: 18px; }
}

/* Certificates page ------------------------------------------------------ */
.ov-certificates-page { overflow: hidden; }

.ov-certificates {
  padding: 132px 0 0;
  background: #fff;
}

.ov-certificates__heading {
  display: flex;
  max-width: 100%;
  margin: 0 auto 40px;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  text-align: center;
}

.ov-certificates__heading h2 {
  margin: 0;
  color: #0f172a;
  font-size: 44px;
  font-weight: 600;
  line-height: 44px;
  letter-spacing: -1.76px;
}

.ov-certificates__heading p {
  max-width: 100%;
  margin: 0;
  color: #64748b;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.6px;
}

.ov-certificates__tabs {
  display: grid;
  margin-bottom: 40px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}

.ov-certificates__tabs button {
  display: flex;
  min-width: 0;
  height: 70px;
  padding: 24px;
  align-items: center;
  justify-content: center;
  color: #111827;
  font: inherit;
  font-size: 20px;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -.4px;
  border: 0;
  border-radius: 20px;
  background: #ffeebf;
  cursor: pointer;
  transition: background-color .2s ease, box-shadow .2s ease;
}

.ov-certificates__tabs button:hover,
.ov-certificates__tabs button.is-active { background: #ffdf88; }
.ov-certificates__tabs button:focus-visible { outline: 3px solid rgba(229,0,0,.28); outline-offset: 2px; }

.ov-certificates__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px 16px;
}

.ov-certificate-card {
  display: flex;
  min-width: 0;
  min-height: 411px;
  flex-direction: column;
  overflow: hidden;
  color: #111827;
  border: 1px solid rgba(229,231,235,.8);
  border-radius: 28px;
  background: #fff;
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease;
}

.ov-certificate-card:hover,
.ov-certificate-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(15,23,42,.1);
  outline: 0;
}

.ov-certificate-card[hidden] { display: none; }

.ov-certificates.is-cert-reveal-ready .ov-certificate-card:not([hidden]) {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition:
    opacity .9s cubic-bezier(.22, 1, .36, 1) var(--cert-reveal-delay, 0ms),
    transform .9s cubic-bezier(.22, 1, .36, 1) var(--cert-reveal-delay, 0ms);
  will-change: opacity, transform;
}

.ov-certificates.is-cert-reveal-ready .ov-certificate-card.is-cert-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .ov-certificates.is-cert-reveal-ready .ov-certificate-card:not([hidden]) {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ov-certificate-card__preview {
  position: relative;
  width: 100%;
  height: 244px;
  flex: 0 0 244px;
  overflow: hidden;
  background: #fff;
  border-radius: 28px 28px 0 0;
}

.ov-certificate-card__preview > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: .7;
}

.ov-certificate-card__shade {
  position: absolute;
  inset: 0;
  background: rgba(17,24,39,.2);
}

.ov-certificate-card__open {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: 40px;
  height: 40px;
  padding: 0;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.9);
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
  backdrop-filter: blur(2px);
  transform: translate(-50%,-50%);
  cursor: pointer;
}

.ov-certificate-card__open img { display: block; width: 20px; height: 20px; }

.ov-certificate-card__body {
  display: flex;
  min-height: 0;
  padding: 20px;
  flex: 1 1 auto;
  flex-direction: column;
}

.ov-certificate-card__body h3 {
  display: block;
  min-height: 38.5px;
  margin: 0 0 12px;
  overflow-wrap: anywhere;
  color: #111827;
  font-size: 14px;
  font-weight: 500;
  line-height: 19.25px;
}

.ov-certificate-card__meta {
  display: flex;
  height: 32px;
  padding-bottom: 16px;
  align-items: center;
  gap: 8px;
  color: #6b7280;
  font-size: 12px;
  line-height: 16px;
}

.ov-certificate-card__meta span { display: inline-flex; align-items: center; gap: 4px; }
.ov-certificate-card__meta img { display: block; width: 16px; height: 16px; object-fit: contain; }
.ov-certificate-card__meta i { width: 4px; height: 4px; background: #d1d5db; border-radius: 50%; }

.ov-certificate-card__download {
  display: flex;
  width: 100%;
  margin-top: auto;
  flex-shrink: 0;
  height: 44px;
  padding: 10px 16px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #e50000;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  text-decoration: none;
  border-radius: 999px;
  background: rgba(15,23,42,.07);
  transition: background-color .2s ease;
}

.ov-certificate-card__download:hover { color: #e50000; background: rgba(15,23,42,.12); }
.ov-certificate-card__download img { display: block; width: 24px; height: 24px; padding: 4.5px; object-fit: contain; }
.ov-certificate-card__download.is-disabled { opacity: .55; cursor: default; }

.ov-certificates__more-wrap { display: flex; padding-top: 40px; justify-content: center; }
.ov-certificates__more { height: 56px; padding: 0 32px; gap: 4px; }
.ov-certificates__more img { display: block; width: 24px; height: 24px; padding: 4px 1.4px; object-fit: contain; }
.ov-certificates__more[hidden] { display: none; }

body.is-certificate-modal-open { overflow: hidden; }

.ov-certificate-modal[hidden] { display: none; }
.ov-certificate-modal {
  position: fixed;
  z-index: 12000;
  inset: 0;
  display: flex;
  padding: 39px 16px;
  align-items: center;
  justify-content: center;
  background: rgba(17,24,39,.2);
}

.ov-certificate-modal__dialog {
  position: relative;
  display: grid;
  width: 768px;
  max-width: 100%;
  height: calc(100dvh - 78px);
  max-height: 922px;
  grid-template-rows: auto auto minmax(0,1fr) auto;
  overflow: hidden;
  border-radius: 32px;
  background: url(/wp-content/themes/theme-sp/img/ovostar-pages/certificate-modal-bg.jpg) center / cover no-repeat;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,.25);
}

.ov-certificate-modal__decor {
  position: absolute;
  z-index: 0;
  right: -12%;
  bottom: -1%;
  width: 190%;
  height: 98%;
  background: url('../img/ovostar-pages/certificate-modal-bg.svg') center bottom / 100% 100% no-repeat;
  pointer-events: none;
}

.ov-certificate-modal__header,
.ov-certificate-modal__document,
.ov-certificate-modal__footer { position: relative; z-index: 1; }

.ov-certificate-modal__header {
  display: flex;
  padding: 24px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.ov-certificate-modal__header h3 {
  margin: 0;
  min-width: 0;
  flex: 1;
  color: #111827;
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  letter-spacing: -.5px;
  overflow-wrap: anywhere;
  white-space: normal;
}

.ov-certificate-modal__toolbar { display: flex; padding: 0 24px 12px; align-items: center; flex-wrap: wrap; gap: 8px; }
.ov-certificate-modal__toolbar button { min-width: 40px; min-height: 40px; padding: 8px 12px; border: 0; border-radius: 10px; background: #fff; color: #111827; font: inherit; cursor: pointer; }
.ov-certificate-modal__toolbar button { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; }
.ov-certificate-modal__toolbar button span { font-size: 24px; line-height: 24px; }
.ov-certificate-modal__toolbar a { margin-left: auto; color: #111827; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
.ov-certificate-modal__toolbar a[hidden] { display: none; }
.ov-certificate-modal__toolbar :is(button,a):focus-visible { outline: 2px solid #f00; outline-offset: 2px; }

.ov-certificate-modal__close {
  display: flex;
  width: 40px;
  height: 40px;
  padding: 0;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: #f9fafb;
  cursor: pointer;
}

.ov-certificate-modal__close img { display: block; width: 24px; height: 24px; }

.ov-certificate-modal__document {
  display: flex;
  min-height: 0;
  padding: 12px 40px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ov-certificate-modal__paper {
  width: 483px;
  flex: 0 0 auto;
  max-width: none;
  height: auto;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid #e5e7eb;
  border-radius: 0;
  background: #fff;
  box-shadow: 0 1px 2px rgba(0,0,0,.05);
}

.ov-certificate-modal__paper img { display: block; width: 100%; height: auto; max-width: none; cursor: zoom-in; }

.ov-certificate-modal__footer {
  display: flex;
  padding: 24px;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.ov-certificate-modal__footer p {
  display: flex;
  min-width: 0;
  flex: 1;
  margin: 0;
  align-items: center;
  gap: 12px;
  color: rgba(15,23,42,.7);
  font-size: 14px;
  line-height: 20px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ov-certificate-modal__footer p span { min-width: 0; }
.ov-certificate-modal__footer p img { display: block; width: 20px; height: 20px; flex: 0 0 20px; }

/* Full-size document viewer: zoom/pan like the old site, without scrollbars. */
.ov-certificate-lightbox.fancybox__container { z-index: 13000; --fancybox-bg: rgba(17,24,39,.94); }
.ov-certificate-lightbox .fancybox__slide { overflow: hidden; }
.ov-certificate-lightbox .fancybox__caption { overflow-wrap: anywhere; white-space: normal; }

.ov-certificate-modal__download {
  display: flex;
  height: 48px;
  padding: 12px 20px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  text-decoration: none;
  border-radius: 999px;
  background: #f00;
}

.ov-certificate-modal__download:hover { color: #fff; background: #e50000; }
.ov-certificate-modal__download img { display: block; width: 24px; height: 24px; padding: 4.5px; object-fit: contain; }
.ov-certificate-modal__download.is-disabled { opacity: .55; pointer-events: none; }

@media (max-width: 1023px) and (min-width: 768px) {
  .ov-certificates__tabs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .ov-certificates__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .ov-certificates { padding: 80px 0 40px; }
  .ov-certificates > .container { padding-right: 16px; padding-left: 16px; }

  .ov-certificates__heading { margin-bottom: 28px; gap: 20px; }
  .ov-certificates__heading h2 { font-size: 28px; line-height: 28px; letter-spacing: -1.12px; }
  .ov-certificates__heading p { width: 100%; font-size: 17px; line-height: 1.3; letter-spacing: -.51px; }

  .ov-certificates__tabs { display: flex; margin-bottom: 28px; flex-direction: column; gap: 12px; }
  .ov-certificates__tabs button { width: 100%; height: 70px; flex: 0 0 70px; }
  .ov-certificates__grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .ov-certificates__more-wrap { padding-top: 28px; }

  .ov-certificate-modal { padding: 16px; align-items: flex-start; }
  .ov-certificate-modal__dialog {
    width: 343px;
    height: calc(100dvh - 32px);
    max-height: 743px;
    grid-template-rows: auto auto minmax(0,1fr) auto;
    border-radius: 24px;
  }

  .ov-certificate-modal__decor { right: -46%; bottom: -3%; width: 260%; height: 90%; }
  .ov-certificate-modal__header { padding: 24px; align-items: flex-start; }
  .ov-certificate-modal__header h3 {
    display: block;
    max-width: 227px;
    overflow-wrap: anywhere;
    line-height: 28px;
    text-overflow: initial;
    white-space: normal;
  }

  .ov-certificate-modal__document { padding: 12px 16px; }
  .ov-certificate-modal__paper { width: 311px; max-height: none; border-radius: 0; }
  .ov-certificate-modal__toolbar { padding: 0 16px 8px; gap: 6px; }
  .ov-certificate-modal__toolbar a { margin-left: 0; }

  .ov-certificate-modal__footer {
    padding: 24px;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 12px;
  }

  .ov-certificate-modal__download { width: 100%; }
}

/* Production page */
.ov-production-page { overflow: hidden; }
.ov-production-page__video .ov-section__head { max-width: 620px; }
.ov-production-page__video .ov-production__media { margin-top: 0; }
.ov-production-page .ov-inner-heading em,
.ov-production-page .ov-production-quality strong { color: var(--ov-red); font-style: normal; font-weight: inherit; }
.ov-production-page .ov-production-quality strong {
  background: linear-gradient(252deg,#e50000 -1.03%,#facc15 81.18%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ov-production-intro > .container-full,
.ov-production-structure > .container-full,
.ov-production-safety > .container-full { max-width: 1412px; }
.ov-production-intro .ov-operation-row,
.ov-production-structure .ov-operation-row { min-height: 546px; }
.ov-production-intro .ov-operation-row__image,
.ov-production-structure .ov-operation-row__image { min-height: 546px; }

.ov-production-benefits {
  min-height: 802px;
  margin-top: 132px;
  padding: 132px 0 174px;
  color: #fff;
  background: url(/wp-content/themes/theme-sp/img/ovostar-pages/vurob-a-bg.jpg) center bottom / cover no-repeat;
}
.ov-production-benefits .ov-inner-heading { margin-bottom: 56px; }
.ov-production-benefits .ov-inner-heading h2,
.ov-production-benefits .ov-inner-heading p { color: #fff; }
.ov-production-benefits .ov-inner-heading h2 { max-width: 493px; margin-right: auto; margin-left: auto; line-height: 44px; letter-spacing: -1.76px; }
.ov-production-benefits .ov-inner-heading p { margin-top: 24px; }
.ov-production-benefits__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.ov-production-benefits__grid article {
  display: flex;
  height: 290px;
  padding: 24px;
  flex-direction: column;
  color: var(--ov-ink);
  background: #fff;
  border-radius: 28px;
}
.ov-production-benefits__grid img {
  display: block;
  width: 44px;
  height: 44px;
  padding: 7px;
  object-fit: contain;
  background: linear-gradient(90deg, #f97316 0%, #ef4444 100%);
  border-radius: 8px;
}
.ov-production-benefits__grid h3 {
  width: 100%;
  margin: 16px 0 0;
  padding-bottom: 24px;
  color: #0f172a;
  font-size: 19px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -.19px;
  border-bottom: 2px solid #fde092;
}
.ov-production-benefits__grid article:first-child h3 { padding-bottom: 20px; }
.ov-production-benefits__grid span { display: none; }
.ov-production-benefits__grid p { margin: 0; padding-top: 20px; color: #4b5563; font-size: 14px; line-height: 22.75px; }


.ov-production-quality__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.ov-production-quality__grid article { display: flex; min-height: 162px; padding: 24px; flex-direction: column; background: #FFEEBF; border-radius: 20px; }
.ov-production-quality__grid article > span { display: grid; width: 48px; height: 48px; place-items: center; background: linear-gradient(90deg, #F97316 0%, #EF4444 100%); border-radius: 12px; }
.ov-production-quality__grid img { width: 28px; height: 28px; object-fit: contain; }
.ov-production-quality__grid h3 { margin: 16px 0 0; font-size: 15px; font-weight: 500; line-height: 22px; letter-spacing: -.32px; color: #111827;}

.ov-production-structure .ov-inner-heading { max-width: 820px; }
.ov-production-structure .ov-inner-heading p { max-width: 790px; }
.ov-production-safety .ov-inner-heading { max-width: 920px; }
.ov-production-safety .ov-inner-heading p { max-width: 790px; }
.ov-production-safety .ov-operation-row { min-height: 590px; }
.ov-production-safety .ov-operation-row__image { min-height: 590px; }
.ov-production-safety .ov-operation-row__copy { padding-top: 56px; padding-bottom: 56px; }

.ov-production-gallery .ov-inner-heading { max-width: 600px; margin-bottom: 40px; }
.ov-production-gallery__slider { width: 100%; }
.ov-production-gallery__slider .ov-slider__track { gap: 16px; }
.ov-production-gallery__slider figure { flex: 0 0 calc((100% - 32px)/3); height: 342px; margin: 0; overflow: hidden; scroll-snap-align: start; background: #f4f4f5; border-radius: 36px; }
.ov-production-gallery__slider figure a {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease;}
.ov-production-gallery__slider figure img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ov-production-gallery__slider figure:hover img { transform: scale(1.025); }
.ov-production-more { display: none; }

@media (max-width: 1023px) {
  .ov-production-benefits__grid,
  .ov-production-quality__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ov-production-safety .ov-operation-row { min-height: 520px; }
  .ov-production-safety .ov-operation-row__image { min-height: 520px; }
}

@media (max-width: 767px) {
  .ov-production-page__video { padding-top: 80px; }
  .ov-production-page__video .ov-section__head { margin-bottom: 28px; }
  .ov-production-page__video .ov-section__head h2 { font-size: 29px; line-height: 32px; letter-spacing: -1.16px; }
  .ov-production-page__video .ov-section__head p { margin-top: 12px; font-size: 14px; line-height: 20px; }
  .ov-production-page__video .ov-production__media { aspect-ratio: 343/193; padding: 8px; border-radius: 28px; }
  .ov-production-page__video .ov-production__media img { border-radius: 22px; }
  .ov-production-page__video .ov-production__media small { right: 20px; bottom: 20px; left: 20px; width: fit-content; max-width: calc(100% - 80px); padding: 6px 10px; }
  .ov-production-page__video .ov-production__media time { right: 20px; bottom: 26px; }

  .ov-production-intro,
  .ov-production-quality,
  .ov-production-structure,
  .ov-production-safety,
  .ov-production-gallery { padding-top: 80px; }
  .ov-production-intro > .container-full,
  .ov-production-structure > .container-full,
  .ov-production-safety > .container-full { padding: 0 16px; }
  .ov-production-intro .ov-operation-row,
  .ov-production-structure .ov-operation-row,
  .ov-production-safety .ov-operation-row { min-height: 0; }
  .ov-production-intro .ov-operation-row__copy,
  .ov-production-structure .ov-operation-row__copy,
  .ov-production-safety .ov-operation-row__copy { min-height: 365px; padding: 32px 24px; }
  .ov-production-intro .ov-operation-row__image,
  .ov-production-structure .ov-operation-row__image { height: 422px; min-height: 422px; }
  .ov-production-safety .ov-operation-row__image { height: 360px; min-height: 360px; }
  .ov-production-page .ov-operation-row__icon { width: 40px; height: 40px; margin-bottom: 18px; }
  .ov-production-page .ov-operation-row h3 { font-size: 22px; line-height: 27px; }
  .ov-production-page .ov-operation-row p { font-size: 13px; line-height: 19px; transition: max-height .3s ease; }
  .ov-production-page .ov-operation-row__copy.is-expanded p { max-height: 600px; }
  .ov-production-more { display: inline-flex; width: 100%; min-height: 40px; margin-top: 20px; padding: 8px 18px; align-items: center; justify-content: center; gap: 8px; color: #0f172a; font: 500 13px/20px Inter,sans-serif; background: var(--ov-yellow); border: 0; border-radius: 999px; cursor: pointer; }
  .ov-production-more b { font-size: 18px; font-weight: 400; line-height: 1; transition: transform .2s ease; }
  .ov-operation-row__copy.is-expanded .ov-production-more b { transform: rotate(-90deg); }

  .ov-production-benefits { min-height: 590px; margin-top: 80px; padding: 64px 0; }
  .ov-production-benefits .ov-inner-heading { margin-bottom: 28px; }
  .ov-production-benefits .ov-inner-heading h2 { font-size: 29px; line-height: 32px; letter-spacing: -1.16px; }
  .ov-production-benefits .ov-inner-heading p { font-size: 14px; line-height: 20px; }
  .ov-production-benefits__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .ov-production-benefits__grid article { height: auto; min-height: 132px; padding: 16px; border-radius: 20px; }
  .ov-production-benefits__grid img { width: 36px; height: 36px; padding: 6px; }
  .ov-production-benefits__grid h3 { margin: 16px 0 0; padding-bottom: 0; font-size: 16px; line-height: 20px; letter-spacing: -.32px; border-bottom: 0; }
  .ov-production-benefits__grid article:first-child h3 { padding-bottom: 0; }
  .ov-production-benefits__grid span,
  .ov-production-benefits__grid p { display: none; }

  .ov-production-quality .ov-inner-heading,
  .ov-production-structure .ov-inner-heading,
  .ov-production-safety .ov-inner-heading { margin-bottom: 28px; }
  .ov-production-quality__grid { grid-template-columns: 1fr; gap: 8px; }
  .ov-production-quality__grid article { min-height: 56px; padding: 8px 12px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; border-radius: 14px; }
  .ov-production-quality__grid article > span { width: 40px; height: 40px; flex: 0 0 40px; border-radius: 10px; }
  .ov-production-quality__grid img { width: 24px; height: 24px; }
  .ov-production-quality__grid h3 { margin: 0; font-size: 13px; line-height: 18px; }

  .ov-production-gallery .ov-inner-heading { margin-bottom: 28px; }
  .ov-production-gallery__slider { margin-right: -16px; }
  .ov-production-gallery__slider .ov-slider__track { gap: 12px; padding-right: 16px; }
  .ov-production-gallery__slider figure { flex-basis: 284px; height: 252px; border-radius: 28px; }
  .ov-production-gallery__slider .ov-slider__nav { padding-right: 16px; }
}

.pg__i._first a, .pg__i._prev a, .pg__i._next a, .pg__i._last a {
  width: 24px;
  height: 24px;
  border-radius: 0;
  border: none;
  padding: 0;
}
.pg__i:not(._first, ._prev, ._next, ._last) a:hover {
  color: #0F172A;
}

/* Catalogue ------------------------------------------------------------- */
.ov-catalog {
  position: relative;
  z-index: 1;
  padding: 56px 0 104px;
  overflow: hidden;
  background: url(/wp-content/themes/theme-sp/img/ovostar-categ/categ-bottom.jpg) center bottom / 100% no-repeat;
}

.ov-catalog.ov-catalog--short { background: transparent; }

.ov-catalog > .container { position: relative; z-index: 1; }

.ov-catalog .cgm__r {
  display: grid;
  grid-template-columns: 204px minmax(0, 1fr);
  gap: 36px;
  align-items: start;
}

.ov-catalog .cgm__lt,
.ov-catalog .cgm__rt { grid-column: auto; }

.ov-catalog .cgm__rt { display: grid; gap: 16px; }
.ov-catalog .cgm__fr-w { position: sticky; top: 92px; }
.ov-catalog .cgm__fr-t { display: none; }
.ov-catalog .cgm__fr { display: grid; gap: 28px; }

.ov-catalog .cgm__fr-i {
  padding: 0;
  border-radius: 0;
  background: transparent;
  cursor: default;
}

.ov-catalog .cgm__fr-i-t {
  display: block;
  min-height: 0;
  pointer-events: none;
  color: #111827;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -0.35px;
  text-transform: uppercase;
}

.ov-catalog .cgm__fr-i-t::after { display: none; }

.ov-catalog .cgm__fr-i-l {
  display: grid !important;
  gap: 15px;
  margin-top: 20px;
}

.ov-catalog .cgm__fr-i-checkbox { width: 100%; }
.ov-catalog .b-checkbox:hover { color: var(--ov-red); }

.ov-catalog .b-checkbox__text {
  gap: 8px;

  color: #29292F;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
}

.ov-catalog .b-checkbox__text::before {
  width: 16px;
  height: 16px;
  border: 1px solid rgba(15, 23, 42, 0.24);
  border-radius: 2px;
  background: #fff;
}

.ov-catalog .b-checkbox__text::after {
  left: 1px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: #fff;
}

.ov-catalog .b-checkbox__input:checked + .b-checkbox__text::before {
  border-color: var(--ov-red);
  background: linear-gradient(90deg, #F97316 0%, #EF4444 100%);
}

.ov-catalog__filter-btn { display: none; }

.ov-catalog .cgm__pick {
  display: flex;
  min-height: 28px;
  padding: 0;
  gap: 8px;
  border-radius: 0;
  background: transparent;
}

.ov-catalog .cgm__pick:not(._active) { display: none; }
.ov-catalog .cgm__pick-t { display: none; }
.ov-catalog .cgm__pick-l { gap: 8px; }

.ov-catalog .cgm__pick-i {
  appearance: none;
  min-height: 26px;
  margin: 0;
  padding: 4px 12px 5px 12px;;

  color: #FFF;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  border-radius: 9999px;
  border: none;
  background: linear-gradient(90deg, #F97316 0%, #EF4444 100%);
}

.ov-catalog .cgm__pick-i::after {
  width: 14px;
  height: 14px;
  background: #FFF;
  mask-image: url(../img/ovostar/pick-close.svg);
  -webkit-mask-image: url(../img/ovostar/pick-close.svg);
}

.ov-catalog .cgm__pick-clear {
  margin-left: 8px;
  padding: 4px 0;
  color: #71717A;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  text-decoration: underline;
}

.ov-catalog .cgm__pick-clear::after { display: none; }

.ov-catalog .cgm__m {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  padding: 0;
  align-items: stretch;
}

.ov-catalog-card {
  display: flex;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  flex-direction: column;
  border: 1px solid rgba(15, 23, 42, .08);
  background: #fff;
  box-shadow: 0 1px 0 rgba(15, 23, 42, .02);
  border-radius: 36px;
}

.ov-catalog-card._out-of-stock { opacity: .5 !important; }

.ov-catalog-card__media {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 0.9;
  overflow: hidden;
  background: #FFFAEB;
}

.ov-catalog-card__image {
  position: absolute;
  inset: 16px;
  display: block;
  width: calc(100% - 32px);
  height: calc(100% - 32px);
  object-fit: contain;
  transition: transform .35s ease;
}

.ov-catalog-card:hover .ov-catalog-card__image { transform: scale(1.04); }

.ov-catalog-card__tags {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  max-width: calc(100% - 20px);
  gap: 6px;
}

.ov-catalog-card__tag {
  display: inline-flex;
  min-height: 24px;
  padding: 4px 8px 5px;
  align-items: center;
  border-radius: 999px;
  color: #fff;
  gap: 4px;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  backdrop-filter: blur(6px);
}

.ov-catalog-card__tag--blue { background: rgba(0, 145, 255, 0.90); }
.ov-catalog-card__tag--dark-blue { background: rgba(0, 119, 209, 0.90); }
.ov-catalog-card__tag--red { background: var(--ov-red-dark); }

.ov-catalog-card__body {
  position: relative;
  display: flex;
  min-height: 126px;
  padding: 16px;
  flex: 1;
  flex-direction: column;
}

.ov-catalog-card__title {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ov-ink);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.ov-catalog-card__description {
  display: -webkit-box;
  margin: 4px 0 12px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #71717A;

  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 136%; /* 20.4px */
  letter-spacing: -0.3px;
}

.ov-catalog-card__more {
  display: flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  margin: auto 0 0 auto;
  background: var(--ov-red);
  transition: transform .2s ease, background-color .2s ease;
}

.ov-catalog-card__more:hover { color: #fff; background: var(--ov-red-dark); transform: translateX(2px); }

.ov-catalog .cgm__nav { margin-top: 36px; }
.ov-catalog .cgm__nav [data-more] { display: none !important; }
.ov-catalog .pg { gap: 10px; }
.ov-catalog .pg__i:not(._first, ._prev, ._next, ._last) a,
.ov-catalog .pg__i:not(._first, ._prev, ._next, ._last) span {
  min-width: 36px;
  min-height: 36px;
  border-radius: 50%;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
}

.ov-catalog .pg__i._active span { color: #fff; background: var(--ov-ink); }

[data-pp="ppFilter"].fancybox__content {
  width: min(390px, 100vw);
  max-width: 390px;
  height: 100vh;
  padding: 24px 22px 92px;
  border-radius: 0;
  background: #fff;
}

[data-pp="ppFilter"].fancybox__content .cgm__fr-t {
  min-height: 32px;
  margin: 0 0 28px;
  justify-content: center;
  color: var(--ov-ink);
  font-size: 14px;
  font-weight: 500;
}

[data-pp="ppFilter"].fancybox__content .cgm__fr-close { position: absolute; left: 0; }
[data-pp="ppFilter"].fancybox__content .cgm__pick { display: none; }
[data-pp="ppFilter"].fancybox__content .cgm__fr { display: grid; max-height: 100%; gap: 28px; overflow-y: auto; }
[data-pp="ppFilter"].fancybox__content .cgm__fr-i { padding: 0; border-radius: 0; background: transparent; }
[data-pp="ppFilter"].fancybox__content .cgm__fr-i-t { min-height: 0; font-size: 11px; font-weight: 700; text-transform: uppercase; }
[data-pp="ppFilter"].fancybox__content .cgm__fr-i-t::after { display: none; }
[data-pp="ppFilter"].fancybox__content .cgm__fr-i-l { display: grid !important; gap: 14px; margin-top: 14px; }
[data-pp="ppFilter"].fancybox__content .cgm__fr-i-checkbox { width: 100%; }
[data-pp="ppFilter"].fancybox__content .b-checkbox__text { font-size: 13px; }
[data-pp="ppFilter"].fancybox__content .b-checkbox__input:checked + .b-checkbox__text::before { border-color: var(--ov-red); background: var(--ov-red); }
[data-pp="ppFilter"].fancybox__content .cgm__fr-show { display: block; padding: 16px 22px; border-radius: 0; box-shadow: 0 -8px 24px rgba(15, 23, 42, .08); }
[data-pp="ppFilter"].fancybox__content .cgm__fr-show .btn-primary { min-height: 52px; border-radius: 999px; background: var(--ov-red); }

@media (max-width: 1023.5px) {
  .ov-catalog { padding: 32px 0 80px; }
  .ov-catalog .cgm__r { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .ov-catalog .cgm__rt { gap: 12px; }
  .ov-catalog__filter-btn {
    display: flex;
    width: 100%;
    min-height: 48px;
    padding: 0 18px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0;
    border-radius: 999px;
    color: var(--ov-red);
    background: rgba(15, 23, 42, .06);
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
  }
  .ov-catalog__filter-count {
    display: inline-flex;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: var(--ov-red);
    font-size: 11px;
  }
  .ov-catalog .cgm__m { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
}

@media (max-width: 767.5px) {
  .ov-catalog {
    padding: 24px 0 64px;
  }
  .ov-catalog .container { padding-right: 12px; padding-left: 12px; }
  .ov-catalog .cgm__pick { align-items: flex-start; }
  .ov-catalog .cgm__pick-l { width: 100%; }
  .ov-catalog .cgm__pick-clear { margin-left: 0; }
  .ov-catalog .cgm__m { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ov-catalog-card { border-radius: 16px; }
  .ov-catalog-card__media { aspect-ratio: 1 / 1.12; }
  .ov-catalog-card__image { inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); }
  .ov-catalog-card__tags { top: 7px; left: 7px; gap: 3px; }
  .ov-catalog-card__tag { min-height: 17px; padding: 3px 6px; font-size: 7px; }
  .ov-catalog-card__body { min-height: 106px; padding: 10px 38px 12px 10px; }
  .ov-catalog-card__title { font-size: 12px; line-height: 1.25; }
  .ov-catalog-card__description { margin-top: 4px; font-size: 8px; line-height: 1.35; -webkit-line-clamp: 3; }
  .ov-catalog-card__more { right: 8px; bottom: 8px; width: 28px; height: 28px; }
  .ov-catalog-card__more svg { width: 14px; height: 14px; }
  .ov-catalog .cgm__nav { margin-top: 28px; }
}

.ov-motion-ready .ov-reveal.is-ov-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

.ov-motion-ready .ov-reveal.ov-reveal-card { transform: translate3d(0, 24px, 0); }
.ov-motion-ready .ov-reveal.ov-reveal-card.is-ov-visible { transform: translate3d(0, 0, 0); }

.ov-motion-ready .ov-image-reveal {
  opacity: 0;
  transform: scale(1.075);
  transition:
    opacity .9s cubic-bezier(.22, 1, .36, 1),
    transform 1.35s cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.ov-motion-ready .ov-image-reveal.is-ov-visible {
  opacity: 1;
  transform: scale(1);
  will-change: auto;
}

.ov-article-single__cover > img.ov-image-reveal,
.ov-article-single__main-image > img.ov-image-reveal {
  opacity: 0;
  transform: scale(1.075);
  transition:
    opacity .9s cubic-bezier(.22, 1, .36, 1),
    transform 1.35s cubic-bezier(.16, 1, .3, 1);
  will-change: opacity, transform;
}

.ov-motion-ready .ov-article-single__cover > img.ov-image-reveal.is-ov-visible,
.ov-motion-ready .ov-article-single__main-image > img.ov-image-reveal.is-ov-visible,
.ov-motion-reduced .ov-article-single__cover > img.ov-image-reveal,
.ov-motion-reduced .ov-article-single__main-image > img.ov-image-reveal {
  opacity: 1;
  transform: scale(1);
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .ov-reveal,
  .ov-image-reveal,
  .ov-person { opacity: 1 !important; transform: none !important; transition: none !important; }
}

.fancybox__container {
  --fancybox-bg: rgba(0, 0, 0, 0.38);
}

/* General */
@font-face {
  font-family: "Inter";
  src: url("../fonts/Inter-VariableFont_opsz,wght.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

.b-t, .pg__i, .btn-primary, .btn-tr {
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
}

body.home {
  color: #0F172A;
  background: #fff;
}

.ov-fixed-contact {
  position: fixed;
  z-index: 90;
  top: 160px;
  right: 0;
  min-height: 52px;
  padding: 8px 0 8px 8px;
  border-radius: 100px 0 0 100px;
  background: rgba(255, 0, 0, 0.36);
  backdrop-filter: blur(5px);

}
.ov-fixed-contact > span {
  display: flex;
  padding: 6px 20px 6px 6px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px 0 0 100px;
  border: 1px solid #FFAE00;
  background: #FFF;
}
.ov-fixed-contact > span > span:first-child {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  background: var(--ov-red);
  width: 40px;
  height: 40px;
  transform-origin: 50% 50%;
  animation: ov-contact-wiggle 4.6s ease-in-out infinite;
  will-change: transform;
}

@keyframes ov-contact-wiggle {
  0%, 72%, 100% { transform: rotate(0deg); }
  78% { transform: rotate(-9deg); }
  84% { transform: rotate(9deg); }
  90% { transform: rotate(-6deg); }
  96% { transform: rotate(4deg); }
}
.ov-fixed-contact > span > span:last-child {
  color: #0F172A;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
}


.ov-section__head em,
.ov-about h2 em { color: #F00; font-style: normal; }

.ov-slider__nav button:disabled {pointer-events: none}

.ov-slider__nav button:disabled svg { opacity: .4; cursor: default; }

:root {
  --ov-red: #F00;
  --ov-red-dark: #E50000;
  --ov-grey: rgba(15, 23, 42, 0.07);
  --ov-grey-dark: rgba(15, 23, 42, 0.10);
  --ov-yellow: #FB3;
  --ov-orange: #F4A300;
  --ov-ink: #0F172A;
  --ov-muted: #64748B;
  --ov-line: #e9e7e5;
  --ov-radius: 28px;
}

html,
body {
  background: #fff;
  color: var(--ov-ink);
  font-family: "Inter", Arial, sans-serif;
  font-optical-sizing: auto;
}

body.page-template-front-page .main,
body.home .main {
  overflow: hidden;
}

.container-full {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1980px;
  margin: 0 auto;
  padding: 0 8px;
}

.container {
  position: relative;
  display: block;
  width: 100%;
  max-width: 1212px;
  margin: 0 auto;
  padding: 0 12px;
}

.bodyWr {
  padding-top: 60px;
}

.ov-home *,
.ov-contact * {
  box-sizing: border-box;
}

.ov-section__head h2 em,
.ov-about h2 em {
  color: var(--ov-red);
  font-style: normal;
}

.ov-section__head--center {
  margin: 0 auto 40px;
  text-align: center;
}

.ov-section__head--center p {
  margin-right: auto;
  margin-left: auto;
}

.ov-section__head--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 40px;
}

.ov-btn {
  display: inline-flex;
  min-height: 56px;
  padding: 0 24px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: var(--ov-ink);
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  text-decoration: none;
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  transition: transform .2s ease, background-color .2s ease;
}

.ov-btn span {
  font-size: 23px;
  font-weight: 300;
}

.ov-btn--red {
  color: #fff;
  background: var(--ov-red);
}

.ov-btn--red:hover {
  background: var(--ov-red-dark);
}

.ov-btn--light {
  color: var(--ov-ink);
  background: #fff;
}

.ov-btn--yellow {
  background: var(--ov-yellow);
}
.ov-btn--yellow:hover {
  background: var(--ov-orange);
}

.ov-home {
  padding-top: 0;
}

.ov-section {
  position: relative;
  padding: 132px 0 0;
}

.ov-section__head h2,
.ov-contact h2,
.ov-about h2 {
  margin: 0;
  color: var(--ov-ink);
  font-style: normal;
  font-size: 44px;
  font-weight: 600;
  line-height: 44px;
  letter-spacing: -1.32px;
}

.ov-section__head p {
  font-weight: 500;
  margin: 20px 0 0;
  color: var(--ov-muted);
  font-size: 20px;
  line-height: 130%;
  letter-spacing: -0.6px;
}

.ov-slider {
  position: relative;
}

.ov-slider__track {
  display: flex;
  gap: 16px;
  overflow: visible;
  scroll-behavior: smooth;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  transition: transform .45s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.ov-slider__track::-webkit-scrollbar {
  display: none;
}

@media (min-width: 768px) {
  .ov-slider[data-ov-drag].is-draggable .ov-slider__track {
    cursor: grab;
    user-select: none;
  }

  .ov-slider[data-ov-drag].is-draggable .ov-slider__track.is-dragging {
    cursor: grabbing;
    transition: none;
  }

  .ov-slider[data-ov-drag] .ov-slider__track img {
    -webkit-user-drag: none;
  }
}

.ov-slider__nav {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 28px;
}

.ov-slider__nav button {
  display: grid;
  width: 48px;
  height: 48px;
  padding: 0;
  place-items: center;
  background: rgba(15, 23, 42, 0.05);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease;
}

.ov-slider__nav button:not(:disabled):hover {
  color: #fff;
  background: var(--ov-red);
}

.ov-slider__nav button:not(:disabled):hover path {
  fill: #fff;
}

/* Header and dropdown navigation */
.h-main,
.h-main__w {
  height: 60px;
}

.h-main__logo,
.h-main__rt {
  width: auto;
  background: transparent;
}

.h-main__w > .h-main__rt:first-of-type {
  margin-left: auto;
}

.lang__main {
  padding: 10px;
  margin-right: 10px;
  height: initial;
  width: initial;
}

.h-main__nav-a,
.lang__cur,
.lang__i a {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
  letter-spacing: -0.28px;
}

.lang__cur {
  position: relative;
  padding-right: 22px;
}

.lang__cur:after {
  position: absolute;
  top: 1px;
  right: 0;
  width: 18px;
  height: 18px;
  content: '';
  background: no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%230F172A' stroke-width='1.5'/%3E%3C/svg%3E");
}

.h-main__w > .h-main__rt:last-of-type {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.h-main__clb.ov-btn {
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  padding: 10px 16px;
  min-height: 44px;
}

.h-main__btn.btn-tr .btn-tr__t {
  color: inherit;
  font-size: 12px;
}

.header {
  position: fixed !important;
  width: 100%;
  animation: none !important;
  transform: none !important;
  border-bottom: none;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  height: 60px;
  padding: 0;
  background: #fff;
  box-shadow: none;
}

.h-main,
.h-main > .container-full,
.h-main__w { height: 60px; }

.h-main > .container-full { padding-right: 8px; padding-left: 8px; }

.h-main__w {
  display: flex;
  align-items: center;
  gap: 18px;
}

.h-main__logo {
  display: flex;
  flex: 0 0 128px;
  width: 128px;
  height: 36px;
  padding: 0;
  align-items: center;
  justify-content: center;
}

.h-main__logo-img {
  object-fit: contain;
  aspect-ratio: 108 / 17;
  width: 108px;
  height: auto;
}

.h-main__rt { display: flex; min-width: 0; align-items: center; gap: 14px; }

.h-main__rt:first-of-type { flex: 1 1 auto; justify-content: center; }

.h-main__rt:last-of-type { flex: 0 0 auto; }

.h-main__nav { display: block !important; }

.h-main__nav-l {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1vw, 24px);
}

.h-main__nav-a { position: relative; display: inline-flex; color: var(--ov-ink); font-size: 15px; font-weight: 500; line-height: 20px; letter-spacing: -.45px; white-space: nowrap; }

.h-main__nav-a:hover { color: #E50000; }

.h-main__nav-a._drop:hover { color: #E50000; }

.h-main__nav-a._drop { padding-right: 22px; gap: 0; }

.h-main__nav-a._drop::after { position: absolute; top: 1px; right: 0; width: 18px; height: 18px; content: ''; background: no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%230F172A' stroke-width='1.5'/%3E%3C/svg%3E"); }

.h-main__nav-a._drop:hover::after { background: no-repeat center/18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 18 18'%3E%3Cpath d='m5 7 4 4 4-4' fill='none' stroke='%23E50000' stroke-width='1.5'/%3E%3C/svg%3E"); }

.h-main__btn2 {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 10px;
  place-items: center;
  border: 0;
  border-radius: 0;
}

.h-main__lang { min-width: 30px; font-size: 14px; line-height: 20px; text-transform: uppercase; }

.h-main__btn.btn-tr {
  min-height: 40px;
  display: inline-flex;
  height: 44px;
  padding: 0 16px;
  align-items: center;
  color: #fff;
  background: #F00;
  border: 0;
  border-radius: 999px;
}

.h-main__btn .btn-tr__t { color: inherit; font-size: 15px; font-weight: 500; }

.h-main__tgg,
.drop[data-drop-i="nav-main"] { display: none !important; }

.drop:not([data-drop-i="nav-main"]) { top: 60px; padding: 24px 0 28px; background: #fff; border-top: 1px solid rgba(35,31,32,.08); border-radius: 0 0 24px 24px; box-shadow: 0 18px 32px rgba(35,31,32,.12); }

.drop:not([data-drop-i="nav-main"]) .drop__w { padding: 0; }

.drop:not([data-drop-i="nav-main"]) .drop__top { gap: 12px; }

.drop:not([data-drop-i="nav-main"]) .drop__i { min-height: 72px; padding: 18px 20px; color: var(--ov-ink); background: #fff7e5; border: 1px solid rgba(224,41,38,.1); border-radius: 16px; }

.drop:not([data-drop-i="nav-main"]) .drop__i-t { font-size: 16px; font-weight: 500; line-height: 22px; }

/* Ovostar site header */
.ov-site-header,
.ov-site-header * {
  box-sizing: border-box;
}

.ov-site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  height: 60px;
  color: var(--ov-ink);
  background: #fff;
}

.ov-site-header__inner {
  position: relative;
  z-index: 3;
  display: flex;
  width: 100%;
  max-width: 1920px;
  height: 60px;
  margin: 0 auto;
  padding: 8px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #fff;
}

.ov-site-header__logo {
  display: flex;
  width: 128px;
  height: 36px;
  flex: 0 0 128px;
  align-items: center;
  justify-content: center;
}

.ov-site-header__logo img {
  display: block;
  width: 108px;
  height: 17px;
  object-fit: contain;
}

.ov-desktop-nav {
  min-width: 0;
  margin: 0 auto;
}

.ov-desktop-nav__list {
  display: flex;
  margin: 0;
  padding: 0;
  align-items: center;
  justify-content: center;
  gap: 22px;
  list-style: none;
}

.ov-desktop-nav__item {
  position: relative;
  padding: 12px 0;
}

.ov-desktop-nav__item > a,
.ov-header-language > button {
  position: relative;
  display: inline-flex;
  min-height: 20px;
  padding: 0;
  align-items: center;
  color: var(--ov-ink);
  font: 500 15px/20px "Inter", Arial, sans-serif;
  letter-spacing: -.45px;
  white-space: nowrap;
  background: none;
  border: 0;
  cursor: pointer;
  gap: 6px
}
.ov-desktop-nav__item.has-dropdown > a {
  padding-right: 2px;
}

.ov-desktop-nav__item.has-dropdown > a::after,
.ov-header-language > button::after {
  position: relative;
  width: 5px;
  height: 5px;
  content: "";
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
}

.ov-desktop-nav__item:hover > a,
.ov-desktop-nav__item:focus-within > a {
  color: var(--ov-red-dark);
}

.ov-header-popover {
  position: absolute;
  z-index: 5;
  top: calc(100% - 2px);
  left: -4px;
  display: flex;
  gap: 0;
  width: 200px;
  padding: 4px;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
  background: #fff;
  border: 1px solid rgba(229, 231, 235, .8);
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .15);
  transform: translateY(6px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
}

.has-dropdown:hover > .ov-header-popover,
.has-dropdown:focus-within > .ov-header-popover {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.ov-header-popover > a {
  display: flex;
  min-height: 36px;
  padding: 8px 10px;
  align-items: center;
  color: var(--ov-ink);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -.28px;
  border-radius: 6px;
  gap: 2px
}

.ov-header-popover > a:hover/*,
.ov-header-popover > a.is-current*/ {
  color: var(--ov-red-dark);
  background: #ffeebf;
}
.ov-header-popover > a path {
  transition: all .18s ease;
}
.ov-header-popover > a:hover path {
  fill: var(--ov-red-dark);
}

.ov-site-header__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 16px;
}

.ov-header-icon,
.ov-header-burger {
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  color: var(--ov-ink);
  background: transparent;
  border: 0;
  cursor: pointer;
}

.ov-header-language {
  position: relative;
  padding: 8px 0;
}

.ov-header-language > button {
  padding-right: 20px;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -.28px;
}

.ov-header-popover--language {
  right: auto;
  left: -12px;
  width: initial;
}

.ov-header-contact {
  display: inline-flex;
  height: 44px;
  padding: 0 16px;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  background: var(--ov-red);
  border-radius: 999px;
}

.ov-header-contact:hover {
  color: #fff;
  background: var(--ov-red-dark);
}

.ov-header-burger {
  display: none;
  padding: 11px 9px;
  align-content: center;
  gap: 5px;
}

.ov-header-burger span {
  display: block;
  width: 20px;
  height: 1.5px;
  background: currentColor;
  transition: transform .2s ease, opacity .2s ease;
}

.ov-site-header.is-menu-open .ov-header-burger span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.ov-site-header.is-menu-open .ov-header-burger span:nth-child(2) { opacity: 0; }
.ov-site-header.is-menu-open .ov-header-burger span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.ov-header-popover--contacts {
  right: 0;
  left: auto;
  width: 200px;
}

.ov-header-popover--contacts .ov-header-phone {
  color: var(--ov-ink);
  background: #ffeebf;
}

.ov-header-socials {
  display: flex;
  padding: 8px 6px 4px;
  align-items: center;
  gap: 8px;
}

.ov-header-socials a {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  color: var(--ov-ink);
  font-size: 15px;
  font-weight: 700;
  border-radius: 6px;
}
.ov-header-socials a:hover {
  background: rgba(15, 23, 42, .06);
}

/* Search */
.search:not(body) {
  z-index: 1001;
  padding-top: 48px;
}

.ov-mobile-menu { display: none; }
.ov-header-lock { overflow: hidden; }

/* Hero */
.ov-hero__viewport {
  position: relative;
  overflow: hidden;
}

.ov-hero > .container-full { max-width: 1920px; }

.ov-hero__track {
  display: flex;
  align-items: stretch;
  transition: transform .6s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.ov-hero__panel {
  position: relative;
  width: 100%;
  flex: 0 0 100%;
  min-height: 720px;
  overflow: hidden;
  background: var(--ov-yellow);
  border-radius: 32px;
}

.ov-hero__pagination {
  display: flex;
  min-height: 24px;
  margin-top: 16px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translate(-50%, 0);
}

.ov-hero__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  background: rgba(255, 255, 255, .5);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}

.ov-hero__dot:hover,
.ov-hero__dot.is-active {
  background: var(--ov-red);
}

.ov-hero__dot.is-active {
  /*/transform: scale(1.2);*/
}

.ov-hero__dot:focus-visible {
  outline: 2px solid var(--ov-red);
  outline-offset: 3px;
}

.ov-hero__pagination[hidden] {
  display: none;
}

.ov-hero__container {
  min-height: 720px;
}

.ov-hero__copy {
  position: relative;
  z-index: 3;
  width: 100%;
  padding-top: 68px;
}

.ov-hero__description {
  width: 554px;
  max-width: 100%;
  margin-top: 24px;
  color: #292929;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}

.ov-eyebrow {
  display: inline-flex;
  min-height: 32px;
  padding: 8px 12px;
  align-items: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.20);
  background: rgba(255, 255, 255, 0.20);
  color: rgba(28, 25, 23, 0.60);
  font-family: Inter;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px; /* 106.667% */
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.ov-hero__title {
  max-width: 100%;
  margin: 24px 0 0;
  color: var(--ov-ink);
  font-size: 72px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 72px */
  letter-spacing: -2.16px;
}

.ov-hero__actions {
  display: flex;
  gap: 12px;
  margin-top: 72px;
}

.ov-hero__visual {
  position: absolute;
  z-index: 2;
  top: 40px;
  right: 0;
  width: 50%;
  max-width: 520px;
}

.ov-hero__visual--mobile {
  display: none;
}

.ov-hero__visual[hidden] {
  display: none;
}

.ov-hero__visual img,
.ov-hero__visual video {
  display: block;
  width: 100%;
  height: auto;
  background: transparent;
}

.ov-hero__visual video {
  width: auto;
  max-width: 100%;
  max-height: 560px;
  margin: 0 auto;
  object-fit: contain;
  mix-blend-mode: multiply;
  pointer-events: none;
}

.ov-hero__stats {
  position: absolute;
  z-index: 4;
  right: 12px;
  bottom: 50px;
  left: 12px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

.ov-stat {
  display: flex;
  min-height: 152px;
  padding: 36px 32px;
  flex-direction: column;
  justify-content: center;
  background: rgba(255, 255, 255, .94);
  border-radius: 22px;
}

.ov-stat strong {
  color: var(--ov-red);
  font-size: 34px;
  font-style: normal;
  font-weight: 500;
  line-height: 28px; /* 82.353% */
}

.ov-stat > span {
  margin-top: 16px;
  color: #6B7280;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}

/* Production */
.ov-production { background: #fff; }

.ov-production__media video {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  visibility: hidden;
  opacity: 0;
  background: #000;
  transition: opacity .35s ease, visibility 0s linear .35s;
}

.ov-production__media.is-playing video {
  visibility: visible;
  opacity: 1;
  transition-delay: 0s;
}

.ov-production__media video:fullscreen {
  object-fit: contain;
  background: #000;
}

.ov-production__media video:-webkit-full-screen {
  object-fit: contain;
  background: #000;
}

.ov-production__media.is-playing .ov-play,
.ov-production__media.is-playing small,
.ov-production__media.is-playing time { visibility: hidden; }

.ov-production__media picture {
  opacity: 1;
  transition: opacity .35s ease, visibility 0s linear 0s;
}

.ov-production__media.is-playing picture {
  visibility: hidden;
  opacity: 0;
  transition-delay: 0s, .35s;
}

.ov-production__media picture,
.ov-production__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.ov-production__media img {
  object-fit: cover;
  border-radius: 36px;
}

.ov-production__media small,
.ov-production__media time {
  position: absolute;
  bottom: 38px;
  color: #FFF;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px; /* 133.333% */
  letter-spacing: 0.3px;
}

.ov-production__media small {
  left: 38px;
  padding: 8px 16px;
  border-radius: 999px;
  background: rgba(24, 24, 27, 0.50);
  backdrop-filter: blur(6px);
}

.ov-production__media time {
  right: 38px;
}

.ov-play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 80px;
  height: 80px;
  place-items: center;
  transform: translate(-50%, -50%);
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.90);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.ov-play::before {
  content: '';
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url("/wp-content/themes/theme-sp/img/ovostar/ov-play.svg") center/cover no-repeat;
}

.ov-production .ov-section__head p {
  margin: 20px auto 0;
}

.ov-production__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 1280 / 720;
  color: #fff;
  padding: 14px;
  cursor: pointer;
  border-radius: 50px;
  border: 1px solid rgba(255, 255, 255, 0.20);
  background: linear-gradient(45deg, #FEF08A 0%, #FFEDD5 100%);
  box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.12);
}

/* Product catalog */
.ov-product {
  position: relative;
  display: flex;
  min-width: calc((100% - 32px) / 3);
  height: 390px;
  padding: 34px 32px;
  overflow: hidden;
  flex-direction: column;
  color: #fff;
  text-decoration: none;
  scroll-snap-align: start;
  border-radius: 36px;
  border: 1px solid rgba(255, 255, 255, 0.82);
  box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.25);
}

.ov-product--yellow { background: url("/wp-content/themes/theme-sp/img/ovostar/bg-2-1.svg") center/cover no-repeat; }

.ov-product--coral { background: url("/wp-content/themes/theme-sp/img/ovostar/bg-2-2.svg") center/cover no-repeat; }

.ov-product--red { background: url("/wp-content/themes/theme-sp/img/ovostar/bg-2-3.svg") center/cover no-repeat; }

.ov-product__more {
  position: relative;
  z-index: 2;
  margin-top: auto;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 133.333% */
  letter-spacing: 0.84px;
  text-transform: uppercase;
  display: flex;
  gap: 4px;
  align-items: center;
}

.ov-product img {
  position: absolute;
  right: -120px;
  bottom: -150px;
  /* width: 80%; */
  /* max-height: 330px; */
  object-fit: contain;
}

.ov-product > img { transition: transform .45s cubic-bezier(.22, .61, .36, 1); }

@media (hover: hover) and (pointer: fine) {
  .ov-product:hover > img { transform: scale(1.045); }
}

.ov-catalog-home .ov-section__head p {
  max-width: 520px;
}

.ov-product__icon {
  color: rgba(255, 255, 255, .85);
  font-size: 22px;
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  background: rgba(255,255,255,.1);
  border-radius: 15px;
}

.ov-product__icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
  position: relative;
  bottom: 0;
  right: 0;
}

.ov-product strong {
  position: relative;
  z-index: 2;
  margin-top: 20px;
  font-size: 28px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.56px;

}

.ov-product small {
  position: relative;
  z-index: 2;
  max-width: 235px;
  margin-top: 16px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}

/* Benefits */
.ov-benefits {
  margin-top: 132px;
  padding: 132px 0 240px;
  overflow: hidden;
  background: url(/wp-content/themes/theme-sp/img/ovostar/bg-3.jpg) center bottom / cover no-repeat;
}

.ov-benefits .container,
.ov-partners .container {
  z-index: 2;
}

.ov-benefits__top {
  display: grid;
  grid-template-columns: minmax(380px, 1.1fr) auto auto;
  align-items: end;
  gap: 28px;
}

.ov-benefits__top .ov-section__head h2 {
  color: #FFF;
  font-weight: 600;
}

.ov-benefits__top .ov-section__head p {
  color: #fff;
  max-width: 480px;
}

.ov-benefits__certs {
  display: flex;
  gap: 14px;
}

.ov-benefits__certs span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  padding: 14px;
  place-items: center;
  background: #fff;
  border-radius: 25px;
}

.ov-benefits__certs img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.ov-benefits__slider {
  margin-top: 56px;
}

.ov-benefit-card {
  min-width: calc((100% - 32px) / 3);
  min-height: 390px;
  padding: 32px;
  background: #fff;
  border-radius: 28px;
  scroll-snap-align: start;
}

.ov-benefit-card h3 {
  margin: 16px 0 24px;
  color: var(--ov-ink);
  font-size: 19px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -0.19px;
  padding-bottom: 24px;
  border-bottom: 2px solid #FDE092;
}

.ov-benefit-card ul {
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}

.ov-benefit-card li {
  position: relative;
  padding-left: 26px;
  color: #86868B;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
}

.ov-benefit-card li + li { margin-top: 14px; }

.ov-benefit-card li::before { position: absolute; top: 1px; left: 0; content: url("/wp-content/themes/theme-sp/img/ovostar/li-check.svg"); }

.ov-benefits .ov-slider__nav { display: flex; }

.ov-benefits__button--mobile { display: none; }

.ov-benefit-card__icon {
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(90deg, #F97316 0%, #EF4444 100%), #EF4444;
  padding: 6px;
  display: block;
  width: 44px;
  height: 44px;
}

.ov-benefit-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Geography */
.ov-geography {
  overflow: hidden;
}

.ov-geography .ov-section__head {
  margin-right: auto;
  margin-bottom: 44px;
  margin-left: auto;
}

.ov-geography__button--desktop {
  margin-top: 40px;
}

.ov-geography__interactive {
  display: grid;
  grid-template-columns: 185px minmax(0, 987px);
  gap: 16px;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  margin: 0 auto;
}

.ov-geography__picker {
  min-width: 0;
}

.ov-geography__select,
.ov-geography__countries-head {
  display: none;
}

.ov-geography__countries {
  min-width: 0;
  max-height: 548px;
  padding: 8px 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 12px;
  background: #FFF3C8;
  scrollbar-color: auto;
  scrollbar-width: auto;
}

.ov-geography__countries::-webkit-scrollbar {
  width: 4px;
}

.ov-geography__countries::-webkit-scrollbar-button,
.ov-geography__countries::-webkit-scrollbar-button:single-button,
.ov-geography__countries::-webkit-scrollbar-button:vertical:start:decrement,
.ov-geography__countries::-webkit-scrollbar-button:vertical:end:increment {
  display: block !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  background-image: none !important;
  -webkit-appearance: none;
}

.ov-geography__countries::-webkit-scrollbar-thumb {
  border-radius: 10px;
  background: #E8C45E;
}

@supports not selector(::-webkit-scrollbar) {
  .ov-geography__countries {
    scrollbar-color: #E8C45E transparent;
    scrollbar-width: thin;
  }
}

.ov-geography__countries [data-country] {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 32px;
  border: 0;
  border-radius: 999px;
  padding: 6px 12px;
  color: #0F172A;
  background: transparent;
  font: inherit;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  text-align: left;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease;
}

.ov-geography__countries [data-country]:hover,
.ov-geography__countries [data-country]:focus-visible {
  outline: none;
  background: transparent;
}

.ov-geography__countries [data-country].is-selected {
  background: #FB3;
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.04);
}

.ov-geography__map-viewport {
  position: relative;
  min-width: 0;
  overflow: hidden;
  aspect-ratio: 987 / 548;
  background: #fff;
}

.ov-geography__map-viewport::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: '';
  pointer-events: none;
  background:
    linear-gradient(90deg, #fff 0%, rgba(255,255,255,.72) 3%, transparent 9%, transparent 91%, rgba(255,255,255,.72) 97%, #fff 100%),
    linear-gradient(180deg, #fff 0%, transparent 7%, transparent 93%, #fff 100%);
}

.ov-geography__map-track {
  --geo-map-scale: 1.4;
  width: 100%;
  height: 100%;
  transform: translate3d(var(--geo-map-x, 0px), var(--geo-map-y, 0px), 0) scale(var(--geo-map-scale));
  transform-origin: left top;
  transition: transform .45s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.ov-geography__svg {
  display: block;
  width: 100%;
  height: 100%;
}

.ov-geography__svg path[fill]:not([fill="white"]) {
  fill: #FBDD9E;
  transition: fill .25s ease;
}

.ov-geography__svg path[data-country].is-enabled {
  fill: #F4A300;
  cursor: pointer;
}

.ov-geography__svg path[data-country].is-selected {
  fill: #F00;
}

.ov-geography__button--mobile {
  display: none;
}

/* Partners */
.ov-partner[hidden] { display: none !important; }

.ov-partners [data-partners-more] { border: 0; cursor: pointer; }

.ov-partners [data-partners-more][hidden] { display: none; }

.ov-partners {
  margin-top: 132px;
  padding: 132px 0 240px;
  overflow: hidden;
  text-align: center;
  background: url(/wp-content/themes/theme-sp/img/ovostar/bg-4.jpg) center bottom / cover no-repeat;
}

.ov-partners::before {
  position: absolute;
  top: -250px;
  right: -140px;
  width: 700px;
  height: 500px;
  content: "";
  background: rgba(255, 211, 98, .56);
  border-radius: 50%;
}

.ov-partners .ov-section__head h2 {
  color: #FFF;
  font-weight: 600;
}

.ov-tabs {
  display: inline-flex;
  justify-content: center;
  gap: 4px;
  margin-top: 20px;
  border-radius: 9999px;
  background: #F8F6F1;
  padding: 4px;
}

.ov-tabs button {
  padding: 10px 20px;
  border: 0;
  border-radius: 999px;
  color: #6B7280;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
}

.ov-tabs button.is-active {
  background: var(--ov-yellow);
  color: var(--ov-ink);
}

.ov-partners__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}

.ov-partner {
  display: grid;
  min-height: 140px;
  padding: 24px;
  place-items: center;
  background: #fff;
  border-radius: 28px;
}

.ov-partner img {
  max-width: 180px;
  max-height: 90px;
  object-fit: contain;
}

.ov-partners > .container > .ov-btn {
  margin-top: 32px;
}

/* Media center */
.ov-media .ov-slider__track { scroll-snap-type: x mandatory; }

.ov-media .ov-news-card { scroll-snap-align: start; }

.ov-media {
  padding-bottom: 0;
}

.ov-news-card {
  min-width: calc((100% - 32px) / 3);
  overflow: hidden;
  color: var(--ov-ink);
  text-decoration: none;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 4px 36px 0 rgba(0, 0, 0, 0.15);
  scroll-snap-align: start;
}

.ov-news-card > img {
  display: block;
  width: 100%;
  height: 200px;
  object-fit: cover;
}

.ov-news-card__body {
  position: relative;
  min-height: 242px;
  padding: 32px;
}

.ov-news-card h3 {
  margin: 0;
  color: #18181B;
  text-overflow: ellipsis;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px; /* 133.333% */
  letter-spacing: -0.36px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ov-news-card p {
  margin: 20px 0 12px;
  color: #71717A;
  text-overflow: ellipsis;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 157.143% */
  letter-spacing: -0.14px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display: block;
  position: relative;
  padding-left: 10px;
}
.ov-news-card p:before {
  content: '';
  display: block;
  background: linear-gradient(90deg, #F97316 0%, #EF4444 100%);
  width: 2px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  min-height: 46px;
}

.ov-news-card__body > span {
  font-size: 23px;
  font-weight: 300;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  color: #fff;
  background: var(--ov-yellow);
  border-radius: 50%;
  margin: auto 0 0 auto;
}
.ov-news-card .ov-news-card__body > span {
  transition: transform .2s ease, background-color .2s ease;
}
.ov-news-card:hover .ov-news-card__body > span {
  background: var(--ov-orange);
  transform: translateX(2px);
}

/* Contact form and popup */
.ov-form .ov-form__field { position: relative; min-width: 0; }

.ov-form .ov-form__field > span,
.ov-form__message > small { display: block; }
.ov-form .ov-form__field.b-select > span {display: none}

.ov-form .b-select__wr { position: relative; margin: 0; }

.ov-form .b-select__title,
.ov-form input:not([type="hidden"]):not([type="checkbox"]),
.ov-form textarea {
  width: 100%;
  min-height: 56px;
  padding: 17px 18px;
  color: var(--ov-ink);
  background: #fff;
  border: 1px solid transparent;
  border-radius: 12px;
  font-family: Inter, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

.ov-form .b-select__title {
  position: relative;
  padding-right: 48px;
  color: rgba(31, 39, 32, .5);
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -.32px;
  cursor: pointer;
}

.ov-form .b-select._selected .b-select__title {
  padding-top: 24px;
  padding-right: 48px;
  padding-bottom: 8px;
  color: var(--ov-ink);
  font-size: 14px;
  line-height: 20px;
  letter-spacing: normal;
}

.ov-form .b-select._selected .b-select__title::before {
  position: absolute;
  top: 8px;
  left: 18px;
  content: attr(data-default);
  color: rgba(31, 39, 32, .5);
  font-size: 12px;
  line-height: 12px;
  letter-spacing: -.24px;
}

.ov-form .b-select__title::after {
  position: absolute;
  top: 50%;
  right: 16px;
  width: 20px;
  height: 20px;
  margin-top: 0;
  content: '';
  background: no-repeat center/20px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='m6 8 4 4 4-4' fill='none' stroke='%230F172A' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  border: 0;
  -webkit-mask: none;
  mask: none;
  transform: translateY(-50%);
  transition: transform .2s ease;
}

.ov-form .b-select__wr._active .b-select__title::after {
  transform: translateY(-50%) rotate(180deg);
}

.ov-form .b-select__list {
  z-index: 20;
  top: calc(100% + 6px);
  width: 100%;
  padding: 6px;
  background: #fff;
  border: 1px solid rgba(35,31,32,.1);
  border-radius: 12px;
  box-shadow: 0 12px 24px rgba(35,31,32,.12);
  scrollbar-color: var(--ov-orange) #fff4d6;
}

.ov-form .b-select__list::-webkit-scrollbar {
  background: #fff4d6;
}

.ov-form .b-select__list::-webkit-scrollbar-track {
  background: #fff4d6;
}

.ov-form .b-select__list::-webkit-scrollbar-thumb {
  background: var(--ov-orange);
}

.ov-form .b-select__list::-webkit-scrollbar-thumb:hover {
  background: var(--ov-yellow);
}

.ov-form .b-select__wr._active .b-select__list {
  pointer-events: auto;
}

.ov-form .b-select__item {
  padding: 8px 10px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 20px;
  font-weight: 400;
}

.ov-form .b-select__list {
  gap: 1px
}

.ov-form .b-select__item:hover,
.ov-form .b-select__item._active {
  background: #FFEEBF;
  color: var(--ov-red);
}

.ov-form .ov-is-invalid .b-select__title { color: var(--ov-red) !important; }

.ov-form label.ov-is-invalid input:not([type="hidden"]):not([type="checkbox"]),
.ov-form label.ov-is-invalid textarea {
  border-color: #F00;
}

.ov-form .iti {
  display: block;
  width: 100%;
}

.ov-form .ov-phone-field > span:first-child {
  display: none !important;
}

.ov-form label.ov-phone-field input.js-intl-tel,
.ov-form label.ov-phone-field:focus-within input.js-intl-tel,
.ov-form label.ov-phone-field.has-value input.js-intl-tel {
  padding-top: 17px !important;
  padding-right: 18px !important;
  padding-bottom: 17px !important;
  padding-left: 82px !important;
}

.ov-form .iti__selected-country,
.ov-form .iti__selected-country-primary {
  border-radius: 12px 0 0 12px;
}

.ov-form .iti__selected-country {
  padding: 0 8px !important;
  color: var(--ov-ink) !important;
  font-size: 13px !important;
  background: transparent !important;
}

.ov-form .iti__selected-country-primary {
  padding: 0 !important;
}

.ov-form .iti__selected-dial-code {
  display: block !important;
  margin-left: 5px !important;
  color: var(--ov-ink) !important;
  font-size: 13px !important;
  line-height: 20px !important;
}

.ov-form .iti__country-selector {
  z-index: 10050;
  width: min(320px, calc(100vw - 32px)) !important;
  max-width: min(320px, calc(100vw - 32px)) !important;
  height: auto !important;
  max-height: 210px !important;
  overflow: hidden !important;
  color: var(--ov-ink);
  font-size: 14px !important;
  line-height: 20px !important;
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 14px 32px rgba(35,31,32,.2) !important;
}

.ov-form .iti__search-input {
  height: 44px !important;
  min-height: 44px !important;
  padding: 8px 34px 8px 36px !important;
  color: var(--ov-ink) !important;
  font-size: 14px !important;
  line-height: 20px !important;
  background: #fff !important;
  border: 1px solid rgba(35,31,32,.18) !important;
}

.ov-form .iti__search-input-wrapper,
.ov-form .iti__country-list,
.ov-form .iti__country {
  color: var(--ov-ink) !important;
  font-size: 14px !important;
  line-height: 20px !important;
  background: #fff !important;
}

.ov-form .iti__country-list {
  max-height: 160px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

.ov-form .iti__country-name,
.ov-form .iti__dial-code {
  white-space: nowrap !important;
}

.ov-form .iti__country {
  min-height: 36px !important;
  padding: 7px 10px !important;
}

.ov-form .iti__country:hover,
.ov-form .iti__country.iti__highlight {
  background: #FFEEBF !important;
}

.ov-form .iti__search-input::placeholder {
  color: rgba(31,39,32,.5) !important;
  opacity: 1 !important;
}

.ov-form .ov-phone-field input.js-intl-tel::placeholder {
  color: rgba(31,39,32,.5) !important;
  opacity: 1 !important;
}

.ov-form .ov-country-field:focus-within input.js-country-autocomplete::placeholder {
  color: rgba(31,39,32,.5) !important;
  opacity: 1 !important;
}

.ov-form .ov-country-field {
  z-index: 30;
}

.ov-country-options {
  position: absolute;
  z-index: 10060;
  top: calc(100% + 6px);
  right: 0;
  left: 0;
  max-height: 280px;
  padding: 6px;
  overflow-y: auto;
  color: var(--ov-ink);
  background: #fff;
  border: 1px solid rgba(35,31,32,.12);
  border-radius: 12px;
  box-shadow: 0 16px 40px rgba(35,31,32,.18);
}

.ov-country-options[hidden] {
  display: none !important;
}

.ov-country-option {
  display: grid;
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  grid-template-columns: 26px minmax(0,1fr) auto;
  gap: 8px;
  align-items: center;
  color: var(--ov-ink);
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.ov-country-option:hover,
.ov-country-option:focus,
.ov-country-option.is-active {
  color: var(--ov-red);
  background: #FFEEBF;
  outline: 0;
}

.ov-country-option__flag {
  font-size: 20px;
  line-height: 1;
}

.ov-country-option__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ov-country-option__code {
  color: rgba(31,39,32,.58);
  font-size: 13px;
}

.ov-country-options__empty {
  padding: 10px;
  color: rgba(31,39,32,.58);
  font-size: 14px;
}

.ov-form__message small {
  display: block;
  padding: 4px 0;
  color: #FFF;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

.ov-popup.fancybox-content,
.ov-popup {
  width: min(642px, calc(100vw - 32px));
  max-width: 642px;
  padding: 48px;
  color: #fff;
  background:
    radial-gradient(95% 65% at 4% 110%, rgba(255,187,51,.92) 0, rgba(255,187,51,0) 72%),
    radial-gradient(80% 80% at 103% 48%, rgba(255,105,43,.86) 0, rgba(255,105,43,0) 70%),
    #E02926;
  border-radius: 36px;
  box-shadow: 0 4px 20px rgba(0,0,0,.1), 0 4px 52px rgba(0,0,0,.25), 0 1px 4px rgba(0,0,0,.1);
}

.ov-popup .pp__cont { width: 100%; padding: 0; }

.ov-popup .pp__t { padding-right: 40px; color: #fff; font-size: 24px; font-weight: 600; line-height: 32px; letter-spacing: -.48px; }

.ov-popup .pp__d { max-width: 410px; margin-top: 8px; color: rgba(255,255,255,.9); font-size: 14px; font-weight: 400; line-height: 20px; letter-spacing: -.28px; }

.ov-popup .pp__form { margin-top: 24px; }

.ov-popup .pp__close {
  position: absolute;
  z-index: 2;
  top: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
}
.ov-popup .pp__close svg path {
  fill: #000 !important;
}
.ov-popup .pp__close:after {
  display: none;
}

.ov-popup .ov-form { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: 12px; row-gap: 16px; }

.ov-popup .ov-form .b-select__title,
.ov-popup .ov-form input:not([type="hidden"]):not([type="checkbox"]) { height: 56px; min-height: 56px; }

.ov-popup .ov-form__message small { color: rgba(255,255,255,.8); }

.ov-popup .ov-form textarea { height: 100px; min-height: 100px; resize: none; }

.ov-popup .ov-form__policy { color: rgba(255,255,255,.9); font-weight: 400 !important; font-size: 14px !important; }

.ov-popup .ov-form__policy a { color: #fff; text-decoration: underline; }

.ov-popup .ov-form__submit { justify-self: start; }

.ov-popup .ov-btn--yellow { width: auto; min-height: 56px; padding: 0 24px; justify-content: center; border: 0; border-radius: 999px; font-size: 17px; font-weight: 500; line-height: 20px; }

/* Request form result popups */
.pp-alert.fancybox__content,
.pp-mess.fancybox__content,
.pp-alert,
.pp-mess {
  box-sizing: border-box;
  width: min(526px, calc(100vw - 32px));
  max-width: 526px;
  padding: 48px;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(95% 72% at 4% 112%, rgba(255,187,51,.92) 0, rgba(255,187,51,0) 72%),
    radial-gradient(82% 92% at 104% 48%, rgba(255,105,43,.86) 0, rgba(255,105,43,0) 70%),
    #E02926;
  border-radius: 36px;
  box-shadow: 0 4px 20px rgba(0,0,0,.1), 0 4px 52px rgba(0,0,0,.25), 0 1px 4px rgba(0,0,0,.1);
}

.pp-alert__cont,
.pp-mess__cont {
  display: grid;
  width: 100%;
  grid-auto-rows: max-content;
  gap: 12px;
}

.pp-alert__t,
.pp-mess__t {
  padding-right: 40px;
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: -.48px;
}

.pp-alert__d,
.pp-mess__d {
  max-width: 390px;
  color: rgba(255,255,255,.9);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -.28px;
}

.pp-alert__close,
.pp-mess__close {
  top: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  padding: 0;
  background: rgba(255,255,255,.1);
  border: 0;
  border-radius: 50%;
}

.pp-alert__close::after,
.pp-mess__close::after { display: none; }

.pp-alert__close svg,
.pp-mess__close svg { display: block; width: 24px; height: 24px; }

.pp-alert__close svg path,
.pp-mess__close svg path { fill: #000; }

.pp-alert .pp-alert__btn {
  width: max-content;
  min-height: 56px;
  margin-top: 12px;
  padding: 0 24px;
  color: var(--ov-ink);
  font: 500 17px/20px "Inter", Arial, sans-serif;
  background: var(--ov-yellow);
  border-radius: 999px;
  transition: background-color .2s ease, transform .2s ease;
}

.pp-alert .pp-alert__btn .btn-primary__t { color: inherit; line-height: 20px; text-shadow: none; }
.pp-alert .pp-alert__btn .btn-primary__dot { display: none; }

@media (pointer: fine) {
  .pp-alert .pp-alert__btn:hover { color: var(--ov-ink); background: var(--ov-orange); transform: translateY(-1px); }
  .pp-alert .pp-alert__btn:hover .btn-primary__t { transform: none; }
}

.ov-contact__panel {
  position: relative;
  display: grid;
  min-height: 595px;
  padding: 48px;
  overflow: hidden;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  color: #fff;
  background: url(/wp-content/themes/theme-sp/img/ovostar/bg-form.svg) center / cover no-repeat;
  border-radius: 36px;
}

.ov-contact__intro,
.ov-form {
  position: relative;
  z-index: 2;
}

.ov-contact h2 {
  color: #fff;
}

.ov-contact__intro p {
  max-width: 300px;
  margin: 24px 0 0;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 26px */
  letter-spacing: -0.6px;
}

.ov-contact__intro img {
  position: absolute;
  bottom: -168px;
  left: 10px;
  max-width: 100%;
}

.ov-form {
  display: grid;
  align-content: start;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px 12px;
}

.ov-form label {
  position: relative;
  display: block;
  margin: 0;
}

.ov-form label:not(.ov-form__policy):not(.ov-form__message) > span:first-child:not(.form__error) {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 18px;
  width: calc(100% - 36px);
  pointer-events: none;
  transform: translateY(-50%);
  transform-origin: left top;
  transition: top .2s ease, transform .2s ease, font-size .2s ease, line-height .2s ease;

  color: rgba(31, 39, 32, 0.50);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 125% */
  letter-spacing: -0.32px;
}
.ov-form label:not(.ov-form__policy).ov-is-invalid > span {
  color: var(--ov-red) !important;
}

.ov-form label:not(.ov-form__policy):not(.ov-form__message):focus-within > span:first-child,
.ov-form label:not(.ov-form__policy):not(.ov-form__message).has-value > span:first-child {
  top: 8px;
  font-size: 12px;
  line-height: 12px;
  transform: none;
}

.ov-form label:not(.ov-form__policy):not(.ov-form__message) input:not([type="checkbox"]) {
  padding: 17px 18px;
  transition: padding .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ov-form label:not(.ov-form__policy):not(.ov-form__message):focus-within input:not([type="checkbox"]),
.ov-form label:not(.ov-form__policy):not(.ov-form__message).has-value input:not([type="checkbox"]) {
  padding-top: 22px;
  padding-bottom: 5px;
}

.ov-form label:not(.ov-form__message) input::placeholder {
  color: transparent;
  opacity: 0;
}

.ov-form__message > span:first-child {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ov-form input:not([type="checkbox"]),
.ov-form select,
.ov-form textarea {
  display: block;
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 0 18px;
  color: var(--ov-ink);
  font: inherit;
  font-size: 14px;
  background: #fff;
  border: 2px solid transparent !important;
  border-radius: 12px;
  outline: 0;
}

.ov-form textarea {
  height: 100px;
  padding-top: 15px;
  resize: none;
}

.ov-form .b-select__title {
  border: 2px solid transparent !important;
}

.b-select__wr._active .b-select__title,
.ov-form input:focus,
.ov-form select:focus,
.ov-form textarea:focus {
  border-color: #F09F02 !important;
}

.b-select__list {
  margin-top: 0;
}

.ov-form__wide {
  grid-column: 1 / -1;
}

.ov-form__policy {
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  color: #fff;
  font-size: 12px;
  line-height: 1.35;
}

.ov-form__policy input {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
  -webkit-appearance: none;
  appearance: none;
  background: rgba(255,255,255,.12);
  border: 1.5px solid rgba(255,255,255,.85);
  border-radius: 4px;
  cursor: pointer;
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.ov-form__policy input::after {
  display: block;
  width: 9px;
  height: 5px;
  margin: 4px 0 0 3px;
  content: '';
  border-bottom: 2px solid var(--ov-ink);
  border-left: 2px solid var(--ov-ink);
  opacity: 0;
  transform: rotate(-45deg) scale(.7);
  transition: opacity .2s ease, transform .2s ease;
}

.ov-form__policy input:checked {
  background: var(--ov-yellow);
  border-color: var(--ov-yellow);
}

.ov-form__policy input:checked::after {
  opacity: 1;
  transform: rotate(-45deg) scale(1);
}

.ov-form__policy input:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px rgba(255,206,35,.32);
}

.ov-form__policy.ov-is-invalid input {
  border-color: #F00;
}

.ov-form__policy > span:last-child {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
}

.ov-form__policy a { color: inherit; text-decoration: underline; }

.ov-form .form__error {
  display: block;
  width: 100%;
  margin: 5px 2px 0;
  color: #fff;
  font-size: 11px;
  line-height: 14px;
  position: absolute;
  bottom: -14px;
  top: initial;
  display: none !important;
}

.ov-form__policy .form__error {
  flex: 0 0 100%;
  margin-left: 28px;
}

.ov-form button[disabled] { opacity: .6; pointer-events: none; }

/* About */
.ov-about__more.is-open svg { transform: rotate(180deg); }

.ov-about {
  padding-bottom: 132px;
}

.ov-about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.ov-about p {
  margin: 0;
  color: #0F172A;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 157.143% */
  letter-spacing: -0.14px;
}

.ov-about__text {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.ov-about__text.is-open {
  display: block;
  overflow: visible;
  -webkit-line-clamp: initial;
}

.ov-about__more {
  padding: 16px 24px;
  color: var(--ov-red);
  font-size: 17px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  background: var(--ov-grey);
  border: 0;
  border-radius: 999px;
  cursor: pointer;
  margin-top: 16px;
  display: inline-flex;
  gap: 4px;
  align-items: center;
}
.ov-about__more:hover {
  background: var(--ov-grey-dark);
}


/* Footer */
.fm__m-nav-a,
.fm__m-nav-cont-link,
.fm__m-nav-cont-i {
  font-size: 12px;
  line-height: 1.55;
}

.fm {
  margin-top: 0;
  padding: 32px 0 18px;
  overflow: visible;
  color: var(--ov-ink);
  background: #ffbb33;
}

.fm > .container { width: 100%; max-width: 1212px; padding-right: 12px; padding-left: 12px; }

.fm__w {
  flex-direction: column;
  display: grid;
  grid-template-columns: 215px minmax(0,1fr);
  grid-auto-rows: auto;
  gap: 0 56px;
  padding: 0;
  background: transparent;
  border-radius: 0;
}

.fm__top {
  order: 2;
  border: 0;
  grid-column: 1;
  grid-row: 1;
  display: flex;
  margin: 0;
  padding: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}

.fm__m {
  order: 1;
  grid-column: 2;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 32px;
}

.fm__m-nav { display: block; min-width: 0; padding: 0; background: transparent; border: 0; border-radius: 0; }

.fm__m-nav-t {
  margin-bottom: 18px;
  margin: 0 0 12px;
  padding: 0;
  color: var(--ov-ink);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
}

.fm__m-nav-l { display: flex; margin: 0; padding: 0; flex-direction: column; gap: 6px; }

.fm__m-nav-a,
.fm__m-nav-cont,
.fm__m-nav-cont-link,
.fm__m-nav-cont-i { color: rgba(35,31,32,.7); font-size: 14px; font-weight: 400; line-height: 20px; }

.fm__m-nav-cont { display: flex; margin: 0; padding: 0; flex-direction: column; gap: 6px; }

.fm__top-logo {
  order: -1;
  margin: 0;
}

.fm__top-logo-img {
  width: 144px;
  max-width: 144px;
  max-height: none;
}

.fm__top-soc { display: flex; width: auto; margin: 0; gap: 8px; }

.fm__top-soc .btn-sq { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; background: rgba(255,255,255,.5); border: 0; border-radius: 6px; }

.fm__top-btn { display: none; }

.fm__bt {
  order: 3;
  padding-top: 20px;
  grid-column: 1/-1;
  grid-row: 2;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  width: 100%;
  margin: 26px 0 0;
  padding: 15px 0 0;
  align-items: center;
  color: rgba(35,31,32,.7);
  border-top: 1px solid rgba(35,31,32,.2);
  font-size: 12px;
  line-height: 16px;
}

.fm__bt-nav-l { display: flex; margin: 0; padding: 0; gap: 20px; }

.fm__bt-copy { margin: 0; justify-self: center; }

.fm__bt-rt { display: flex; margin: 0; justify-self: end; align-items: center; gap: 24px; }

.fm__bt-up { display: grid; width: 36px; height: 36px; padding: 0; place-items: center; background: rgba(255,255,255,.55); border: 0; border-radius: 50%; }

/* Ovostar site footer */
.ov-site-footer-wrap,
.ov-site-footer-wrap * { box-sizing: border-box; }

.ov-site-footer-wrap {
  position: relative;
  padding: 0;
  color: #fff;
  background: #fff;
}

.ov-site-footer {
  position: relative;
  min-height: 316px;
  overflow: hidden;
  color: #fff;
  background: url(/wp-content/themes/theme-sp/img/ovostar/bg-footer.jpg) center bottom / cover no-repeat;
}

.ov-site-footer__main {
  position: relative;
  display: grid;
  width: min(1204px, calc(100% - 64px));
  margin: 0 auto;
  padding: 32px 0 0;
  grid-template-columns: minmax(150px, 1fr) minmax(0, 4fr);
  gap: 24px 32px;
}

.ov-site-footer__brands {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 22px;
}

.ov-site-footer__brands img {
  display: block;
  width: auto;
  max-width: 108px;
  height: auto;
  max-height: 60px;
  object-fit: contain;
}

.ov-site-footer__columns {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.ov-footer-column {
  min-width: 0;
  color: #fff;
}

.ov-footer-column summary,
.ov-footer-column__title {
  display: flex;
  min-height: 20px;
  margin: 0 0 24px;
  padding: 0;
  align-items: center;
  color: #fff;
  font: 500 16px/20px "Inter", Arial, sans-serif;
  list-style: none;
  cursor: default;
  font-size: 16px;
  font-style: normal;
  pointer-events: none;
}

.ov-footer-column summary::-webkit-details-marker { display: none; }

.ov-footer-column > div {
  flex-direction: column;
  align-items: flex-start;
  gap: 11px;
}

.ov-footer-column a,
.ov-footer-phone {
  color: rgba(255, 255, 255, .9);
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: -.28px;
}

.ov-footer-column a:hover,
.ov-site-footer__bottom a:hover { color: #fff; }

.ov-footer-column--contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.ov-footer-phone {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px
}

.ov-footer-column > div.ov-footer-socials {
  display: flex;
  flex-direction: row;
  margin-top: 11px;
  align-items: center;
  gap: 8px;
}

.ov-footer-socials a {
  display: grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  background: rgba(255, 255, 255, .7);
  border-radius: 6px;
}

.ov-footer-socials .is-facebook { color: #0866ff; }
.ov-footer-socials .is-linkedin { color: #087eb8; }
.ov-footer-socials .is-youtube { color: #f00; font-size: 15px; }
.ov-footer-socials .is-instagram { color: #ee1471; font-size: 22px; }

.ov-site-footer__bottom {
  display: grid;
  padding: 30px 0;
  grid-column: 1 / -1;
  grid-template-columns: 1fr auto auto 1fr;
  align-items: center;
  gap: 24px;
  color: rgba(255, 255, 255, .7);
  font-size: 13px;
  font-weight: 400;
  line-height: 18px;
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.ov-site-footer__bottom a { color: inherit; }

.ov-site-footer__developer {
  justify-self: end;
  white-space: nowrap;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.ov-site-footer__developer strong {
  margin-left: 5px;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .3px;
}

.ov-site-footer__up {
  position: absolute;
  z-index: 2;
  top: -88px;
  right: max(24px, calc((100vw - 1504px) / 2));
  display: grid;
  width: 56px;
  height: 56px;
  padding: 0;
  place-items: center;
  color: #0f172a;
  background: #f1f2f4;
  border: 0;
  border-radius: 50%;
  box-shadow: none;
  transition: color .25s ease, background-color .25s ease, transform .25s ease;
}

.ov-site-footer__up:hover { color: #f00; background: #e7e9ed; transform: translateY(-3px); }
.ov-site-footer__up:focus-visible { outline: 2px solid #f00; outline-offset: 3px; }
.ov-site-footer__up svg { display: block; width: 24px; height: 24px; }

/* Responsive styles */
@media (max-width: 1023px) {


}

@media (max-width: 767px) {
  .ov-home { padding-top: 56px; }
  .ov-fixed-contact {
    top: auto;
    right: 0;
    bottom: 16px;
    width: 62px;
    height: 68px;
    min-height: 0;
    padding: 8px 0 8px 8px;
    overflow: hidden;
    border-radius: 100px 0 0 100px;
    background: rgba(255, 255, 255, .36);
    writing-mode: horizontal-tb;
    transform: none;
  }
  .ov-fixed-contact > span {
    width: max-content;
    min-width: 112px;
    height: 52px;
    padding: 6px 20px 6px 6px;
  }
  .ov-fixed-contact svg { transform: none; }





  .ov-popup.fancybox-content,
  .ov-popup { width: calc(100vw - 16px); max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); padding: 40px 20px 24px; overflow-y: auto; border-radius: 24px; }
  .ov-popup .pp__close { top: 20px; right: 20px; width: 24px; height: 24px; }
  .ov-popup .pp__t { padding-right: 36px; font-size: 22px; line-height: 28px; letter-spacing: -.44px; }
  .ov-popup .pp__d { max-width: calc(100% - 20px); }
  .ov-popup .ov-form { grid-template-columns: 1fr; gap: 12px; }
  .ov-popup .pp__form { margin-top: 20px; }
  .ov-popup .ov-form__message small { padding-top: 0; }
  .ov-popup .ov-form__submit { width: 100%; }
  .ov-popup .ov-btn--yellow { width: 100%; }
  .ov-popup .ov-form .b-select__title,
  .ov-popup .ov-form input:not([type="hidden"]):not([type="checkbox"]) { height: 52px; min-height: 52px; padding: 15px 16px; }

  .pp-alert.fancybox__content,
  .pp-mess.fancybox__content,
  .pp-alert,
  .pp-mess { width: calc(100vw - 16px); padding: 40px 20px 28px; border-radius: 24px; }
  .pp-alert__close,
  .pp-mess__close { top: 20px; right: 20px; width: 24px; height: 24px; }
  .pp-alert__t,
  .pp-mess__t { padding-right: 36px; font-size: 22px; line-height: 28px; letter-spacing: -.44px; }
  .pp-alert .pp-alert__btn { width: 100%; margin-top: 8px; }

}

/* Blog category archive: mobile hero from the 375px design. */
@media (max-width: 767px) {
  .ov-articles-archive .ov-inner-hero {
    min-height: 520px;
    height: inherit;
    padding: 0 8px;
  }
  .ov-articles-archive .ov-inner-hero__panel,
  .ov-articles-archive .ov-inner-hero__bg,
  .ov-articles-archive .ov-inner-hero__bg img { border-radius: 32px; }
  .ov-articles-archive .ov-inner-hero__content {
    width: 100%;
    padding: 250px 20px 36px;
    gap: 20px;
    min-height: 520px;
  }
  .ov-articles-archive .ov-inner-hero__description { width: 100%; }
  .ov-articles-archive .ov-inner-hero h1 {
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.08px;
  }
  .ov-articles-archive .ov-inner-hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -.6px;
  }
}

/* Inner pages: About us / Team */
.ov-inner,
.ov-inner * { box-sizing: border-box; }

.ov-inner { overflow: hidden; background: #fff; color: var(--ov-ink); }
.ov-product-page { overflow: clip; }
.ov-inner em { color: var(--ov-red); font-style: normal; }

.ov-inner-hero {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 1920px;
  height: 540px;
  margin: 0 auto;
  padding: 8px 8px 0;
  align-items: flex-start;
  background: #fff;
}
.ov-inner-hero__panel { position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 36px; }
.ov-inner-hero__bg,
.ov-inner-hero__bg img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; border-radius: 36px; }
.ov-inner-hero__bg img { object-fit: cover; }
.ov-inner-hero__content { position: relative; z-index: 1; display: flex; height: 100%; padding: 54px 0; flex-direction: column; justify-content: flex-start; gap: 92px; }
.ov-inner-hero__description { display: flex; width: 590px; flex-direction: column; justify-content: center; }
.ov-inner-hero h1 { max-width: 660px; margin: 0; font-size: 72px; font-weight: 500; line-height: 1; letter-spacing: -2.16px; }
.ov-inner-hero p { width: 560px; max-width: 100%; margin: 16px 0 0; color: rgba(15,23,42,.7); font-size: 20px; font-weight: 500; line-height: 1.3; letter-spacing: -.6px; }

@media (min-width: 768px) {
  .ov-certificates-page .ov-inner-hero { height: auto; min-height: 600px; }
  .ov-certificates-page .ov-inner-hero__panel,
  .ov-certificates-page .ov-inner-hero__content { height: auto; min-height: 592px; }
}

/* Inline editorial links remain visible without changing card/button links. */
:is(.ov-inner, .ov-home, .ov-text-page) :is(p, .def, .ov-about-text, .ovp-info__lead) a:not(.ov-btn):not(.btn):not([data-fancybox]):not(:has(img)) {
  text-decoration-line: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .15em;
}

.ov-breadcrumb.bc { display: flex; margin: 0; padding: 0; align-items: center; flex-wrap: wrap; gap: 8px; list-style: none; }
.ov-breadcrumb .bc__i { display: inline-flex; min-height: 28px; padding: 4px 8px; align-items: center; flex-shrink: 0; color: var(--ov-ink); font: 500 13px/1.2 Inter, sans-serif; letter-spacing: -.26px; background: rgba(255,255,255,.5); border-radius: 7px; backdrop-filter: blur(5px); }
.ov-breadcrumb .bc__i:not(:last-child) { gap: 0; }
.ov-breadcrumb .bc__i:not(:last-child)::after { display: none; content: none; }
.ov-breadcrumb .bc__i-a,
.ov-breadcrumb .bc__i-t,
.ov-breadcrumb .bc__i-t._cur,
.ov-breadcrumb._wh .bc__i-a:not(:hover),
.ov-breadcrumb._wh .bc__i-t._cur { color: var(--ov-ink); text-decoration: none; }
.ov-breadcrumb .ov-breadcrumb__home { width: 24px; height: 24px; min-height: 24px; padding: 0; background: transparent; border-radius: 0; backdrop-filter: none; }
.ov-breadcrumb__home-link { display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; }
.ov-breadcrumb__home-link img { display: block; width: 20px; height: 17px; object-fit: contain; }

.ov-inner-section { position: relative; padding-top: 132px; }
.ov-inner-heading h2 { margin: 0 auto; font-size: 44px; font-weight: 600; line-height: 1; letter-spacing: -1.32px; max-width: 768px;}
.ov-inner-heading p { margin: 20px 0 0; color: var(--ov-muted); font-size: 20px; font-weight: 500; line-height: 1.3; letter-spacing: -.6px; }
.ov-inner-heading--center { margin: 0 auto 40px; text-align: center; }
.ov-inner-heading--center p { margin-right: auto; margin-left: auto; }

.ov-about-intro { min-height: 520px; }
.ov-about-intro .ov-inner-heading em ~ em,
.ov-production-quality .ov-inner-heading em ~ em {
  background: linear-gradient(252deg, #E50000 -1.03%, #FACC15 81.18%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ov-metrics { display: grid; margin-top: 36px; grid-template-columns: repeat(4, 1fr); gap: 16px; }

.ov-metric {
  display: flex;
  min-height: 144px;
  padding: 24px;
  flex-direction: column;
  justify-content: flex-start;
  border-radius: 28px;

  border: 1px solid #FFF;
  background: #FFEEBF;
  box-shadow: 0 4px 20px 0 rgba(54, 56, 63, 0.15);
  backdrop-filter: blur(42px);

}
.ov-metric img { width: 24px; height: 24px; margin-bottom: 16px; object-fit: contain; }
.ov-metric strong {
  font-size: 28px;
  font-weight: 500;
  line-height: 40px;
  letter-spacing: -.56px;
  background: linear-gradient(90deg, #F97316 0%, #EF4444 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.ov-metric > span { margin-top: 4px; font-size: 16px; line-height: 24px; }

.ov-operations .ov-inner-heading { max-width: 590px; }
.ov-production-page .ov-operations .ov-inner-heading { max-width: 1180px; }
.ov-operations > .container-full { max-width: 1412px; }
.ov-operation-list { width: 100%; max-width: 1396px; margin: 0 auto; overflow: hidden; border: 0; border-radius: 32px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.ov-operation-list p a {
  border-bottom: 1px solid;
  line-height: 1.2;
}
.ov-operation-list p a:hover {
  border-color: transparent;
}
.ov-operation-row { display: grid; min-height: 422px; grid-template-columns: 1fr 1fr; }
.ov-operation-row.is-reverse .ov-operation-row__copy { order: 2; }
.ov-operation-row__copy { position: relative; isolation: isolate; display: flex; padding: 80px 104px; flex-direction: column; justify-content: center; overflow: hidden; color: #fff; }
.ov-operation-row__copy::before { position: absolute; z-index: -1; top: -170px; right: -165px; width: 389px; height: 389px; content: ''; border-radius: 50%; filter: blur(100px); transform: rotate(-174.42deg); }
.ov-operation-row.is-orange .ov-operation-row__copy { background: #f59e0b; }
.ov-operation-row.is-orange .ov-operation-row__copy::before { background: linear-gradient(57.6deg, #f97316 36.302%, #ef4444 74.078%); }
.ov-operation-row.is-red .ov-operation-row__copy { background: #ef4444; }
.ov-operation-row.is-coral .ov-operation-row__copy { background: #ff5331; }
.ov-operation-row.is-red .ov-operation-row__copy::before,
.ov-operation-row.is-coral .ov-operation-row__copy::before { background: linear-gradient(210.24deg, #ff9000 45.338%, #f00 86.026%); }
.ov-operation-row__icon { width: 44px; height: 44px; margin-bottom: 20px; object-fit: contain; }
.ov-operation-row h3 { max-width: 480px; margin: 0; font-size: 28px; font-weight: 500; line-height: normal; letter-spacing: -.56px; }
.ov-operation-row p { max-width: 500px; margin: 20px 0 0; font-size: 16px; line-height: 24px; }
.ov-operation-row__image { display: block; width: 100%; height: 100%; min-height: 421px; object-fit: cover; }
.ov-progress-page .ov-operation-actions { display: flex; margin-top: 32px; align-items: center; flex-wrap: wrap; gap: 12px; }
.ov-progress-page .ov-operation-actions .ov-btn { min-height: 56px; padding: 0 24px; gap: 10px; font-size: 17px; line-height: 20px; transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease; }
.ov-progress-page .ov-operation-actions .ov-btn--light { color: #0f172a; background: #fff; }
.ov-progress-page .ov-operation-actions .ov-btn--light > span { display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; font-size: 24px; line-height: 1; }
.ov-progress-page .ov-operation-actions .ov-btn--transparent { color: #fff; border: 1px solid rgba(255,255,255,.55); background: rgba(255,255,255,.08); backdrop-filter: blur(3px); }
.ov-progress-page .ov-operation-actions .ov-tender__chevron { width: 24px; height: 24px; }
.ov-progress-page .ov-operation-actions .ov-tender__chevron svg { display: block; width: 15px; height: 19px; }

@media (pointer: fine) {
  .ov-progress-page .ov-operation-actions .ov-btn:hover { transform: translateY(-2px); }
  .ov-progress-page .ov-operation-actions .ov-btn--light:hover { background: #fff9e8; }
  .ov-progress-page .ov-operation-actions .ov-btn--transparent:hover { border-color: #fff; background: rgba(255,255,255,.18); }
}

.ov-tender { padding-top: 132px; }
.ov-tender > .container-full { max-width: 1412px; }
.ov-tender__panel { position: relative; isolation: isolate; display: grid; min-height: 488px; padding: 67px 105px 65px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; align-items: start; justify-content: center; overflow: hidden; color: #fff; background: #18181b; border: 2px solid #27272a; border-radius: 32px; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); }
.ov-tender__bg { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; pointer-events: none; border-radius: 32px; }
.ov-tender__lead { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: 24px; }
.ov-tender__icon { display: flex; width: 48px; height: 48px; padding: 1px; align-items: center; justify-content: center; flex: 0 0 48px; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; backdrop-filter: blur(2px); }
.ov-tender__icon img { display: block; width: 19px; height: 19px; object-fit: contain; }
.ov-tender__lead h2 { width: 100%; margin: 0; padding-bottom: 8px; font-size: 44px; font-weight: 600; line-height: 44px; letter-spacing: -1.76px; }
.ov-tender__lead .ov-btn { min-height: 56px; margin: 0; padding: 16px 24px; gap: 4px; font-size: 17px; line-height: 20px; }
.ov-tender__chevron { display: flex; width: 24px; height: 24px; align-items: center; justify-content: center; }
.ov-tender__chevron img { display: block; width: 6px; height: 11px; object-fit: contain; }
.ov-tender__text { display: flex; min-width: 0; align-self: start; flex-direction: column; gap: 20px; color: rgba(255,255,255,.9); }
.ov-tender__text p { margin: 0; font-size: 16px; font-weight: 400; line-height: 24px; }
.ov-tender__text p:last-child { padding-top: 8px; color: #fff; font-weight: 500; }

.ov-history { min-height: 659px; padding: 132px 8px; }
.ov-history .ov-inner-heading { margin-bottom: 40px; }
.ov-history .ov-inner-heading h2 { color: #0f172a; line-height: 44px; letter-spacing: -1.76px; }
.ov-history .ov-inner-heading p { color: #64748b; }
.ov-history__timeline { position: relative; width: 988px; max-width: calc(100% - 200px); margin: 0 auto; padding: 0; }
.ov-history__years { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.ov-history__years::before { position: absolute; top: 6px; right: 0; left: 0; height: 1px; content: ''; background: #000; }
.ov-history__years button { position: relative; min-width: 0; padding: 23px 0 0; color: #64748b; font: 400 18px/30px Inter, sans-serif; letter-spacing: -.36px; background: none; border: 0; cursor: pointer; }
.ov-history__years button::before { position: absolute; top: 3px; left: 50%; width: 7px; height: 7px; content: ''; background: #000; border-radius: 50%; transform: translateX(-50%); }
.ov-history__years button.is-active { color: #e50000; font-size: 28px; font-weight: 600; letter-spacing: 1.4px; }
.ov-history__years button.is-active::before { top: 1px; width: 11px; height: 11px; box-sizing: border-box; background: #e50000; border: 2px solid #e50000; }
.ov-history__arrow { position: absolute; z-index: 2; top: -18px; display: flex; width: 48px; height: 48px; padding: 0; align-items: center; justify-content: center; background: rgba(15,23,42,.05); border: 0; border-radius: 100px; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.ov-history__arrow:not(:disabled):hover {
  color: #fff;
  background: var(--ov-red);
}
.ov-history__arrow:not(:disabled):hover path {
  fill: #fff;
}
.ov-history__arrow--prev { left: -100px; }
.ov-history__arrow--next { right: -100px; }
.ov-history__arrow img { display: block; width: 12px; height: 12px; }
.ov-history__arrow--prev img { transform: rotate(180deg); }
.ov-history__arrow:disabled { pointer-events: none; cursor: default; }
.ov-history__arrow:disabled img { opacity: .4; }
.ov-history__copy { width: 786px; max-width: 100%; min-height: 96px; margin: 40px auto 0; color: #0f172a; text-align: center; font-size: 16px; line-height: 24px; }
.ov-history__copy:not(.is-active) { display: none; }

.ov-page-partners { margin-top: 132px; padding: 92px 0 170px; background: url(/wp-content/themes/theme-sp/img/ovostar/bg-3.jpg) center / cover no-repeat; }
.ov-page-partners .ov-inner-heading h2 { color: #fff; }
.ov-pill-tabs { display: inline-flex; margin-top: 32px; padding: 5px; gap: 2px; background: rgba(255,255,255,.74); border: 1px solid rgba(255,255,255,.3); border-radius: 999px; }
.ov-pill-tabs button { min-height: 38px; padding: 0 21px; color: rgba(15,23,42,.7); font: 500 14px/20px Inter, sans-serif; white-space: nowrap; background: transparent; border: 0; border-radius: 999px; cursor: pointer; }
.ov-pill-tabs button.is-active { color: var(--ov-ink); background: var(--ov-yellow); }
.ov-page-partners__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.ov-page-partner { display: grid; min-height: 112px; padding: 18px; place-items: center; background: rgba(255,255,255,.94); border-radius: 20px; }
.ov-page-partner img { max-width: 130px; max-height: 70px; object-fit: contain; }
.ov-page-partner:nth-child(n+6) { display: none; }
.ov-page-partners.is-expanded .ov-page-partner { display: grid; }
.ov-page-partners__more { display: flex; margin: 32px auto 0; }

.ov-gallery { padding-bottom: 0; }
.ov-gallery .ov-inner-heading { margin-bottom: 40px; }
.ov-gallery__grid { display: grid; width: 100%; grid-template-columns: 1fr 1fr; gap: 16px; }
.ov-gallery__left { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 285px 285px; gap: 16px; }
.ov-gallery__item { position: relative; display: block; min-width: 0; overflow: hidden; background: #f4f4f5; border-radius: 20px; }
.ov-gallery__item--wide { grid-column: 1 / -1; }
.ov-gallery__item--large { height: 586px; }
.ov-gallery__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ov-gallery__item:hover img { transform: scale(1.025); }
.ov-gallery__caption { position: absolute; inset: 0; display: flex; padding: 60px 32px 20px; flex-direction: column; justify-content: flex-end; color: #fff; background: linear-gradient(0deg, #0F172A -32.28%, rgba(15, 23, 42, 0.00) 49.82%); }
.ov-gallery__caption strong { font-size: 20px; font-weight: 500; line-height: 28px; letter-spacing: -.5px; }
.ov-gallery__caption small { margin-top: 8px; color: rgba(255,255,255,.7); font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: 1.2px; text-transform: uppercase; display: flex; align-items: center; gap: 8px }
.ov-gallery__hidden {
  display: none;
}

.ov-team-catalog { min-height: 892px; overflow: hidden; }
.ov-team-tabs { display: flex; width: 100%; max-width: 100%; margin: 0 auto 40px; padding: 0; flex-wrap: wrap; justify-content: center; gap: 8px; overflow: visible; background: transparent; border: 0; }
.ov-team-tabs button { min-height: 40px; padding: 10px 20px; background: #f4f4f5; }
.ov-team-tabs button.is-active { background: linear-gradient(90deg, #FB3 0%, #F4A300 100%); box-shadow: 0 2px 4px rgba(0,0,0,.04); }
.ov-team-tabs::-webkit-scrollbar { display: none; }
.ov-team-slider { position: relative; }
.ov-team-slider__track { display: flex; align-items: flex-start; gap: 16px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ov-team-slider__track::-webkit-scrollbar { display: none; }
.ov-team-slider__track.is-draggable { cursor: grab; user-select: none; }
.ov-team-slider__track.is-draggable img { -webkit-user-drag: none; }
.ov-team-slider__track.is-dragging { cursor: grabbing; scroll-behavior: auto; scroll-snap-type: none; }
.ov-team-slider__track.is-dragging a { cursor: grabbing; }
.ov-person { position: relative; flex: 0 0 calc((100% - 32px) / 3); height: auto; overflow: hidden; scroll-snap-align: start; border-radius: 0; opacity: 1; transform: translate3d(0,0,0); transition: opacity .24s ease, transform .32s cubic-bezier(.22,1,.36,1); }
.ov-person[hidden] { display: none; }
.ov-team-slider__track.is-filtering .ov-person:not([hidden]),
.ov-person.is-team-entering { opacity: 0; transform: translate3d(0,16px,0); }
.ov-person > img { display: block; width: 100%; height: auto; aspect-ratio: 284 / 369; object-fit: cover; border-radius: 32px; margin-bottom: 0; }
.ov-person__info { position: static; display: flex; height: auto; padding: 24px 16px 0; flex-direction: column; justify-content: flex-start; gap: 16px; color: var(--ov-ink); background: transparent; }
.ov-person__info h3 { margin: 0; font-size: 24px; font-weight: 600; line-height: 28px; }
.ov-person__info strong { display: block; margin-top: 4px; font-size: 12px; font-weight: 500; line-height: 16px; letter-spacing: .6px; text-transform: uppercase; }
.ov-person__contacts { display: flex; max-height: none; flex-direction: column; gap: 6px; overflow: hidden; opacity: 1; transform: none; }
.ov-person__contacts a { display: flex; width: max-content; max-width: 100%; align-items: center; gap: 6px; color: rgba(15,23,42,.72); font-size: 14px; font-weight: 500; line-height: 20px; text-decoration: none; overflow-wrap: anywhere; }
.ov-person__contacts img { width: 18px; height: 18px; flex: 0 0 18px; object-fit: contain; }
.ov-person__contacts svg { flex: 0 0 18px; }
.ov-person__contacts svg path { fill: #64748b; fill-opacity: 1; }
.ov-round-nav { display: flex; margin-top: 40px; justify-content: center; gap: 8px; }
.ov-round-nav button { display: flex; width: 48px; height: 48px; padding: 0; align-items: center; justify-content: center; background: rgba(15,23,42,.05); border: 0; border-radius: 100px; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.ov-round-nav button:not(:disabled):hover { color: #fff; background: var(--ov-red); }
.ov-round-nav button:not(:disabled):hover path { fill: #fff; }
.ov-round-nav button img { display: block; width: 12px; height: 12px; }
.ov-round-nav button:first-child img { transform: rotate(180deg); }
.ov-round-nav button:disabled { pointer-events: none; cursor: default; }
.ov-round-nav button:disabled svg { opacity: .4; }

.ov-slider__nav button img,
.ov-history__arrow img,
.ov-round-nav button img { transition: filter .2s ease; }
.ov-slider__nav button:not(:disabled):hover img,
.ov-history__arrow:not(:disabled):hover img,
.ov-round-nav button:not(:disabled):hover img { filter: brightness(0) invert(1); }

.ov-team-operations .ov-operation-row { min-height: 422px; }
.ov-team-operations .ov-operation-row__image { min-height: 421px; }
.ov-clients .ov-inner-heading { max-width: 620px; }
.ov-client-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ov-client-grid article { display: flex; min-height: 96px; padding: 18px 22px; align-items: center; gap: 14px; font-size: 14px; font-weight: 500; line-height: 18px; background: #fff2ce; border-radius: 16px; }
.ov-client-grid img { width: 44px; height: 44px; padding: 8px; object-fit: contain; background: linear-gradient(135deg,#f97316,#ef4444); border-radius: 10px; }

.ov-values { padding: 132px 0; }
.ov-values__grid { display: grid; max-width: 1188px; margin: 0 auto; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: 16px; }
.ov-values__visual { display: flex; min-height: 514px; padding: 48px; flex-direction: column; justify-content: space-between; overflow: hidden; color: #fff; background-image: var(--ov-values-bg); background-position: center; background-size: cover; border-radius: 32px; }
.ov-values__market-icon { display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.1); border-radius: 16px; backdrop-filter: blur(2px); }
.ov-values__market-icon img { width: 24px; height: 24px; object-fit: contain; }
.ov-values__visual-copy { display: flex; flex-direction: column; gap: 16px; }
.ov-values__eyebrow { width: max-content; color: #facc15; font-size: 12px; font-weight: 600; line-height: 16px; letter-spacing: 1.2px; text-transform: uppercase; }
.ov-values__visual h3 { max-width: 400px; margin: 0; font-size: 30px; font-weight: 500; line-height: 36px; letter-spacing: -.75px; }
.ov-values__list { display: flex; min-height: 514px; padding: 48px; flex-direction: column; justify-content: center; background: linear-gradient(180deg, #ffce74 0%, #ffecc6 131.54%); border-radius: 32px; }
.ov-values__list article { display: grid; grid-template-columns: 48px minmax(0, 1fr); align-items: start; gap: 20px; }
.ov-values__list article + article { margin-top: 40px; padding-top: 40px; border-top: 1px solid transparent; border-image: linear-gradient(90deg,#f97316,#ef4444) 1; }
.ov-values__list-icon { display: flex; width: 48px; height: 48px; align-items: center; justify-content: center; background: #fff; border: 1px solid #f3f4f6; border-radius: 16px; }
.ov-values__list-icon img { width: 24px; height: 24px; object-fit: contain; }
.ov-values__list h3 { margin: 0 0 8px; color: #111827; font-size: 20px; font-weight: 500; line-height: 28px; letter-spacing: -.5px; }
.ov-values__list p { margin: 0; color: rgba(15,23,42,.7); font-size: 16px; line-height: 24px; }

.ov-page-benefits { min-height: 657px; margin-top: 0; padding: 132px 0; background: url(/wp-content/themes/theme-sp/img/ovostar-pages/team-1228-benefits-bg.png) center / 100% 100% no-repeat; }
.ov-page-benefits__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ov-page-benefits__grid article { min-height: 309px; padding: 48px; background: #fff; border-radius: 32px; box-shadow: 0 4px 20px rgba(54,56,63,.15); }
.ov-page-benefits__grid h3 { margin: 0 0 18px; font-size: 24px; line-height: 29px; }
.ov-page-benefits__grid p { margin: 0; color: rgba(15,23,42,.7); font-size: 16px; line-height: 24px; }
.ov-inner .ov-contact { padding-top: 132px; padding-bottom: 132px; background: #fff }
.ov-inner .ovp-viewed + .ov-contact {padding-top: 0}

@media (max-width: 1023px) {
  .ov-inner-hero h1 { font-size: 48px; }
  .ov-inner-hero__content { padding: 48px 0; }
  .ov-inner-section { padding-top: 84px; }
  .ov-inner-heading h2 { font-size: 38px; line-height: 42px; }
  .ov-metrics { grid-template-columns: repeat(2, 1fr); }
  .ov-operation-row__copy { padding: 48px; }
  .ov-tender__panel { padding: 48px; gap: 36px; }
  .ov-tender__lead h2 { font-size: 36px; }
  .ov-page-partners__grid { grid-template-columns: repeat(4, 1fr); }
  .ov-person { flex-basis: calc((100% - 16px) / 2); }
  .ov-client-grid { grid-template-columns: repeat(2, 1fr); }
  .ov-inner .ov-contact { padding-top: 84px; padding-bottom: 84px; }
}

@media (max-width: 767px) {
  .ov-inner-hero { width: 100%; height: 480px; padding: 0; }
  .ov-inner-hero__panel,
  .ov-inner-hero__bg img { border-radius: 0 0 20px 20px; }
  .ov-inner-hero__content { padding: 36px 0 30px; }
  .ov-inner-hero__description { width: 100%; }
  .ov-inner-hero h1 { margin: 0; font-size: 40px; line-height: .96; }
  .ov-inner-hero p { max-width: 82%; margin-top: 14px; font-size: 14px; line-height: 20px; }
  .ov-inner-hero__bg img { object-position: center; }
  .ov-inner-section { padding-top: 64px; }
  .ov-inner-heading h2,
  .ov-about-intro .ov-inner-heading h2 { font-size: 28px; line-height: 32px; letter-spacing: -.56px; }
  .ov-inner-heading p { margin-top: 12px; font-size: 14px; line-height: 20px; }
  .ov-inner-heading--center { margin-bottom: 28px; }
  .ov-metrics { margin-top: 24px; grid-template-columns: 1fr 1fr; gap: 10px; }
  .ov-metric { min-height: 120px; padding: 16px; border-radius: 18px; }
  .ov-metric strong { font-size: 22px; line-height: 30px; }
  .ov-metric > span { font-size: 12px; line-height: 16px; }
  .ov-operation-list { border-radius: 20px; }
  .ov-operation-row,
  .ov-operation-row.is-reverse { display: flex; flex-direction: column; }
  .ov-operation-row.is-reverse .ov-operation-row__copy { order: initial; }
  .ov-operation-row__copy { min-height: 330px; padding: 30px 24px; }
  .ov-operation-row h3 { font-size: 22px; }
  .ov-operation-row p { margin-top: 16px; font-size: 13px; line-height: 19px; }
  .ov-progress-page .ov-operation-actions { margin-top: 24px; align-items: stretch; flex-direction: column; gap: 8px; }
  .ov-progress-page .ov-operation-actions .ov-btn { width: 100%; min-height: 48px; padding: 0 18px; font-size: 14px; line-height: 18px; }
  .ov-operation-row__image,
  .ov-team-operations .ov-operation-row__image { min-height: 260px; height: 260px; }
  .ov-tender { padding-top: 64px; }
  .ov-tender__panel { display: block; min-height: 0; padding: 32px 24px; border-radius: 20px; }
  .ov-tender__lead h2 { font-size: 28px; }
  .ov-tender__lead .ov-btn { width: 100%; margin: 24px 0; }
  .ov-tender__text p { font-size: 13px; line-height: 19px; }
  .ov-history { min-height: 0; padding: 64px 0; }
  .ov-history .ov-inner-heading { margin-bottom: 28px; }
  .ov-history .ov-inner-heading h2 { line-height: 32px; letter-spacing: -.56px; }
  .ov-history__years { display: flex; padding-bottom: 6px; overflow-x: auto; }
  .ov-history__years::before { right: 35px; left: 35px; }
  .ov-history__years button { min-width: 70px; }
  .ov-history__timeline { width: 100%; max-width: 100%; padding: 0 52px; }
  .ov-history__arrow { top: -15px; width: 42px; height: 42px; }
  .ov-history__arrow--prev { left: 0; }
  .ov-history__arrow--next { right: 0; }
  .ov-history__copy { margin-top: 24px; text-align: left; font-size: 13px; line-height: 20px; }
  .ov-page-partners { margin-top: 64px; padding: 64px 0 100px; }
  .ov-page-partners__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ov-page-partner { min-height: 88px; border-radius: 14px; }
  .ov-gallery__grid { display: flex; flex-direction: column; gap: 8px; }
  .ov-gallery__left { grid-template-rows: 160px 180px; gap: 8px; }
  .ov-gallery__item { border-radius: 14px; }
  .ov-gallery__item--large { height: 343px; }
  .ov-gallery__caption { padding: 42px 18px 16px; }
  .ov-gallery__caption strong { font-size: 16px; line-height: 22px; }
  .ov-team-catalog { min-height: 0; padding: 80px 0 40px; }
  .ov-team-catalog > .container { padding: 0 16px; }
  .ov-team-catalog .ov-inner-heading--center { margin: 0 0 28px; text-align: left; }
  .ov-team-catalog .ov-inner-heading h2 { font-size: 28px; line-height: 28px; letter-spacing: -1.12px; }
  .ov-team-tabs { width: calc(100vw - 16px); max-width: none; margin: 0 -16px 28px 0; padding-right: 16px; flex-wrap: nowrap; justify-content: flex-start; gap: 4px; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .ov-team-tabs button { min-height: 40px; padding: 10px 16px; flex: 0 0 auto; font-size: 12px; }
  .ov-team-slider__track { align-items: flex-start; }
  .ov-person { height: 548px; flex-basis: 284px; overflow: hidden; border-radius: 0; }
  .ov-person > img { display: block; width: 100%; height: 369px; flex: 0 0 369px; border-radius: 32px; margin-bottom: 0 }
  .ov-person__info,
  .ov-person:hover .ov-person__info,
  .ov-person:focus-within .ov-person__info { position: static; height: auto; min-height: 179px; padding: 16px 0 0; justify-content: flex-start; gap: 12px; color: var(--ov-ink); background: transparent; }
  .ov-person__info h3 { font-size: 24px; line-height: 28px; }
  .ov-person__info strong { margin-top: 4px; font-size: 12px; line-height: 16px; letter-spacing: .6px; }
  .ov-person__contacts { max-height: 96px; opacity: 1; transform: none; }
  .ov-person:hover .ov-person__contacts,
  .ov-person:focus-within .ov-person__contacts { max-height: 96px; opacity: 1; transform: none; }
  .ov-person__contacts a { color: rgba(15,23,42,.72); font-size: 14px; line-height: 20px; }
  .ov-person__contacts svg path { fill: #64748b; fill-opacity: 1; }
  .ov-round-nav { margin-top: 20px; justify-content: flex-end; }
  .ov-client-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .ov-client-grid article { min-height: 84px; padding: 12px; font-size: 11px; }
  .ov-client-grid img { width: 38px; height: 38px; }
  .ov-values { padding: 40px 0; }
  .ov-values .ov-inner-heading--center { margin-bottom: 28px; }
  .ov-values__grid,
  .ov-page-benefits__grid { grid-template-columns: 1fr; }
  .ov-values__grid { gap: 12px; }
  .ov-values__visual { min-height: 574px; padding: 28px 16px; background-image: var(--ov-values-bg-mobile, var(--ov-values-bg)); border-radius: 22px; }
  .ov-values__visual h3 { max-width: 100%; font-size: 24px; line-height: 28px; letter-spacing: -.6px; }
  .ov-values__list { min-height: 0; padding: 28px 16px; border-radius: 22px; }
  .ov-values__list article { display: block; }
  .ov-values__list article + article { margin-top: 28px; padding-top: 28px; }
  .ov-values__list h3 { margin-top: 20px; }
  .ov-page-benefits { margin-top: 64px; padding: 64px 0 100px; }
  .ov-page-benefits__grid article { min-height: 0; padding: 28px 22px; border-radius: 20px; }
  .ov-inner .ov-contact { padding-top: 64px; padding-bottom: 64px; }
}

@media (prefers-reduced-motion: reduce) {
  .ov-fixed-contact > span > span:first-child { animation: none; }
  .ov-slider__track,
  .ov-hero__track {
    transition: none;
  }
}

@media (max-width: 1199px) {


  .ov-benefits__top { grid-template-columns: 1fr auto; }
  .ov-benefits__top > .ov-btn { grid-column: 2; }
}

@media (max-width: 1023px) {
  .container { max-width: 792px; }
  .h-main__w > .h-main__rt:first-of-type { display: none; }
  .h-main__w > .h-main__rt:last-of-type { margin-left: auto; }

  .ov-hero__panel,
  .ov-hero__container { min-height: 690px; }
  .ov-hero__copy { width: 100%; padding-top: 56px; }
  .ov-hero__visual--desktop { display: none; }
  .ov-hero__visual--mobile { display: block; }
  .ov-hero__visual { top: -20px; right: -13%; width: 67%; }
  .ov-hero__visual video { max-height: 500px; }
  .ov-hero__stats { bottom: 40px; grid-template-columns: repeat(2, 1fr); }
  .ov-stat { min-height: 100px; padding: 18px 20px; }
  .ov-stat > span { margin-top: 8px; }
  .ov-product,
  .ov-benefit-card,
  .ov-news-card { min-width: calc((100% - 16px) / 2); }
  .ov-benefits { margin-top: 84px; padding-top: 76px; }
  .ov-benefits__top { grid-template-columns: 1fr; align-items: start; }
  .ov-benefits__top > .ov-btn { grid-column: auto; justify-self: start; }
  .ov-benefits__slider { margin-top: 42px; }
  .ov-benefits .ov-slider__nav { display: flex; }
  .ov-partners { margin-top: 62px; padding-top: 80px; }
  .ov-partners__grid { grid-template-columns: repeat(4, 1fr); }
  .ov-contact { padding-top: 84px; }
  .ov-contact__panel { padding: 36px; grid-template-columns: 1fr 1fr; gap: 34px; }
  .ov-contact__intro img { left: -40px; width: 280px; }
  .ov-about { padding-bottom: 84px; }
}

@media (max-width: 767px) {
  .container-full { padding: 0; }
  .container { max-width: none; padding: 0 16px; }
  .bodyWr { padding-top: 60px; }
  .h-main__w { gap: 10px; }

  .h-main__logo-img { width: 92px; height: auto; }
  .h-main__btn.btn-tr { min-height: 36px; padding: 0 13px; }
  .h-main__btn.btn-tr .btn-tr__t { font-size: 10px; }





  .ov-section__head--center { margin-bottom: 26px; }
  .ov-section__head--split { display: block; margin-bottom: 28px; }
  .ov-section__head--split .ov-btn { width: 100%; margin-top: 24px; }
  .ov-btn { min-height: 48px; padding: 0 22px; font-size: 13px; }

  .ov-hero__panel { min-height: 616px; border-radius: 0 0 18px 18px; }
  .ov-hero__container { min-height: 616px; padding: 0 24px; }
  .ov-hero__copy { width: 100%; padding-top: 36px; }
  .ov-eyebrow { min-height: 30px; font-size: 10px; }
  .ov-hero__title { width: 100%; margin-top: 12px; font-size: 40px; line-height: .96; }
  .ov-hero__actions { display: grid; gap: 10px; margin-top: 20px; }
  .ov-hero__actions .ov-btn { width: 100%; min-height: 46px; }
  .ov-hero__visual { top: -14px; right: -105px; width: 390px; opacity: .9; }
  .ov-hero__visual video { max-height: 400px; }
  .ov-hero__stats { right: 24px; bottom: 18px; left: 24px; gap: 10px; }
  .ov-stat { min-height: 86px; padding: 13px 12px; border-radius: 15px; }
  .ov-stat strong { font-size: 21px; }
  .ov-stat > span { font-size: 10px; }

  .ov-production__media {
  border-width: 4px;
  border-radius: 18px;
}
  .ov-production__media small { bottom: 8px; left: 8px; max-width: 68%; padding: 5px 8px; font-size: 7px; }
  .ov-production__media time { right: 8px; bottom: 10px; font-size: 8px; }
  .ov-play { width: 44px; height: 44px; }
  .ov-play::before { border-top-width: 6px; border-bottom-width: 6px; border-left-width: 10px; }

  .ov-slider { margin-right: -16px; }
  .ov-slider__track { padding-right: 16px; }
  .ov-slider__nav { margin-top: 18px; padding-right: 16px; }
  .ov-product { min-width: 284px; height: 300px; padding: 22px 20px; border-radius: 18px; }

  .ov-product small { max-width: 210px; margin-top: 10px; font-size: 11px; }
  .ov-product img { right: -12px; bottom: -45px; max-height: 210px; }

  .ov-benefits { margin-top: 64px; padding: 44px 0 78px; }
  .ov-benefits::after { bottom: -105px; height: 140px; }
  .ov-benefits__top { display: flex; flex-direction: column; align-items: stretch; gap: 18px; }
  .ov-benefits__certs { gap: 8px; }
  .ov-benefits__certs span { width: 58px; height: 58px; }
  .ov-benefits__button--desktop { display: none; }
  .ov-benefits__slider { margin-top: 28px; }
  .ov-benefits__slider .ov-slider__track {
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    transform: none !important;
    -webkit-overflow-scrolling: touch;
  }
  .ov-benefits__slider .ov-slider__nav { display: none !important; }
  .ov-benefit-card { min-width: 272px; min-height: 332px; padding: 20px 18px; border-radius: 18px; }
  .ov-benefit-card h3 { font-size: 18px; }
  .ov-benefit-card ul { margin-top: 22px; }
  .ov-benefit-card li { font-size: 13px; }
  .ov-benefits__button--mobile {
    display: flex;
    width: 100%;
    min-height: 56px;
    margin-top: 28px;
    font-size: 17px;
  }

  .ov-geography { padding-top: 40px; }
  .ov-geography .ov-section__head { margin-bottom: 28px; }
  .ov-geography__button--desktop { display: none; }
  .ov-geography__interactive { display: flex; flex-direction: column; gap: 28px; }
  .ov-geography__map-viewport { order: 1; width: 100%; }
  .ov-geography__map-track { --geo-map-scale: 1.4; }
  .ov-geography__picker { position: relative; order: 2; width: 100%; }
  .ov-geography__select {
    display: flex;
    width: 100%;
    min-height: 48px;
    padding: 0 16px;
    align-items: center;
    justify-content: space-between;
    border: 0;
    border-radius: 12px;
    color: var(--ov-ink);
    background: var(--ov-grey);
    font: 500 13px/20px "Inter", Arial, sans-serif;
    text-align: left;
    cursor: pointer;

    border: 1px solid rgba(15, 23, 42, 0.10);
    background: #FFF;
  }
  .ov-geography__select-arrow {
    width: 8px;
    height: 8px;
    margin: -4px 3px 0 16px;
    flex: 0 0 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: transform .2s ease, margin .2s ease;
  }
  .ov-geography__picker.is-open .ov-geography__select-arrow {
    margin-top: 4px;
    transform: rotate(225deg);
  }
  .ov-geography__countries {
    display: none;
    width: 100%;
    max-height: min(360px, calc(100vh - 170px));
    padding: 0;
    overflow: hidden;
    flex-direction: column;
    border-radius: 0 0 12px 12px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .10);
  }
  .ov-geography__picker.is-open .ov-geography__select {
    border-radius: 12px 12px 0 0;
  }
  .ov-geography__picker.is-open .ov-geography__countries { display: flex; }
  .ov-geography__countries-head {
    position: relative;
    display: flex;
    min-height: 44px;
    padding: 0 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(15, 23, 42, .08);
  }
  .ov-geography__countries-head strong { font-size: 13px; font-weight: 600; line-height: 20px; }
  .ov-geography__countries-close {
    position: absolute;
    top: 0;
    left: 0;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
  }
  .ov-geography__countries-close::before,
  .ov-geography__countries-close::after {
    position: absolute;
    top: 21px;
    left: 17px;
    width: 12px;
    height: 1px;
    content: '';
    background: var(--ov-ink);
    transform: rotate(45deg);
  }
  .ov-geography__countries-close::after { transform: rotate(-45deg); }
  .ov-geography__countries-list {
    min-height: 0;
    padding: 6px 8px 10px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(15, 23, 42, .24) transparent;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
  .ov-geography__countries [data-country] {
    position: relative;
    min-height: 32px;
    padding: 6px 34px 6px 12px;
    border-radius: 0;
    font-size: 13px;
  }
  .ov-geography__countries [data-country].is-selected {
    color: var(--ov-red);
    background: transparent;
    box-shadow: none;
  }
  .ov-geography__countries [data-country].is-selected::after {
    position: absolute;
    top: 10px;
    right: 15px;
    width: 10px;
    height: 6px;
    content: '';
    border-bottom: 1.5px solid var(--ov-red);
    border-left: 1.5px solid var(--ov-red);
    transform: rotate(-45deg);
  }
  .ov-geography__button--mobile { display: flex; width: 100%; margin-top: 28px; }

  .ov-partners { margin-top: 44px; padding: 46px 0 80px; }
  .ov-partners__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .ov-partner { min-height: 92px; padding: 15px; border-radius: 14px; }
  .ov-partners > .container > .ov-btn { width: 100%; margin-top: 18px; }
  .ov-partners::after { bottom: -110px; height: 145px; }

  .ov-partner img {
    max-width: 100%;
  }

  .ov-news-card {
    min-width: 284px;
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.12);
  }
  .ov-news-card > img { height: 190px; }
  .ov-news-card__body { min-height: 160px; padding: 20px; }
  .ov-news-card h3 { font-size: 15px; }

  .ov-contact { padding-top: 64px; }

  .ov-contact__panel {
    display: block;
    min-height: 0;
    padding: 28px 18px 24px;
    border-radius: 20px;
    background: url(/wp-content/themes/theme-sp/img/ovostar/bg-form-mob.jpg) center / cover no-repeat;

  }
  .ov-contact__intro p { max-width: 270px; margin-top: 12px; font-size: 14px; }
  .ov-contact__intro img { display: none; }
  .ov-form { margin-top: 24px; grid-template-columns: 1fr; gap: 10px; }
  .ov-form__wide { grid-column: auto; }
  .ov-form input:not([type="checkbox"]),
  .ov-form select { height: 48px; font-size: 13px; }
  .ov-form textarea { height: 96px; font-size: 13px; }
  .ov-form .ov-btn { width: 100%; }

  .ov-about { padding-bottom: 40px; }
  .ov-about__grid { grid-template-columns: 1fr; gap: 22px; }
  .ov-about p { font-size: 13px; line-height: 1.55; }
  .ov-about__more {
    width: 100%;
    margin-top: 18px;
    text-align: center;
    align-items: center;
    justify-content: center;
  }




  .fm__m-nav-a,
  .fm__m-nav-cont-link,
  .fm__m-nav-cont-i { color: rgba(255, 255, 255, .78); }

  .fm__top-logo { order: -1; margin: 0 auto 18px 0; }

  .fm__top-soc { width: auto; }
  .fm__top-btn { margin-left: auto; }

  .fm__bt-nav-l { flex-wrap: wrap; }
  .fm__bt-nav-a,
  .fm__bt-copy,
  .fm__bt-dev-t { color: rgba(255, 255, 255, .7); }

}

@media (max-width: 419px) {
  .h-main__btn2 { display: none; }
  .ov-hero__title { font-size: 34px; }
  .ov-hero__visual { top: 6px; right: -125px; width: 355px; }
  .ov-hero__visual video { max-height: 360px; }
  .ov-benefits__certs span { width: 54px; height: 54px; }
}

@media (max-width: 1023px) {
  .ov-section {
  padding-top: 84px;
}
  .ov-section__head h2,
  .ov-contact h2,
  .ov-about h2 {
  font-size: 38px;
  line-height: 42px;
}
}

@media (max-width: 767px) {
  .ov-section {
  padding-top: 40px;
}
  .ov-section__head h2,
  .ov-contact h2,
  .ov-about h2 {
  font-size: 28px;
  line-height: 32px;
  letter-spacing: -.56px;
}
  .ov-section__head p {
  margin-top: 12px;
  font-size: 14px;
  line-height: 20px;
}
  .ov-product strong {
  margin-top: 12px;
  font-size: 22px;
}
}

@media (max-width: 1199px) {
  .h-main__nav-l {
  gap: 10px;
}
  .h-main__nav-a {
  font-size: 13px;
}
  .h-main__rt { gap: 8px; }
  .h-main__btn.btn-tr { padding: 0 12px; }
}

@media (max-width: 1099px) {
  .h-main__nav { display: none !important; }
  .h-main__rt:first-of-type { display: none; }
  .h-main__w { justify-content: space-between; }
  .h-main__rt:last-of-type { margin-left: auto; }
}

@media (max-width: 767px) {
  .header,
  .h-main,
  .h-main > .container-full,
  .h-main__w { height: 56px; }
  .h-main__logo {
  flex-basis: 112px;
  width: 112px;
}
  .h-main__btn2 {
  width: 40px;
  height: 40px;
}
  .h-main__lang {
  display: block !important;
}

  .fm {
  border-radius: 22px 22px 0 0;
  padding: 36px 0 18px;
  color: #fff;
  background: #3a1013;
}
  .fm__w { display: flex; flex-direction: column; gap: 0; }
  .fm__top {
  flex-wrap: wrap;
  display: flex;
  margin: 0 0 28px;
  order: -1;
  align-items: flex-start;
}
  .fm__top-logo-img {
  max-height: 40px;
  filter: brightness(0) invert(1);
}
  .fm__top-soc .btn-sq { background: rgba(255,255,255,.12); }
  .fm__top-soc svg path { fill: #fff; }
  .fm__m {
  grid-template-columns: 1fr;
  gap: 0;
  order: 2;
  display: block;
}
  .fm__m-nav {
  padding: 16px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .14);
  border-top: 1px solid rgba(255,255,255,.15);
}
  .fm__m-nav:last-child { border-bottom: 1px solid rgba(255,255,255,.15); }
  .fm__m-nav-t {
  padding-right: 28px;
  position: relative;
  margin: 0;
  padding: 16px 28px 16px 0;
  color: #fff;
  cursor: pointer;
}
  .fm__m-nav-t::after {
  position: absolute;
  top: 18px;
  right: 2px;
  content: '+';
  font-size: 20px;
  font-weight: 300;
}
  .fm__m-nav.is-open .fm__m-nav-t::after {
  content: '−';
}
  .fm__m-nav-l,
  .fm__m-nav-cont {
  margin-top: 14px;
  display: none;
  padding: 0 0 16px;
}
  .fm__m-nav.is-open .fm__m-nav-l,
  .fm__m-nav.is-open .fm__m-nav-cont {
  display: flex;
}
  .fm__m-nav-a,
  .fm__m-nav-cont,
  .fm__m-nav-cont-link,
  .fm__m-nav-cont-i { color: rgba(255,255,255,.7); }
  .fm__bt {
  order: 3;
  border-top-color: rgba(255, 255, 255, .14);
  display: flex;
  margin-top: 24px;
  padding-top: 18px;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  color: rgba(255,255,255,.62);
  border-color: rgba(255,255,255,.15);
}
  .fm__bt-copy { order: -1; }
  .fm__bt-rt {
  margin-top: 14px;
  width: 100%;
  justify-content: space-between;
}
  .fm__bt-dev svg path { fill: #fff; }
}

@media (min-width: 768px) {
  .ov-footer-column > div { display: flex !important; }
}

@media (max-width: 1199px) {
  .ov-site-header__inner { gap: 8px; }
  .ov-desktop-nav__list { gap: 8px; }
  .ov-desktop-nav__item > a { padding-right: 17px; font-size: 13px; letter-spacing: -.26px; }
  .ov-site-header__actions { gap: 8px; }
  .ov-header-contact { padding: 0 12px; font-size: 13px; }

  .ov-site-footer__main {
    width: min(944px, calc(100% - 48px));
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .ov-site-footer { min-height: 304px; }
  .ov-site-footer__bottom { gap: 16px; }
  .ov-site-footer__up { right: 24px; }
}

@media (max-width: 1099px) {
  .ov-desktop-nav { display: none; }
  .ov-site-header__actions { margin-left: auto; }
  .ov-header-burger { display: grid; }

  .ov-mobile-menu {
    position: fixed;
    z-index: 1;
    top: 60px;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-y: auto;
    padding: 28px 16px 24px;
    color: var(--ov-ink);
    background: #fff;
  }

  .ov-site-header.is-menu-open .ov-mobile-menu { display: block; }
  .ov-mobile-menu nav { width: 100%; max-width: 720px; margin: 0 auto; }

  .ov-mobile-menu details {
    border-bottom: 1px solid #e5e7eb;
  }

  .ov-mobile-menu details:first-child { border-bottom: 0; }

  .ov-mobile-menu summary {
    position: relative;
    display: flex;
    min-height: 44px;
    padding: 11px 28px 11px 0;
    align-items: center;
    color: var(--ov-ink);
    font-size: 16px;
    font-weight: 500;
    line-height: 22px;
    list-style: none;
    cursor: pointer;
  }

  .ov-mobile-menu summary::-webkit-details-marker { display: none; }

  .ov-mobile-menu summary::after {
    position: absolute;
    top: 17px;
    right: 3px;
    width: 7px;
    height: 7px;
    content: "";
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
  }

  .ov-mobile-menu details[open] summary::after { top: 20px; transform: rotate(225deg); }

  .ov-mobile-menu details > div {
    display: flex;
    padding: 0 0 15px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .ov-mobile-menu details > div a {
    width: 100%;
    padding: 9px 0;
    color: var(--ov-ink);
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
  }

  .ov-mobile-menu__contacts {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
    padding-top: 24px;
  }

  .ov-mobile-menu__contacts .ov-header-phone {
    display: inline-block;
    padding: 0 0 0 20px;
    color: var(--ov-ink);
    font-size: 14px;
    line-height: 20px;
  }

  .ov-mobile-menu__contacts .ov-header-phone::before { content: "☎"; margin-left: -20px; margin-right: 5px; }
  .ov-mobile-menu__contacts .ov-header-socials { padding: 16px 0 0; }
}

@media (max-width: 767px) {
  .ov-header-burger {
    padding: 0;
  }
  .ov-header-language > button {
    padding-right: 0;
  }
  .ov-site-header__inner { padding-right: 16px; padding-left: 16px; }
  .ov-site-header__logo { width: 108px; flex-basis: 108px; justify-content: flex-start; }
  .ov-site-header__actions { gap: 28px; }
  .ov-header-icon,
  .ov-header-burger {
    width: 24px;
    height: 24px;
  }
  .ov-header-contact { display: none; }
  .ov-header-language { margin-left: auto; }
  .ov-header-search { right: 0; width: 100%; padding: 0 10px 18px; border-radius: 0 0 12px 12px; }
  .ov-header-search__inner > p { margin-top: 22px; }
  .ov-mobile-menu { padding-top: 28px; }

  .ov-site-footer-wrap { padding: 0; padding-top: 96px; }
  .ov-site-footer { min-height: 634px; border-radius: 24px; }
  .ov-site-footer__main {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 20px 16px 0;
    flex-direction: column;
    gap: 24px;
  }

  .ov-site-footer__brands {
    display: grid;
    width: 100%;
    padding: 12px 0;
    grid-template-columns: 1fr 1fr .8fr;
    align-items: center;
    gap: 12px;
  }

  .ov-site-footer__brands img { width: 100%; max-width: 108px; justify-self: start; }

  .ov-site-footer__columns {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .ov-footer-column summary,
  .ov-footer-column__title {
    position: relative;
    min-height: 20px;
    margin: 0;
    padding: 0 32px 0 0;
    cursor: pointer;
  }

  .ov-footer-column summary::after {
    position: absolute;
    top: 3px;
    right: 5px;
    width: 8px;
    height: 8px;
    content: "";
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
  }

  .ov-footer-column[open] summary::after { top: 7px; transform: rotate(225deg); }
  .ov-footer-column > div { padding-top: 12px; gap: 11px; }
  .ov-footer-column--contacts { padding-top: 16px; }
  .ov-footer-column--contacts .ov-footer-column__title { margin-bottom: 12px; padding: 0; }
  .ov-footer-socials { margin-top: 11px; }

  .ov-site-footer__bottom {
    display: flex;
    padding: 12px 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }

  .ov-site-footer__developer { justify-self: auto; }
  .ov-site-footer__up { top: 8px; right: 16px; width: 48px; height: 48px; }
}
/* Product page ---------------------------------------------------------- */
.ov-product-page { --ovp-ink:#0f172a; --ovp-yellow:#FB3; --ovp-cream:#fffaeb; color:var(--ovp-ink); background:#fff; }
.ov-product-page .container { width:min(1188px, calc(100% - 32px)); max-width:1188px; margin-inline:auto; padding-inline:0; }
.ovp-breadcrumbs { padding:24px 0 0; }
.ovp-breadcrumbs .ov-breadcrumb.bc { display:flex; min-height:24px; margin:0; padding:0; align-items:center; flex-wrap:nowrap; gap:14px; overflow:hidden; }
.ovp-breadcrumbs .ov-breadcrumb .bc__i { display:inline-flex; min-width:0; min-height:24px; padding:0; align-items:center; flex:0 0 auto; gap:14px; color:#111827; background:transparent; border-radius:0; backdrop-filter:none; font-size:13px; font-weight:400; line-height:20px; letter-spacing:0; white-space:nowrap; }
.ovp-breadcrumbs .ov-breadcrumb .bc__i:not(:last-child)::after {
  display: block;
  content:'›';
  color:#111827;
  font-size:20px;
  font-weight:400;

  line-height:20px;
  mask-image: none;
  mask-repeat: no-repeat;
  mask-position: center center;
  mask-size: contain;
  -webkit-mask-image: none;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center center;
  -webkit-mask-size: contain;
  background: transparent;
  width: initial;
  height: initial;
  top: -1px;
  position: relative;
}
.ovp-breadcrumbs .ov-breadcrumb .bc__i-a.ov-breadcrumb__home-link {
  display: flex;
  align-items: center;
  top: -1px;
  position: relative;
}
.ovp-breadcrumbs .ov-breadcrumb .bc__i:last-child { flex:1 1 auto; overflow:hidden; color:#8a8a90; }
.ovp-breadcrumbs .ov-breadcrumb .bc__i-a,
.ovp-breadcrumbs .ov-breadcrumb .bc__i-t,
.ovp-breadcrumbs .ov-breadcrumb .bc__i-t._cur {
  display:block;
  min-width:0;
  overflow:hidden;
  text-decoration:none;
  text-overflow:ellipsis;
  color: #0F172A;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%; /* 15.6px */
  letter-spacing: -0.26px;
}
.ovp-breadcrumbs .ov-breadcrumb .bc__i-t._cur {
  color: #86868B;
}
.ovp-breadcrumbs .ov-breadcrumb .ov-breadcrumb__home { width:auto; height:24px; overflow:visible; }
.ovp-breadcrumbs .ov-breadcrumb__home-link { width:24px; height:24px; flex:0 0 24px; }
.ovp-back { padding-top:24px; padding-bottom:24px; }
.ovp-back a { display:inline-flex; height:44px; min-height: 44px; padding:0 20px; align-items:center; gap:9px; border-radius:999px; color:#f10b0b; background:#f1f1f1; font-size:15px; font-weight:500; }
.ovp-back a span { font-size:27px; line-height:1; margin-top:-2px; }
.ovp-product { padding-bottom:132px; }
.ovp-product__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; align-items:start; }
.ovp-gallery { position:sticky; top:84px; }
.ovp-gallery__stage { position:relative; aspect-ratio:1; overflow:hidden; padding: 40px; border-radius:24px; background:var(--ovp-cream); }
.ovp-gallery__stage>img { display:block; width:100%; height:100%; object-fit:cover; cursor:pointer; }
.ovp-badges { position:absolute; z-index:2; top:16px; left:16px; display:flex; flex-wrap:wrap; gap:6px; }
.ovp-badge { display:inline-flex; align-items:center; min-height:24px; padding:4px 9px; border-radius:999px; color:#fff; font-size:13px; line-height:16px; font-weight:500;gap:4px }
.ovp-badge--blue { background:rgba(0, 145, 255, 0.90); }
.ovp-badge--dark-blue { background:rgba(0, 119, 209, 0.90); }
.ovp-badge--red { background:#ef0808; }
.ovp-gallery__arrow { position:absolute; z-index:3; top:50%; display:grid; width:48px; height:48px; margin-top:-24px; padding:0; place-items:center; border:0; border-radius:50%; color:#172033; background:rgba(15,23,42,.05); cursor:pointer; transition:color .2s ease,background-color .2s ease; }
.ovp-gallery__arrow:not(:disabled):hover { color:#fff; background:var(--ov-red); }
.ovp-gallery__arrow:not(:disabled):hover path { fill:#fff; }
.ovp-gallery__arrow:disabled { pointer-events:none; cursor:default; }
.ovp-gallery__arrow:disabled svg { opacity:.4; }
.ovp-gallery__arrow--prev { left:16px; }.ovp-gallery__arrow--next { right:16px; }
.ovp-gallery__thumbs { display:flex; gap:12px; padding-top:12px; }
.ovp-gallery__thumb { width:80px; height:80px; padding:0; overflow:hidden; border:1px solid #f5df9d; border-radius:12px; background:var(--ovp-cream); cursor:pointer; }
.ovp-gallery__thumb.is-active { border-color:#f20c18; }.ovp-gallery__thumb img { width:100%;height:100%;object-fit:cover; }
.ovp-info { padding:32px; overflow:hidden; border-radius:46px; background:var(--ovp-yellow); }

.ovp-info__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 28px;

  color: rgba(15, 23, 42, 0.70);
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 123.077% */
  letter-spacing: 0.26px;
  text-transform: uppercase;
}

.ovp-stock {
  display: inline-flex;
  min-height: 28px;
  padding: 6px 12px;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  border-radius: 999px;
  color: #00611B;
  background: #5BFF77;
  text-transform: none;
}
.ovp-stock i { width:6px;height:6px;border-radius:50%;background:#00611B; }

.ovp-stock.red {
  background: #ef0808;
  color: #fff;
}
.ovp-stock.red i { width:6px;height:6px;border-radius:50%;background:#fff; }


.ovp-info h1 {
  margin:24px 0 16px;
  color: #0F172A;
  font-size: 44px;
  font-style: normal;
  font-weight: 600;
  line-height: 44px; /* 100% */
  letter-spacing: -1.76px;
}
.ovp-info__lead {
  margin:0;
  color: rgba(15, 23, 42, 0.70);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
.ovp-options {
  margin: 32px 0 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.ovp-options legend { margin-bottom:16px; padding:0; font-size:20px; font-weight:600; }

.ovp-options label {
  display: inline-block;
  width: calc((100% - 32px) / 3);
  margin-right: 0;
  vertical-align: top;
  cursor: pointer;
  position: relative;
}
.ovp-options label:last-child { margin-right:0; }.ovp-options input { position:absolute; opacity:0; pointer-events:none; }
.ovp-options label > span {
  position: relative;
  display: flex;
  min-height: 74px;
  padding: 16px;
  flex-direction: column;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.50);
  background: rgba(255, 255, 255, 0.20);
  color: #0F172A;
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px; /* 110% */
  letter-spacing: -0.4px;
  gap: 4px
}
.ovp-options em {
  color: rgba(15, 23, 42, 0.70);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0;
}

.ovp-options svg {
  position: absolute;
  top: 16px;
  right: 16px;
}
.ovp-options input:checked+span { border-color:#fff; background:#fff; }

.ovp-contact-btn {
  display: inline-flex;
  min-width: 194px;
  height: 56px;
  padding: 0 25px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  color: #fff;
  background: #f90808;
  font-size: 17px;
  cursor: pointer;
  margin-top: 32px;
}
.ovp-accordions { margin-top:30px; }.ovp-accordion { border-top:1px solid rgba(255, 255, 255, 0.50); }
.ovp-accordion>button { display:flex; width:100%; height:72px; padding:0; align-items:center; justify-content:space-between; border:0; color:#111827; background:transparent; font-size:20px; font-weight:600; text-align:left; cursor:pointer; }
.ovp-accordion>button i { width:9px;height:9px;border-top:1.5px solid;border-left:1.5px solid;transform:rotate(45deg) translate(2px,2px);transition:.25s; }
.ovp-accordion:not(.is-open)>button i { transform:rotate(225deg) translate(1px,1px); }.ovp-accordion__body { max-height:0; overflow:hidden; transition:max-height .4s cubic-bezier(.22,.61,.36,1); }
.ovp-benefits { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:24px; }

.ovp-benefits span {
  display: inline-flex;
  min-height: 36px;
  padding: 7px 12px;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(255, 255, 255, 0.50);
  background: rgba(255, 255, 255, 0.20);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  line-height: 16px;
  color: #0F172A;
}
.ovp-benefits b { font-weight:600; }.ovp-features { display:grid; gap:16px; margin:0; padding:0 0 36px; }
.ovp-features>div { position:relative; min-height:40px; padding-left:56px; }

.ovp-features dt {
  font-size: 15px;
  font-weight: 600;
  line-height: 120%;
  letter-spacing: -0.3px;
}

.ovp-features dt i {
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.50);
  background: rgba(255, 255, 255, 0.20);
  border-radius: 50%;
  font-style: normal;
  font-size: 20px;
}

.ovp-features dd {
  margin: 2px 0 0;
  color: rgba(15, 23, 42, 0.70);
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px;
}

.ovp-detail {
  margin: 0;
  padding: 0 0 4px;
  color: rgba(15, 23, 42, 0.70);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
.ovp-viewed { padding:0 0 128px; overflow:hidden; }.ovp-viewed header { display:flex; align-items:center; justify-content:space-between; margin-bottom:40px; }
.ovp-viewed h2 { margin:0; font-size:44px; font-weight:600; line-height:48px; letter-spacing:-1.8px; }
.ovp-viewed__slider { position:relative; }
.ovp-viewed__track { width:max-content; }
.ovp-viewed__track .ov-catalog-card { width:285px; min-width:285px; scroll-snap-align:start; }
.ovp-viewed__slider>.ov-slider__nav { position:absolute; right:0; bottom:calc(100% + 40px); margin:0; }
.ovp-viewed-card { width:285px; min-width:285px; overflow:hidden; border:1px solid rgba(15,23,42,.08); border-radius:34px; background:#fff; box-shadow:0 8px 18px rgba(15,23,42,.1); }
.ovp-viewed-card__media { position:relative; display:block; height:285px; background:var(--ovp-cream); }.ovp-viewed-card__media img { width:100%;height:100%;object-fit:cover; }
.ovp-viewed-card__media .ovp-badges { top:12px;left:12px;flex-direction:column;align-items:flex-start; }
.ovp-viewed-card__body { position:relative; min-height:165px; padding:20px 16px 16px; }.ovp-viewed-card h3 { margin:0 0 12px; font-size:18px; font-weight:500; }.ovp-viewed-card h3 a { color:var(--ovp-ink); }
.ovp-viewed-card p { display:-webkit-box; margin:0; overflow:hidden; color:#71717a; font-size:15px; line-height:1.45; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.ovp-viewed-card__more { position:absolute; right:16px;bottom:16px;display:grid;width:44px;height:44px;place-items:center;border-radius:50%;color:#fff;background:#f90808;font-size:28px; }

.ov-404 .ov-eyebrow {
  color: #F00;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px; /* 106.667% */
  letter-spacing: 0.6px;
  text-transform: uppercase;
  background: transparent;
  padding: 0;
}
.ov-404 .ov-hero__container {
  min-height: calc(100vh - 124px);
  display: flex;
  align-items: center;
  padding-top: 0;
}
.ov-404 .ov-hero__copy {
  padding-top: 0;
}
.ov-404 .ov-hero__visual {
  top: 50%;
  right: 0;
  width: 50%;
  max-width: 50%;
  transform: translate(0px, -50%);
}
.ov-404 .ov-hero__title {
  font-size: 60px;
}
.ov-404 .ov-hero__actions {
  margin-top: 40px;
}
.ov-404 .ov-btn {
  min-width: 170px;
}
.ov-404 .ov-btn.ov-btn--red {
  gap: 4px
}

.ov-404-footer {
  color: #A1A1AA;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  padding: 24px 0;
}

@media (max-width: 767px) {
  .ov-product-page .container { width:calc(100% - 32px); }.ovp-breadcrumbs { padding-top:24px;overflow:hidden; }.ovp-breadcrumbs .ov-breadcrumb.bc { min-height:56px; align-content:flex-start; flex-wrap:wrap; gap:8px 12px; }.ovp-breadcrumbs .ov-breadcrumb .bc__i { gap:12px; }.ovp-breadcrumbs .ov-breadcrumb .bc__i:last-child { width:100%; flex:1 0 100%; }.ovp-breadcrumbs .ov-breadcrumb .bc__i:nth-last-child(2)::after { display:none; }
  .ovp-back { display:none; }.ovp-product { padding:16px 0 80px; }.ovp-product__grid { display:block; width:100%!important; }
  .ovp-gallery { position:static; padding:0 16px 16px; }.ovp-gallery__stage { border-radius:18px; }.ovp-gallery__stage>img { object-fit:cover; }.ovp-gallery__arrow { display:none; }.ovp-badges { top:12px;left:12px; }.ovp-badge { min-height:24px;font-size:13px; }
  .ovp-gallery__thumbs { gap:12px; }.ovp-gallery__thumb { flex:1 1 0;width:auto;height:auto;aspect-ratio:1;border-radius:12px; }
  .ovp-info { padding:32px 16px 0; border-radius:32px; }.ovp-info h1 { margin:24px 0 16px;font-size:29px;line-height:.95;letter-spacing:-1px; }.ovp-info__lead { font-size:17px;line-height:1.42; }
  .ovp-options { margin:30px 0 28px; }.ovp-options legend { font-size:20px; }.ovp-options label { width:calc(50% - 6px);margin:0 8px 10px 0; }.ovp-options label:nth-of-type(2) { margin-right:0; }.ovp-options label>span { height:76px; }.ovp-contact-btn { width:100%; }
  .ovp-accordions { margin-top:28px; }.ovp-accordion>button { height:72px;font-size:20px; }.ovp-benefits { flex-direction:column;align-items:flex-start;gap:8px; }.ovp-benefits span { min-height:36px; }.ovp-features { gap:15px;padding-bottom:30px; }.ovp-features>div { padding-left:56px; }.ovp-features dd { font-size:14px;line-height:1.45; }.ovp-detail { padding-bottom:6px;font-size:17px;line-height:1.42; }
  .ovp-viewed { padding-bottom:80px; }.ovp-viewed header { margin-bottom:24px; }.ovp-viewed h2 { font-size:29px;line-height:36px;letter-spacing:-1px; }.ovp-viewed__track { gap:12px; }.ovp-viewed__track .ov-catalog-card { width:284px;min-width:284px;border-radius:32px; }.ovp-viewed__slider>.ov-slider__nav { position:static; margin-top:24px; }
}

/* Cookie notice --------------------------------------------------------- */
.pp-ck {
  padding: 24px;
  font-family: "Inter", Arial, sans-serif;
}

.pp-ck__row {
  display: flex;
  width: 462px;
  max-width: calc(100vw - 48px);
  padding: 24px;
  box-sizing: border-box;
  flex-direction: column;
  gap: 12px;
  color: #0f172a;
  background: #fff;
  border-radius: 32px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, .12);
}

.pp-ck__t {
  margin: 0;
  color: #0f172a;
  font-size: 19px;
  font-weight: 600;
  line-height: 24px;
  letter-spacing: -.19px;
}

.pp-ck__d {
  margin: 0;
  color: #0f172a;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.24;
}

.pp-ck__d span { color: #e50000; }

.pp-ck__f {
  display: flex;
  margin: 0;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.pp-ck .pp-ck__btn {
  display: inline-flex;
  width: auto !important;
  min-height: 44px;
  padding: 10px 16px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 18px;
  white-space: nowrap;
  cursor: pointer;
}

.pp-ck .pp-ck__btn._yes {
  color: #fff;
  background: #f00;
}

.pp-ck .pp-ck__btn._no {
  color: #e50000;
  background: rgba(15, 23, 42, .07);
}

.pp-ck .pp-ck__btn .btn-primary__w,
.pp-ck .pp-ck__btn .btn-tr__w { line-height: 18px; }

.pp-ck .pp-ck__btn .btn-primary__t,
.pp-ck .pp-ck__btn .btn-tr__t {
  display: block;
  color: inherit;
  line-height: 18px;
  text-shadow: none;
  transform: none;
  transition: none;
}

.pp-ck .btn-primary__dot { display: none; }

@media (pointer: fine) {
  .pp-ck .pp-ck__btn._yes:hover { color: #fff; background: #e50000; }
  .pp-ck .pp-ck__btn._no:hover { color: #e50000; background: rgba(15, 23, 42, .12); }
}

@media (max-width: 767px) {
  .pp-ck { padding: 12px; }
  .pp-ck__row {
    width: calc(100vw - 24px);
    max-width: none;
    padding: 20px;
    border-radius: 24px;
  }
}

/* Search ---------------------------------------------------------------- */
.ov-quick-search.search:not(body) {
  z-index: 1000;
  padding-top: 32px;
  background: rgba(15, 23, 42, .55);
  font-family: "Inter", Arial, sans-serif;
}

.ov-quick-search > .search__close { z-index: 0; cursor: pointer; }
.ov-quick-search > .container { position: relative; z-index: 1; }
.ov-quick-search .search__w { width: 628px; max-width: 100%; margin: 0 auto; }
.ov-quick-search .search__top {
  position: relative;
  z-index: 2;
  display: block;
  padding: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
}
.ov-quick-search .search__top-w {
  display: flex;
  width: 100%;
  height: 48px;
  padding: 0 4px 0 16px;
  align-items: center;
  gap: 12px;
  overflow: hidden;
  border: 2px solid #f00;
  border-radius: 999px;
  background: #fff;
}
.ov-quick-search .search__top-btn {
  position: relative;
  width: 22px;
  height: 22px;
  padding: 0;
  flex: 0 0 22px;
}
.ov-quick-search .search__top-btn::after {
  display: none;
}
.ov-quick-search .search__top-btn::before {
  display: none;
}
.ov-quick-search .search__top-input {
  min-width: 0;
  height: 44px;
  padding: 0;
  color: #111827;
  font: 400 14px/20px "Inter", Arial, sans-serif;
  appearance: none;
}
.ov-quick-search .search__top-input::-webkit-search-cancel-button { display: none; }
.ov-quick-search .search__top-input::placeholder { color: #9ca3af; }
.ov-quick-search__clear {
  position: relative;
  display: none;
  width: 17px;
  height: 17px;
  padding: 0;
  flex: 0 0 17px;
  border: 0;
  cursor: pointer;
}

.ov-quick-search.has-value .ov-quick-search__clear { display: block; }
.ov-quick-search__submit {
  display: inline-flex;
  height: 38px;
  padding: 0 22px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  border: 0;
  border-radius: 999px;
  background: #f00;
  font: 500 14px/18px "Inter", Arial, sans-serif;
  cursor: pointer;
}
.ov-quick-search__submit:hover {
  background: var(--ov-red-dark);
}
.ov-quick-search .search__cont {
  margin-top: 8px;
  padding: 0;
  overflow: visible;
  border-radius: 28px;
  background: transparent;
  box-shadow: none;
  transform-origin: top center;
}
.ov-quick-search .search__cont:not(._active) { transform: scale(.98); opacity: 0; }
.ov-quick-search__suggestions,
.ov-quick-search__results,
.ov-quick-search__empty {
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 8px 30px rgba(15, 23, 42, .12);
}
.ov-quick-search__suggestions { padding: 10px; }
.ov-quick-search__label {
  text-transform: uppercase;
  padding: 0 10px 0 46px;
  display: block;
  color: rgba(29, 25, 19, 0.51);
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%; /* 14.4px */
  letter-spacing: -0.12px;
}
.ov-quick-search__suggestions > .ov-quick-search__label {
  padding-left: 0;
  padding-top: 10px;
  padding-bottom: 10px;

}
.ov-quick-search__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ov-quick-search__chips a {
  display: inline-flex;
  min-height: 32px;
  padding: 8px 12px;
  align-items: center;
  border: 1px solid #EBEBEB;
  border-radius: 999px;
  color: #181716;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%; /* 19.6px */
  letter-spacing: -0.42px;
}
.ov-quick-search__section { padding: 16px 6px; }
.ov-quick-search__section + .ov-quick-search__section { border-top: 1px solid #e5e7eb; }
.ov-quick-search__list { display: grid; margin-top: 8px; gap: 4px; }
.ov-quick-search__product {
  display: flex;
  padding: 4px 0;
  align-items: center;
  gap: 10px;
  color: #111827;
}
.ov-quick-search__thumb {
  display: block;
  width: 36px;
  height: 36px;
  padding: 3px;
  flex: 0 0 36px;
  overflow: hidden;
  border-radius: 7px;
  background: #fff7dc;
}
.ov-quick-search__thumb img { width: 100%; height: 100%; object-fit: contain; }
.ov-quick-search__copy { display: grid; min-width: 0; gap: 1px; }
.ov-quick-search__copy strong,
.ov-quick-search__copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ov-quick-search__copy strong { font-size: 12px; font-weight: 600; line-height: 16px; }
.ov-quick-search__copy small { color: #9ca3af; font-size: 9px; line-height: 13px; }
.ov-quick-search__news-item {
  display: flex;
  min-height: 34px;
  align-items: center;
  gap: 12px;

  color: rgba(15, 23, 42, 0.50);
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 20px; /* 142.857% */
  letter-spacing: -0.35px;
}
.ov-quick-search__news-item > span:last-child {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  padding-right: 14px;
}
.ov-quick-search__copy strong {
  color: #0F172A;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22px; /* 157.143% */
  letter-spacing: -0.14px;
}
.ov-quick-search__copy small {
  display: none !important;
}
.ov-quick-search__news-icon {
  position: relative;
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  padding: 10px;
}
.ov-quick-search__news-icon::after,
.ov-search-page__form-icon::after {
  display: none;
}
.ov-quick-search__all {
  display: inline-flex;
  margin-top: 9px;
  align-items: center;
  gap: 7px;

  color: #E50000;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 20px; /* 142.857% */
  letter-spacing: -0.28px;
  padding-left: 46px;
}
.ov-quick-search__all span { font-size: 18px; font-weight: 300; }
.ov-quick-search__empty {
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 3px;
  text-align: center;
}

.ov-quick-search__empty strong {
  color: rgba(15, 23, 42, 0.50);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 20px; /* 142.857% */
  letter-spacing: -0.35px;
}

.ov-quick-search__empty span {
  color: rgba(15, 23, 42, 0.50);
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 20px; /* 142.857% */
  letter-spacing: -0.35px;
}
.ov-quick-search .js-srch-main._loading .search__cont { opacity: .62; pointer-events: none; }

.ov-search-page {
  color: #111827;
  background: #fff;
  font-family: "Inter", Arial, sans-serif;
}
.ov-search-page__breadcrumbs { padding-top: 22px; }
.ov-search-page__head { padding: 28px 0 48px; }
.ov-search-page__head h1 {
  margin: 0;
  color: #0f172a;
  font-size: 44px;
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -1.8px;
}
.ov-search-page__empty-note { margin: 18px 0 0; color: #f00; font-size: 14px; line-height: 20px; }
.ov-search-page__form {
  display: flex;
  width: 586px;
  max-width: 100%;
  height: 48px;
  margin-top: 28px;
  padding: 0 16px;
  align-items: center;
  gap: 13px;
  border: 1.5px solid #d1d5db;
  border-radius: 999px;
}
.ov-search-page__form input[type="search"] {
  min-width: 0;
  height: 44px;
  padding: 0;
  flex: 1 1 auto;
  color: #111827;
  border: 0;
  outline: 0;
  background: transparent;
  font: 400 14px/20px "Inter", Arial, sans-serif;
  appearance: none;
}
.ov-search-page__form input[type="search"]::-webkit-search-cancel-button { display: none; }
.ov-search-page__form:focus-within { border-color: #f00; }
.ov-search-page__form input[type="search"]:not(:placeholder-shown) ~ .ov-search-page__clear { display: block; }
.ov-search-tabs {
  display: inline-flex;
  min-height: 42px;
  margin-top: 20px;
  padding: 4px;
  align-items: center;
  gap: 2px;
  border-radius: 999px;
  background: #F8F6F1;
}
.ov-search-tabs a {
  display: inline-flex;
  min-height: 40px;
  padding: 10px 20px;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  border-radius: 999px;

  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
}
.ov-search-tabs a.is-active { color: #0F172A; background: #FB3; }
.ov-search-page__content { padding: 0 0 112px; }
.ov-search-section + .ov-search-section { margin-top: 84px; }
.ov-search-section h2 {
  margin: 0 0 28px;
  color: #0f172a;
  font-size: 32px;
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -1px;
}
.ov-search-products,
.ov-search-news { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ov-search-products .ov-catalog-card { min-width: 0; }
.ov-search-news .ov-news-card { min-width: 0; }
.ov-search-news .ov-news-card--search .ov-news-card__media {
  position: relative;
  height: 200px;
  overflow: hidden;
}
.ov-search-news .ov-news-card--search .ov-news-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ov-search-news .ov-news-card__category {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  min-height: 24px;
  padding: 5px 9px;
  align-items: center;
  color: #111827;
  border-radius: 999px;
  background: #fff;
  font-size: 9px;
  font-weight: 500;
  line-height: 14px;
}
.ov-search-news .ov-news-card--search .ov-news-card__body { min-height: 220px; padding: 16px; }
.ov-search-news .ov-news-card--search .ov-news-card__body > span {
  position: relative;
  right: 0;
  bottom: 0;
  margin: auto 0 0 auto;
}
.ov-search-news .ov-news-card--search time {
  display: block;
  margin-bottom: 12px;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.40);
  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 14.3px */
  letter-spacing: 0.44px;
  text-transform: uppercase;
}
.ov-search-news .ov-news-card--search h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.ov-search-news .ov-news-card--search p {
  display: -webkit-box;
  min-height: 34px;
  margin-bottom: 12px;
  margin-top: 12px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.ov-search-news .ov-news-card--search p::before { min-height: 34px; }
.ov-search-news .ov-news-card--search .ov-news-card__body > span { background: #f00; transition: transform .2s ease, background-color .2s ease;}
.ov-search-news .ov-news-card--search .ov-news-card__body:hover > span { background: #d90000;transform: translateX(2px); }
.ov-search-more {
  display: flex;
  min-width: 210px;
  min-height: 48px;
  margin: 32px auto 0;
  padding: 12px 24px;
  align-items: center;
  justify-content: center;
  color: #111827;
  border: 0;
  border-radius: 999px;
  background: #f3f4f6;
  font: 500 14px/20px "Inter", Arial, sans-serif;
  cursor: pointer;
}
.ov-search-more.is-loading { opacity: .55; pointer-events: none; }

@media (pointer: fine) {
  .ov-quick-search__chips a:hover { border-color: #f00; color: #f00; }
  .ov-quick-search__product:hover strong,
  .ov-quick-search__news-item:hover { color: #f00; }
  .ov-search-tabs a:hover { color: #111827; }
  .ov-search-more:hover { background: #e5e7eb; }
}

@media (min-width: 768px) {
  .ov-quick-search .search__top-btn > svg + svg {
    display: none;
  }
}

@media (max-width: 767px) {
  .ov-quick-search.search:not(body) {
    padding: 16px 0 0;
    overflow-y: auto;
    background: #fff;
  }
  .ov-quick-search > .container { width: 100%; padding: 0 16px; }
  .ov-quick-search .search__w { width: 100%; }
  .ov-quick-search .search__top-w { height: 48px; padding: 0 16px; gap: 12px; }
  .ov-quick-search .search__top-btn { width: 24px; height: 24px; }
  .ov-quick-search .search__top-btn::after {
    width: 10px;
    height: 10px;
    margin: 5px 0 0 3px;
    border-width: 0 0 1.5px 1.5px;
    border-radius: 0;
    transform: rotate(45deg);
  }
  .ov-quick-search .search__top-btn::before {
    top: 10px;
    right: 1px;
    bottom: auto;
    width: 17px;
    height: 1.5px;
    transform: none;
  }
  .ov-quick-search__submit { display: none; }
  .ov-quick-search .search__cont { margin-top: 0; border-radius: 0; }
  .ov-quick-search__suggestions,
  .ov-quick-search__results,
  .ov-quick-search__empty { border-radius: 0; box-shadow: none; }
  .ov-quick-search__suggestions { padding: 15px 0 24px; }
  .ov-quick-search__chips { margin-top: 10px; gap: 8px 6px; }
  .ov-quick-search__chips a { min-height: 32px; padding: 7px 12px; font-size: 11px; }
  .ov-quick-search__section { padding: 16px 0 13px; }
  .ov-quick-search__section + .ov-quick-search__section { border-color: #e5e7eb; }
  .ov-quick-search__label { padding-left: 36px; }
  .ov-quick-search__suggestions .ov-quick-search__label { padding-left: 0; }
  .ov-quick-search__product { min-height: 48px; padding: 4px 0; gap: 10px; }
  .ov-quick-search__thumb { width: 36px; height: 36px; flex-basis: 36px; }
  .ov-quick-search__copy strong { font-size: 11px; }
  .ov-quick-search__news-item { min-height: 36px; font-size: 10px; }
  .ov-quick-search__all { margin-left: 36px; }
  .ov-quick-search__empty {
    min-height: 72px;
    margin-top: 72px;
    border-radius: 999px;
    background: #f5f5f5;
  }

  .ov-search-page__breadcrumbs { padding-top: 14px; }
  .ov-search-page__head { padding: 22px 0 40px; }
  .ov-search-page__head h1 { font-size: 29px; line-height: 34px; letter-spacing: -1px; }
  .ov-search-page__empty-note { max-width: 320px; margin-top: 13px; font-size: 12px; line-height: 17px; }
  .ov-search-page__form { width: 100%; height: 48px; margin-top: 22px; padding: 0 15px; }
  .ov-search-tabs { max-width: 100%; min-height: 40px; margin-top: 16px; padding: 3px; }
  .ov-search-page__content { padding-bottom: 80px; }
  .ov-search-section + .ov-search-section { margin-top: 52px; }
  .ov-search-section h2 { margin-bottom: 18px; font-size: 23px; line-height: 28px; letter-spacing: -.7px; }
  .ov-search-products,
  .ov-search-news { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ov-search-products .ov-catalog-card { border-radius: 16px; }
  .ov-search-products .ov-catalog-card__media { aspect-ratio: 165.5 / 170; }
  .ov-search-products .ov-catalog-card__image { inset: 10px; width: calc(100% - 20px); height: calc(100% - 20px); }
  .ov-search-products .ov-catalog-card__tags { top: 7px; left: 7px; gap: 3px; }
  .ov-search-products .ov-catalog-card__tag { min-height: 17px; padding: 3px 6px; font-size: 7px; }
  .ov-search-products .ov-catalog-card__body { min-height: 98px; padding: 12px; }
  .ov-search-products .ov-catalog-card__title { font-size: 14px; line-height: 17px; }
  .ov-search-products .ov-catalog-card__description {
    margin: 8px 0 0;
    font-size: 12px;
    line-height: 16px;
    -webkit-line-clamp: 2;
  }
  .ov-search-products .ov-catalog-card__more { display: none; }
  .ov-search-news .ov-news-card { min-width: 0; border-radius: 16px; }
  .ov-search-news .ov-news-card > img { height: auto; aspect-ratio: 1 / .92; }
  .ov-search-news .ov-news-card--search .ov-news-card__media { height: auto; aspect-ratio: 165.5 / 170; }
  .ov-search-news .ov-news-card__category { top: 7px; left: 7px; min-height: 18px; padding: 3px 6px; font-size: 9px; line-height: 12px; }
  .ov-search-news .ov-news-card__body,
  .ov-search-news .ov-news-card--search .ov-news-card__body { min-height: 137px; padding: 16px; }
  .ov-search-news .ov-news-card--search time { margin-bottom: 12px; font-size: 11px; line-height: 14px; }
  .ov-search-news .ov-news-card h3 { font-size: 15px; line-height: 18px; -webkit-line-clamp: 2; }
  .ov-search-news .ov-news-card--search h3 { -webkit-line-clamp: 2; }
  .ov-search-news .ov-news-card p,
  .ov-search-news .ov-news-card--search p {
    min-height: 0;
    margin: 4px 0 0;
    padding-left: 0;
    font-size: 12px;
    line-height: 13px;
    -webkit-line-clamp: 2;
    margin-bottom: 12px;
    margin-top: 12px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .ov-search-news .ov-news-card p::before,
  .ov-search-news .ov-news-card--search p::before { display: none; }
  .ov-search-news .ov-news-card__body > span { display: none; }
  .ov-search-more { width: 100%; min-height: 48px; margin-top: 24px; }
}

.form__input._error,
.form__mess._error {
  border-color: #e50000 !important;
}
.pp-vac__form .form__error {
  display: none;
}

/* Article archives and single articles */
.ov-articles-archive,
.ov-article-single { color: #0f172a; background: #fff; }
.ov-article-hero {
  height: 540px;
  padding: 8px;
  background: #fff;
}
.ov-article-hero__inner {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  padding: 54px max(24px, calc((100vw - 1204px) / 2));
  border-radius: 36px;
  background:
    linear-gradient(90deg, rgba(252,229,90,.96) 0%, rgba(255,188,51,.76) 51%, rgba(255,255,255,.08) 100%),
    var(--article-hero, none) center/cover no-repeat;
}
.ov-article-hero.has-image .ov-article-hero__inner { background-image: linear-gradient(90deg, rgba(252,229,90,.68), rgba(255,255,255,0) 72%), var(--article-hero); }
.ov-article-hero__crumb .bc { margin: 0; }
.ov-article-hero__copy {
  position: absolute;
  top: 50%;
  width: min(586px, 48vw);
  transform: translateY(-24%);
}
.ov-article-hero__copy h1 {
  margin: 0;
  font-size: 72px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -2.16px;
}
.ov-article-hero__description {
  max-width: 560px;
  margin-top: 16px;
  color: rgba(15,23,42,.7);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.6px;
}
.ov-article-hero__description p { margin: 0; }
.ov-article-catalog { padding: 132px 0; }
.ov-article-tabs {
  display: flex;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  margin: 0 auto 40px;
  padding: 0;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  overflow: visible;
  background: transparent;
  scrollbar-width: none;
}
.ov-article-tabs::-webkit-scrollbar { display: none; }
.ov-article-tabs.is-draggable { cursor: grab; }
.ov-article-tabs.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}
.ov-article-tabs a {
  display: inline-flex;
  min-height: 40px;
  padding: 10px 20px;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 999px;
  color: #71717a;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  white-space: nowrap;
  background: #f4f4f5;
}
.ov-article-tabs a.is-active { color: #0F172A; background: linear-gradient(90deg, #FB3 0%, #F4A300 100%); }
.ov-article-tabs--ingredients {
  width: max-content;
  max-width: 100%;
  min-height: 48px;
  margin-top: -22px;
  margin-bottom: 72px;
  padding: 4px;
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid rgba(190,190,190,.61);
  border-radius: 999px;
  background: rgba(255,255,255,.48);
  backdrop-filter: blur(8px);
}
.ov-article-tabs--ingredients a { min-height: 40px; padding: 10px 20px; background: transparent; }
.ov-article-tabs--ingredients a.is-active { color: #0f172a; background: #FB3; }
.ov-article-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 16px;
}
.ov-article-catalog {
  background: url(/wp-content/themes/theme-sp/img/ovostar-categ/media-bottom-bg.jpg) center 1580px / 100% no-repeat;
}
.ov-article-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 434px;
  overflow: hidden;
  flex-direction: column;
  color: #0f172a;
  border-radius: 32px;
  background: #fff;
  box-shadow: 0 4px 24px rgba(0,0,0,.12);
  transition: transform .25s ease, box-shadow .25s ease;
}
.ov-article-card__media {
  position: relative;
  height: 240px;
  overflow: hidden;
  flex: 0 0 auto;
  background: #f4f4f5;
}
.ov-article-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ov-article-card__tag {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  min-height: 28px;
  padding: 5px 9px;
  align-items: center;
  border: 1px solid rgba(15,23,42,.07);
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 1px 1px rgba(0,0,0,.05);
  font-size: 13px;
  font-weight: 500;
  line-height: 16px;
  backdrop-filter: blur(6px);
}
.ov-article-card__body {
  display: flex;
  min-height: 194px;
  padding: 16px;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
}
.ov-article-card time {
  margin-bottom: 12px;
  color: rgba(15,23,42,.4);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: .44px;
  text-transform: uppercase;
}
.ov-article-card h3 {
  display: -webkit-box;
  margin: 0 0 12px;
  overflow: hidden;
  color: #18181b;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.54px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ov-article-card p {
  display: -webkit-box;
  min-height: 46px;
  margin: 0 0 12px;
  padding-left: 10px;
  overflow: hidden;
  color: #71717a;
  border-left: 2px solid #f00;
  font-size: 14px;
  line-height: 22px;
  letter-spacing: -.14px;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.ov-article-card__arrow,
.ov-related-articles__head > a i {
  position: relative;
  display: block;
  width: 44px;
  height: 44px;
  margin: auto 0 0 auto;
  border-radius: 50%;
  background: #f00;
}

.ov-article-card__arrow,
.ov-related-articles__head > a i {
  transition: transform .2s ease, background-color .2s ease;
}
.ov-article-card__arrow:hover,
.ov-related-articles__head:hover > a i {
  background: var(--ov-red-dark);
  transform: translateX(2px);
}

.ov-article-card__arrow::before,
.ov-related-articles__head > a i::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  content: '';
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translate(-65%,-50%) rotate(45deg);
}
.ov-article-card--recipe { border: 1px solid rgba(15,23,42,.08); border-radius: 36px; box-shadow: none; }
.ov-article-card--recipe .ov-article-card__media { height: 290px; }
.ov-article-card--recipe .ov-article-card__tag { top: 16px; left: 16px; }
.ov-article-card--recipe .ov-article-card__body { min-height: 143px; }
.ov-article-card--recipe h3 { margin: 12px 0 0; font-weight: 500; }
.ov-recipe-meta {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 18px;
  color: #a1a1aa;
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}
.ov-recipe-meta span { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; }
.ov-recipe-meta small { font: inherit; text-transform: lowercase; }
.ov-recipe-meta .ov-recipe-meta__stars { gap: 1px; }
.ov-recipe-meta__stars svg { display: block; width: 14px; height: 14px; flex: 0 0 14px; }
.ov-recipe-meta__stars path { fill: none; stroke: #fbbf24; stroke-width: .875; }
.ov-recipe-meta__difficulty[data-difficulty="1"] .ov-recipe-meta__stars svg:nth-child(-n+1) path,
.ov-recipe-meta__difficulty[data-difficulty="2"] .ov-recipe-meta__stars svg:nth-child(-n+2) path,
.ov-recipe-meta__difficulty[data-difficulty="3"] .ov-recipe-meta__stars svg:nth-child(-n+3) path,
.ov-recipe-meta__difficulty[data-difficulty="4"] .ov-recipe-meta__stars svg:nth-child(-n+4) path { fill: #fbbf24; stroke: none; }
.ov-recipe-meta__portions svg,
.ov-recipe-meta__time svg { display: block; flex: 0 0 auto; }

.ov-article-more {
  display: flex;
  width: 233px;
  height: 56px;
  min-height: 56px;
  margin: 40px auto 0;
  padding: 0 32px;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #fff;
  border: 0;
  border-radius: 999px;
  background: var(--ov-red);
  font: 500 17px/20px Inter, sans-serif;
  cursor: pointer;
  transition: background-color .2s ease;
}
.ov-article-more img { display: block; width: 24px; height: 24px; padding: 4px 1.4px; object-fit: contain; }
.ov-article-more:hover { background: var(--ov-red-dark); }
.ov-article-more.is-loading { opacity: .55; pointer-events: none; }
.ov-article-pagination { margin-top: 32px; }
.ov-article-pagination .pg { gap: 10px; }
.ov-article-pagination .pg__i:not(._first, ._prev, ._next, ._last) a,
.ov-article-pagination .pg__i:not(._first, ._prev, ._next, ._last) span {
  min-width: 36px;
  min-height: 36px;
  border-radius: 50%;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
}
.ov-article-pagination .pg__i._active span { color: #fff; background: var(--ov-ink); }
.ov-article-empty { grid-column: 1 / -1; text-align: center; }

.ov-recipe-video { padding: 132px 0 14px; }
.ov-recipe-video__head { max-width: 586px; margin: 0 auto 40px; text-align: center; }
.ov-recipe-video__head h2 { margin: 0; font-size: 44px; font-weight: 600; line-height: 44px; letter-spacing: -1.76px; }
.ov-recipe-video__head h2 em { color: #f00; font-style: normal; }
.ov-recipe-video__head div { max-width: 460px; margin: 12px auto 0; color: #64748b; font-size: 16px; line-height: 24px; }
.ov-recipe-video__player {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1188 / 582;
  overflow: hidden;
  padding: 8px;
  border: 0;
  border-radius: 42px;
  background: #fce55a;
  box-shadow: 0 8px 28px rgba(15,23,42,.15);
  cursor: pointer;
}
.ov-recipe-video__player > img,
.ov-recipe-video__player iframe,
.ov-recipe-video__player video { width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 34px; }
.ov-recipe-video__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%,-50%);
}
.ov-recipe-video__play::before { position: absolute; top: 50%; left: 52%; content: ''; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 12px solid #0f172a; transform: translate(-50%,-50%); }
.ov-recipe-video__duration { position: absolute; right: 28px; bottom: 22px; color: #fff; font-size: 12px; }

.ov-related-articles {
  position: relative;
  overflow: hidden;
  padding: 132px 0;
}
.is-recipe .ov-related-articles {
  margin-top: 132px;
}
.ov-related-articles__head { display: flex; margin-bottom: 40px; align-items: center; justify-content: space-between; gap: 24px; }
.ov-related-articles__head h2 { margin: 0; font-size: 44px; font-weight: 600; line-height: 44px; letter-spacing: -1.76px; }
.ov-related-articles__head > a { display: inline-flex; min-height: 56px; padding: 6px 6px 6px 24px; align-items: center; gap: 12px; color: #fff; border-radius: 999px; background: #f00; font-size: 17px; font-weight: 500; }
.ov-related-articles__head > a i { width: 40px; height: 40px; background: transparent; }
.ov-related-articles__track { display: flex; gap: 16px; overflow: visible; }
.ov-related-articles__track .ov-article-card { width: calc((100% - 32px) / 3); min-width: calc((100% - 32px) / 3); box-shadow: none; }
.ov-related-articles__controls { margin-top: 32px; }

@media (pointer: fine) {
  .ov-article-card:hover { transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.16); }
  .ov-article-card:hover .ov-article-card__media img { transform: scale(1.035); }
  .ov-article-tabs a:hover { color: #0f172a; }
}

@media (max-width: 1023px) {
  .ov-article-hero__inner { padding-right: 32px; padding-left: 32px; }
  .ov-article-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .ov-related-articles__track .ov-article-card { width: calc((100% - 16px) / 2); min-width: calc((100% - 16px) / 2); }
}

@media (max-width: 767px) {
  .ov-article-hero { height: 520px; padding: 8px; }
  .ov-article-hero__inner { padding: 24px 16px; border-radius: 28px; background-position: 62% center; }
  .ov-article-hero__copy { top: auto; bottom: 42px; width: calc(100% - 32px); transform: none; }
  .ov-article-hero__copy h1 { font-size: 44px; line-height: 46px; letter-spacing: -1.4px; }
  .ov-article-hero__description { margin-top: 12px; font-size: 14px; line-height: 20px; letter-spacing: -.2px; }
  .ov-article-catalog { padding: 40px 0 80px; }
  .ov-article-catalog .container { width: 100%; padding: 0 16px; }
  .ov-article-tabs { width: calc(100vw - 16px); max-width: none; margin: 0 -16px 28px 0; padding-right: 16px; justify-content: flex-start; flex-wrap: nowrap; gap: 4px; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; border-radius: 0; background: transparent; -webkit-overflow-scrolling: touch; }
  .ov-article-tabs a { min-height: 40px; padding: 9px 16px; background: #f4f4f5; font-size: 12px; }
  .ov-article-tabs--ingredients { width: 100%; max-width: 100%; min-height: 48px; margin-top: -16px; margin-right: 0; margin-bottom: 32px; padding: 4px; gap: 4px; border: 1px solid rgba(190,190,190,.61); border-radius: 999px; background: rgba(255,255,255,.48); }
  .ov-article-tabs--ingredients a { min-height: 40px; padding: 9px 14px; background: transparent; }
  .ov-article-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 32px 12px; }
  .ov-article-card { min-height: 292px; border-radius: 20px; }
  .ov-article-card__media { height: auto; aspect-ratio: 165.5 / 138; }
  .ov-article-card__tag { top: 8px; left: 8px; min-height: 20px; padding: 3px 7px; font-size: 8px; line-height: 12px; }
  .ov-article-card__body { min-height: 154px; padding: 10px; }
  .ov-article-card time { margin-bottom: 8px; font-size: 7px; line-height: 10px; }
  .ov-article-card h3 { margin-bottom: 8px; font-size: 12px; line-height: 15px; letter-spacing: -.25px; }
  .ov-article-card p { min-height: 34px; margin-bottom: 8px; padding-left: 7px; font-size: 8px; line-height: 11px; -webkit-line-clamp: 3; }
  .ov-article-card__arrow { width: 32px; height: 32px; }
  .ov-article-card__arrow::before { width: 6px; height: 6px; border-width: 1.5px; }
  .ov-article-card--recipe { min-height: 284px; border-radius: 20px; }
  .ov-article-card--recipe .ov-article-card__media { height: auto; aspect-ratio: 165.5 / 188; }
  .ov-article-card--recipe .ov-article-card__tag { top: 8px; left: 8px; }
  .ov-article-card--recipe .ov-article-card__body { min-height: 95px; }
  .ov-article-card--recipe h3 { margin-top: 8px; }
  .ov-recipe-meta { gap: 7px; font-size: 8px; line-height: 12px; }
  .ov-recipe-meta small { display: none; }
  .ov-recipe-meta span { gap: 3px; }
  .ov-recipe-meta .ov-recipe-meta__stars { gap: 0; }
  .ov-recipe-meta__stars svg { width: 8px; height: 8px; flex-basis: 8px; }
  .ov-recipe-meta__portions svg { width: 8px; height: 9px; }
  .ov-recipe-meta__time svg { width: 9px; height: 9px; }
  .ov-article-more { width: 233px; margin: 40px auto 0; }

  .ov-recipe-video { padding: 48px 0 8px; }
  .ov-recipe-video .container { width: 100%; padding: 0 16px; }
  .ov-recipe-video__head { margin-bottom: 24px; }
  .ov-recipe-video__head h2 { font-size: 28px; line-height: 32px; letter-spacing: -.9px; }
  .ov-recipe-video__head div { margin-top: 8px; font-size: 12px; line-height: 17px; }
  .ov-recipe-video__player { aspect-ratio: 343 / 210; padding: 4px; border-radius: 24px; }
  .ov-recipe-video__player > img,
  .ov-recipe-video__player iframe,
  .ov-recipe-video__player video { border-radius: 20px; }
  .ov-recipe-video__play { width: 44px; height: 44px; }
  .ov-recipe-video__play::before { border-width: 6px 0 6px 9px; border-style: solid; border-color: transparent transparent transparent #0f172a; }

  .ov-related-articles { padding: 64px 0 80px; }
  .ov-related-articles .container { width: 100%; padding: 0 16px; }
  .ov-related-articles__head { margin-bottom: 24px; align-items: flex-start; }
  .ov-related-articles__head h2 { font-size: 28px; line-height: 32px; letter-spacing: -.9px; }
  .ov-related-articles__head > a { min-height: 40px; padding: 4px 4px 4px 14px; font-size: 11px; }
  .ov-related-articles__head > a i { width: 32px; height: 32px; }
  .ov-related-articles__track .ov-article-card { width: 82%; min-width: 82%; scroll-snap-align: start; }
}

/* Article and recipe detail pages — Figma alignment */
.ov-article-single.is-standard { background: #FFFAEB; }
.ov-article-single.is-recipe { background: #fff; }
.ov-article-single__breadcrumbs { padding: 0; overflow: visible; }

.ov-article-single__cover,
.ov-article-single__header-inner,
.ov-article-single__body { width: min(786px, calc(100% - 32px)); }
.ov-article-single__cover { height: auto; aspect-ratio: 786 / 480; margin: 56px auto 0; overflow: hidden; border-radius: 24px 24px 0 0; }
.ov-article-single__cover img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ov-article-single__header { padding: 16px 0 24px; }
.ov-article-single__header-inner { margin: 0 auto; }

.ov-article-single__header h1 {
  margin: 16px 0 24px;
  color: #0F172A;
  font-size: 60px;
  font-style: normal;
  font-weight: 500;
  line-height: 100%; /* 60px */
  letter-spacing: -1.8px;
}

.ov-article-single__tag {
  display: inline-flex;
  min-height: 22px;
  padding: 4px 8px;
  align-items: center;
  border-radius: 6px;
  background: #f4f4f5;

  color: #44403C;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px;
}

.ov-article-single__meta {
  display: flex;
  align-items: center;
  gap: 20px;

  color: #000;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;

}
.ov-article-single__meta time,
.ov-article-single__meta span { display: flex; align-items: center; gap: 8px; }
.ov-article-single__meta i { position: relative; width: 16px; height: 16px; border: 1.5px solid #a1a1aa; border-radius: 4px; }
.ov-article-single__meta span i { border-radius: 50%; }
.ov-article-single__meta time i::before { position: absolute; top: 3px; left: 2px; width: 9px; content: ''; border-top: 1.5px solid #a1a1aa; }
.ov-article-single__meta span i::before { position: absolute; top: 3px; left: 7px; height: 4px; content: ''; border-left: 1.5px solid #a1a1aa; transform: rotate(-25deg); transform-origin: bottom; }
.ov-article-single__body { margin: 0 auto 120px; }
.is-recipe .ov-article-single__body {margin-bottom: 0 !important;}
.ov-article-single__content { padding: 24px; border-radius: 24px; background: #fff; }
.ov-article-single.is-standard .ov-article-single__header {
  width: min(786px, calc(100% - 32px));
  margin: 0 auto;
  padding: 0;
  background: #fff;
}
.ov-article-single.is-standard .ov-article-single__header-inner { width: 100%; padding: 16px 24px; }
.ov-article-single.is-standard .ov-article-single__body { overflow: hidden; border-radius: 0 0 24px 24px; background: #fff; }
.ov-article-single.is-standard .ov-article-single__content { border-radius: 0 0 24px 24px; }
.ov-article-single.is-recipe .ov-article-single__content { padding: 0; border-radius: 0; background: transparent; }

.ov-article-single__content.def > * { margin: 16px 0; }
.ov-article-single__content.def > *:first-child { margin-top: 0; }
.ov-article-single__content.def > *:last-child { margin-bottom: 0; }
.ov-article-single__content.def h2,
.ov-article-single__content.def h3,
.ov-article-single__content.def h4 { color: #0f172a; }

.ov-article-single__content.def h2 {
  margin: 28px 0 16px;
  font-size: 44px;
  font-style: normal;
  font-weight: 600;
  line-height: 44px; /* 100% */
  letter-spacing: -1.76px;
}

.ov-article-single__content.def h3 {
  margin: 16px 0 12px;

  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.56px;
}

.ov-article-single__content.def h4 {
  margin: 16px 0 8px;

  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 120%;
}

.ov-article-single__content.def p,
.ov-article-single__content.def li {
  color: #3f3f46;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
.ov-article-single__content.def p + p:not(:has(*)),
.ov-article-single__content.def p:has(*) + p { margin-top: 12px; }
.ov-article-single__content.def a { color: #f00; text-decoration-color: currentColor; }
.ov-article-single__content.def ul,
.ov-article-single__content.def ol { display: flex; margin: 12px 0 24px; padding-left: 28px; flex-direction: column; gap: 8px; }
.ov-article-single__content.def ul li,
.ov-article-single__content.def ol li { max-width: none; margin: 0; }
.ov-article-single__content.def ul > li::before {
  top: 0;
  left: -28px;
  border: none;
  border-radius: 50%;
  background: transparent;
  position: absolute;
  content: url("/wp-content/themes/theme-sp/img/ovostar/icon-li.svg")
}

.ov-article-single__content.def ol > li::before {
  left: -28px;
  top: 0;
  color: #f00;
  display: none;
}
.ov-article-single__content.def ol {
  list-style: auto;
}
.ov-article-single__content.def blockquote {
  position: relative;
  margin: 24px 0;
  padding: 18px 20px 18px 54px;
  border: 1px solid #ff8a00;
  border-radius: 24px;
  background: #fff;
  font-size: 22px;
  font-weight: 600;
  line-height: 25px;
  letter-spacing: -.55px;
}
.ov-article-single__content.def blockquote::before {
  position: absolute;
  content: url("/wp-content/themes/theme-sp/img/ico-quotes.svg");
  top: 16px;
  left: 16px;
}
.ov-article-single__content.def blockquote p { color: #0f172a; font: inherit; }
.ov-article-single__content.def > h2:has(> img),
.ov-article-single__content.def > p:has(> img) { margin: 24px 0; font-size: 0; line-height: 0; }
.ov-article-single__content.def img { width: 100%; height: auto; border-radius: 20px; }
.ov-article-single__content.def .gallery,
.ov-article-single__content.def .wp-block-gallery { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ov-article-single__content.def .gallery .gallery-item,
.ov-article-single__content.def .wp-block-gallery figure { width: auto !important; margin: 0 !important; float: none !important; }
.ov-article-single__content.def .gallery br { display: none; }
.ov-article-single__content.def .gallery a { display: block; cursor: zoom-in; }
.ov-article-single__content.def .gallery img,
.ov-article-single__content.def .wp-block-gallery img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; border: 0 !important; border-radius: 16px; }
.ov-article-single__content.def .table-wrapper { overflow-x: auto; border: 1px solid #fbbf24; border-radius: 8px; background: #fff; }
.ov-article-single__content.def table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: separate; border-spacing: 0; border-radius: 8px; font-size: 11px; line-height: 15px; }

.ov-article-single__content.def table th {
  min-height: 0;
  padding: 10px 12px;
  color: #0f172a;
  border-right: 1px solid #FB3 !important;
  background: #FB3;

  font-size: 11px;
  font-style: normal;
  font-weight: 500;
  line-height: 130%; /* 14.3px */
  letter-spacing: 0.44px;
  text-transform: uppercase;
}

.ov-article-single__content.def table th:last-child { border-right: 0; }

.ov-article-single__content.def table td {
  min-height: 0;
  padding: 10px 12px;
  color: #0F172A;
  border-right: 1px solid #FFEEBF;
  border-bottom: 1px solid #FFEEBF;
  background: #fff;
  vertical-align: top;

  font-size: 12px;
  font-style: normal;
  font-weight: 300;
  line-height: 120%;
}
.ov-article-single__content.def table td:last-child { border-right: 0; }
.ov-article-single__content.def table tbody tr:last-child td { border-bottom: 0; }

.ov-article-single.is-recipe .ov-article-single__header { padding-bottom: 30px; }
.ov-article-single.is-recipe .ov-article-single__header h1 { max-width: 720px; margin-bottom: 18px; }
.ov-recipe-meta--single { width: auto; gap: 20px; color: #a1a1aa; font-size: 12px; line-height: 18px; }
.ov-recipe-meta--single small { color: #71717a; }
.ov-recipe-meta--single .ov-recipe-meta__difficulty { gap: 7px; }
.ov-recipe-meta--single .ov-recipe-meta__stars { gap: 2px; }
.ov-recipe-meta--single .ov-recipe-meta__stars svg { width: 14px; height: 14px; flex: 0 0 14px; }
.ov-recipe-meta--single svg { display: block; flex: 0 0 auto; }
.ov-article-single__main-image { margin: 0 0 24px; overflow: hidden; border-radius: 28px; }
.ov-article-single__main-image img { display: block; width: 100%; max-height: none; aspect-ratio: 786 / 480; object-fit: cover; border-radius: 28px; }
.ov-recipe-main-video { position: relative; cursor: pointer; background: #000; }
.ov-recipe-main-video:focus-visible { outline: 3px solid #f00; outline-offset: 4px; }
.ov-recipe-main-video video { position: absolute; z-index: 2; inset: 0; display: none; width: 100%; height: 100%; object-fit: contain; background: #000; }
.ov-recipe-main-video .ov-play { z-index: 1; }
.ov-recipe-main-video__time { position: absolute; z-index: 1; right: 24px; bottom: 24px; display: inline-flex; min-height: 30px; padding: 5px 12px; align-items: center; color: #fff; font-size: 12px; font-weight: 500; line-height: 20px; opacity: 0; background: rgba(24, 24, 27, .5); border-radius: 999px; backdrop-filter: blur(6px); transition: opacity .2s ease; }
.ov-recipe-main-video.has-video-duration .ov-recipe-main-video__time { opacity: 1; }
.ov-recipe-main-video.is-playing video { display: block; }
.ov-recipe-main-video.is-playing > img,
.ov-recipe-main-video.is-playing .ov-play,
.ov-recipe-main-video.is-playing .ov-recipe-main-video__time { visibility: hidden; }
.ov-article-single__content.def .ov-recipe-ingredients {
  margin: 24px 0 36px;
  padding: 24px 28px;
  border-radius: 28px;
  background: #FB3;
}
.ov-article-single__content.def .ov-recipe-ingredients h2 { margin: 0 0 14px; font-size: 18px; line-height: 24px; letter-spacing: -.3px; }
.ov-article-single__content.def .ov-recipe-ingredients ul { display: block; margin: 0; padding: 0; }
.ov-article-single__content.def .ov-recipe-ingredients li { position: relative; display: flex; justify-content: space-between; max-width: none; margin: 0; padding: 4px 0 4px 28px; align-items: baseline; gap: 16px; color: #0f172a; }

.ov-article-single__content.def .ov-recipe-ingredients li::before {
  top: 7px;
  left: 0;
}
.ov-article-single__content.def .ov-recipe-ingredients li::after {
  content: '';
  display: block;
  width: calc(100% - 28px);
  position: absolute;
  left: 28px;
  bottom: 10px;
  height: 1px;
  border-bottom: 1px dashed rgba(15, 23, 42, 0.30);
}
.ov-article-single__content.def .ov-recipe-ingredients li span,
.ov-article-single__content.def .ov-recipe-ingredients li strong {
  background: #FB3;
  position: relative;
  z-index: 2;
  padding-right: 10px;
  color: #292929;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22.75px;
}
.ov-article-single__content.def .ov-recipe-ingredients li:last-child { border-bottom: 0; }
.ov-article-single__content.def .ov-recipe-ingredients li strong {
  padding-right: 0;
  padding-left: 10px;
  color: #292929;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 22.75px;
}

.ov-article-single .ov-article-share { margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(15, 23, 42, .1); }

.ov-article-single .ov-article-share > strong {
  display: block;
  margin-bottom: 16px;
  color: #0f172a;

  font-size: 19px;
  font-style: normal;
  font-weight: 600;
  line-height: 24px; /* 126.316% */
  letter-spacing: -0.19px;
}
.ov-article-single .ov-article-share > div { display: flex; gap: 8px; }
.ov-article-single .ov-article-share a,
.ov-article-single .ov-article-share button {
  display: inline-flex;
  width: 40px;
  height: 40px;
  padding: 0;
  align-items: center;
  justify-content: center;
  color: #f00;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  border: 1px solid rgba(15, 23, 42, 0.10);
}

.ov-article-single .ov-article-share a[aria-label="Facebook"] svg { fill: currentColor; stroke: none; }

.ov-article-single.is-recipe .ov-article-share {
  display: flex;
  margin-top: 32px;
  padding: 8px;
  align-items: center;
  border: 0;
  border-radius: 24px;
  background: #FAF5E6;
}
.ov-article-single.is-recipe .ov-article-share > strong { display: none; }
.ov-related-articles { background: #fff9e8 url('/wp-content/themes/theme-sp/img/ovostar-categ/related-bottom.jpg') center bottom / 100% 100% no-repeat; }

.iti--inline-country-selector:not(.iti--detached-country-selector) {
  z-index: 3;
}
.ov-form input:not([type="checkbox"]).iti__search-input {
  outline: none !important;
  border: none !important;
}
.iti__selected-country-primary:hover, .iti__selected-country:has(+.iti__country-selector:hover) .iti__selected-country-primary {
  background: transparent !important;
}

@media (max-width: 767px) {
  .ov-article-single__breadcrumbs { padding: 0; }
  .ov-article-single__cover,
  .ov-article-single__header-inner,
  .ov-article-single__body { width: calc(100% - 32px); }
  .ov-article-single__cover { aspect-ratio: 343 / 218; margin: 0 auto; border-radius: 18px 18px 0 0; }
  .ov-article-single__header { padding: 12px 0 20px; }
  .ov-article-single__header-inner { display: flex; flex-direction: column; }
  .ov-article-single__header h1,
  .ov-article-single.is-recipe .ov-article-single__header h1 { order: 3; margin: 12px 0 14px; font-size: 34px; line-height: 36px; letter-spacing: -1px; }
  .ov-article-single__tag { align-self: flex-start; order: 1; min-height: 20px; padding: 2px 7px; font-size: 9px; line-height: 14px; }
  .ov-article-single__meta { order: 2; margin-top: 10px; gap: 14px; font-size: 10px; line-height: 16px; }
  .ov-article-single__body,
  .ov-article-single.is-recipe .ov-article-single__body { margin-bottom: 72px; }
  .ov-article-single__content { padding: 12px; border-radius: 18px; }
  .ov-article-single.is-standard .ov-article-single__header { width: calc(100% - 32px); }
  .ov-article-single.is-standard .ov-article-single__header-inner { width: 100%; padding: 12px 12px 0; }
  .ov-article-single.is-standard .ov-article-single__body { border-radius: 0 0 18px 18px; }
  .ov-article-single.is-standard .ov-article-single__content { border-radius: 0 0 18px 18px; font-weight: 400}
  .ov-article-single__content.def > * { margin: 12px 0; }
  .ov-article-single__content.def h2 { margin: 22px 0 8px; font-size: 22px; line-height: 26px; letter-spacing: -.55px; }
  .ov-article-single__content.def h3 { margin: 18px 0 7px; font-size: 18px; line-height: 22px; letter-spacing: -.3px; }
  .ov-article-single__content.def h4 { margin: 16px 0 6px; font-size: 14px; line-height: 19px; }
  .ov-article-single__content.def p,
  .ov-article-single__content.def li { font-size: 12px; line-height: 17px; }
  .ov-article-single__content.def ul,
  .ov-article-single__content.def ol { margin: 8px 0 18px; gap: 6px; }
  .ov-article-single__content.def blockquote { margin: 18px 0; padding: 14px 14px 14px 38px; border-radius: 18px; font-size: 16px; line-height: 19px; letter-spacing: -.25px; }
  .ov-article-single__content.def blockquote::before { top: 13px; left: 14px; font-size: 24px; }
  .ov-article-single__content.def > h2:has(> img),
  .ov-article-single__content.def > p:has(> img) { margin: 18px 0; }
  .ov-article-single__content.def img { border-radius: 14px; }
  .ov-article-single__content.def .gallery,
  .ov-article-single__content.def .wp-block-gallery { grid-template-columns: 1fr; gap: 8px; }
  .ov-article-single__content.def .gallery img,
  .ov-article-single__content.def .wp-block-gallery img { aspect-ratio: 343 / 218; border-radius: 14px; }
  .ov-article-single__content.def table { min-width: 520px; table-layout: auto; font-size: 9px; line-height: 12px; }
  .ov-article-single__content.def table th,
  .ov-article-single__content.def table td { padding: 7px 8px; }
  .ov-article-single.is-recipe .ov-article-single__header { padding-bottom: 24px; }
  .ov-article-single.is-recipe .ov-recipe-meta--single { order: 4; margin-top: 0; gap: 12px; font-size: 10px; line-height: 15px; }
  .ov-recipe-meta--single .ov-recipe-meta__stars svg { width: 10px; height: 10px; flex-basis: 10px; }
  .ov-recipe-meta--single svg { width: 12px; height: 12px; }
  .ov-article-single__main-image,
  .ov-article-single__main-image img { border-radius: 18px; }
  .ov-article-single__main-image img { aspect-ratio: 343 / 210; }
  .ov-recipe-main-video .ov-play { width: 56px; height: 56px; }
  .ov-recipe-main-video .ov-play::before { width: 18px; height: 18px; }
  .ov-recipe-main-video__time { right: 12px; bottom: 12px; min-height: 24px; padding: 3px 9px; font-size: 10px; line-height: 18px; }
  .ov-article-single__content.def .ov-recipe-ingredients { margin: 18px 0 28px; padding: 16px; border-radius: 20px; }
  .ov-article-single__content.def .ov-recipe-ingredients h2 { margin-bottom: 8px; font-size: 16px; line-height: 21px; }
  .ov-article-single__content.def .ov-recipe-ingredients li { padding: 7px 0 7px 16px; gap: 10px; font-size: 11px; line-height: 16px; }
  .ov-article-single__content.def .ov-recipe-ingredients li::before { top: 12px; width: 6px; height: 6px; }
  .ov-article-single.is-recipe .ov-article-share { min-height: 44px; margin-top: 18px; padding: 8px 10px; }
  .ov-related-articles { background-size: auto 100%; }
}

/* Mobile refinement: main page and shared elements (Figma 375px). */
@media (max-width: 1099px) {
  .ov-mobile-menu { padding-right: 0; padding-left: 0; }
  .ov-mobile-menu nav { max-width: 720px; }
  .ov-mobile-menu details:first-child { border-bottom: 1px solid #e5e7eb; }
  .ov-mobile-menu summary { min-height: 44px; padding: 0; }
  .ov-mobile-menu summary::after { display: none; }
  .ov-mobile-menu summary > a {
    display: flex;
    min-width: 0;
    min-height: 44px;
    padding: 12px 16px;
    flex: 1 1 auto;
    align-items: center;
    color: var(--ov-ink);
    font: 500 15px/20px "Inter", Arial, sans-serif;
    letter-spacing: -.45px;
  }
  .ov-mobile-menu__toggle {
    position: relative;
    width: 50px;
    height: 44px;
    padding: 0;
    flex: 0 0 50px;
    color: var(--ov-ink);
    background: transparent;
    border: 0;
    cursor: pointer;
  }
  .ov-mobile-menu__toggle::before {
    position: absolute;
    top: 17px;
    right: 19px;
    width: 6px;
    height: 6px;
    content: "";
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transition: top .18s ease, transform .18s ease;
  }
  .ov-mobile-menu details[open] .ov-mobile-menu__toggle::before { top: 20px; transform: rotate(225deg); }
  .ov-mobile-menu details > div { padding: 0 4px 8px; border-bottom: 0; }
  .ov-mobile-menu details > div > a { min-height: 36px; padding: 8px 10px; }
  .ov-mobile-menu details:has(a[href^="tel:"]) > div { padding-bottom: 12px; gap: 4px; }
  .ov-mobile-menu details:has(a[href^="tel:"]) > div > a {
    width: auto;
    padding: 8px 10px;
    align-items: center;
    gap: 2px;
    display: flex;
  }
  .ov-mobile-menu details:has(a[href^="tel:"]) .ov-header-socials {
    width: 159px;
    padding: 0;
    justify-content: space-between;
    gap: 5px;
  }
}

@media (max-width: 767px) {
  .ov-home { padding-top: 0; }

  .ov-site-header__actions { gap: 28px; }
  .ov-header-language { order: 1; }
  .ov-header-icon { order: 2; }
  .ov-header-contact { order: 3; }
  .ov-header-burger { order: 4; }
  .ov-header-burger span { width: 16px; }
  .ov-mobile-menu { padding-top: 36px; }

  .ov-hero > .container-full { padding: 0 8px; }
  .ov-hero__panel { min-height: 616px; border-radius: 32px; }
  .ov-hero__container { min-height: 616px; padding: 0 16px; }
  .ov-hero__copy { padding-top: 36px; }
  .ov-hero__title { margin-top: 20px; font-size: 36px; line-height: 1; letter-spacing: -1.08px; }
  .ov-hero__actions { gap: 12px; margin-top: 32px; }
  .ov-hero__actions .ov-btn { min-height: 56px; font-size: 17px; }
  .ov-hero__stats { right: 16px; bottom: 18px; left: 16px; gap: 12px; }
  .ov-stat { min-height: 100px; padding: 12px; border-radius: 20px; }
  .ov-stat strong { font-size: 26px; line-height: 28px; letter-spacing: -.78px; }
  .ov-stat > span { margin-top: 8px; font-size: 12px; line-height: 1.2; }
  .ov-hero__pagination { position: static; min-height: 24px; margin: 8px 0 0; transform: none; }
  .ov-hero__dot { background: #e5e7eb; }

  .ov-production { padding-top: 80px; }
  .ov-production .ov-section__head--center { margin-bottom: 28px; }
  .ov-production__media {
    padding: 4px;
    border-width: 1px;
    border-radius: 28px;
  }
  .ov-production__media img,
  .ov-production__media video { border-radius: 24px; }
  .ov-production__media small {
    bottom: 12px;
    left: 12px;
    max-width: calc(100% - 82px);
    padding: 5px 8px;
    font-size: 11px;
    line-height: 14px;
  }
  .ov-production__media time { right: 12px; bottom: 15px; font-size: 11px; line-height: 14px; }
  .ov-play { width: 56px; height: 56px; }

  .ov-catalog-home { padding-top: 40px; }
  .ov-catalog-home .ov-slider { margin-right: 0; }
  .ov-catalog-home .ov-slider__track {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding-right: 0;
    transform: none !important;
  }
  .ov-catalog-home .ov-slider__nav { display: none !important; }
  .ov-catalog-home .ov-product {
    width: 100%;
    min-width: 0;
    height: 344px;
  }
  .ov-catalog-home .ov-product__icon { width: 40px; height: 40px; border-radius: 12px; }
  .ov-catalog-home .ov-product__icon img {
    position: static;
    width: 22px;
    height: 22px;
    max-height: none;
    transform: none;
  }

  .ov-media { padding-top: 40px; }
  .ov-media .ov-section__head--split {
    display: flex;
    margin-bottom: 28px;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .ov-media .ov-section__head--split .ov-btn { min-height: 56px; margin-top: 0; font-size: 17px; }
  .ov-media .ov-slider__track {
    margin-top: -28px;
    margin-bottom: -32px;
    margin-left: -28px;
    padding-top: 28px;
    padding-bottom: 32px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding-left: 28px;
    touch-action: pan-x;
    transform: none !important;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .ov-media .ov-slider__track > .ov-news-card:first-child { margin-left: 28px; }
  .ov-media .ov-slider__track::-webkit-scrollbar { display: none; }

  .ov-site-footer { min-height: 0; border-radius: 0; }
  .ov-site-footer__main { padding-top: 20px; padding-bottom: 0; }
  .ov-site-footer__columns { gap: 16px; }
  .ov-footer-column[open] > div { display: flex; flex-direction: column; align-items: flex-start; }
  .ov-footer-column > div { padding-top: 12px; gap: 11px; }
  .ov-footer-column summary,
  .ov-footer-column__title { font-size: 16px; line-height: 20px; }
  .ov-footer-column summary { pointer-events: auto; }
  .ov-footer-column--contacts { padding-top: 0; }
  .ov-site-footer__bottom { margin-top: 12px; }

  .ov-quick-search.search:not(body) { padding-top: 16px; }
  .ov-quick-search .search__top-btn::before,
  .ov-quick-search .search__top-btn::after { display: block; }
  .ov-quick-search__suggestions { padding-top: 16px; }
  .ov-quick-search__label { padding-left: 46px; font-size: 12px; line-height: 15px; }
  .ov-quick-search__suggestions > .ov-quick-search__label { padding-left: 0; }
  .ov-quick-search__chips a { padding: 7px 12px; font-size: 14px; line-height: 20px; }
  .ov-quick-search__section { padding: 16px 0; }
  .ov-quick-search__product { min-height: 52px; gap: 10px; }
  .ov-quick-search__thumb { width: 40px; height: 40px; flex-basis: 40px; }
  .ov-quick-search__copy strong { font-size: 14px; line-height: 20px; }
  .ov-quick-search__news-item { min-height: 40px; font-size: 14px; line-height: 20px; }
  .ov-quick-search__all { margin-left: 0; padding-left: 46px; font-size: 14px; }
  .ov-quick-search__empty { margin-top: 40px; }
}

/* About page: mobile layout from the 375px design. */
@media (max-width: 767px) {
  .ov-about-page .ov-inner-hero { height: 520px; padding: 0 8px; }
  .ov-about-page .ov-inner-hero__panel,
  .ov-about-page .ov-inner-hero__bg,
  .ov-about-page .ov-inner-hero__bg img { border-radius: 32px; }
  .ov-about-page .ov-inner-hero__content { width: 100%; padding: 250px 20px 36px; gap: 20px; }
  .ov-about-page .ov-inner-hero__description { width: 100%; }
  .ov-about-page .ov-inner-hero h1 { font-size: 40px; line-height: 44px; letter-spacing: -1.2px; }
  .ov-about-page .ov-inner-hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: -.6px;
  }

  .ov-about-page .ov-about-intro { min-height: 654px; padding: 80px 0 40px; }
  .ov-about-page .ov-about-intro .ov-inner-heading { margin-bottom: 28px; }
  .ov-about-page .ov-about-intro .ov-inner-heading h2,
  .ov-about-page .ov-operations .ov-inner-heading h2 {
    font-size: 28px;
    line-height: 28px;
    letter-spacing: -1.12px;
  }
  .ov-about-page .ov-about-intro .ov-inner-heading p,
  .ov-about-page .ov-operations .ov-inner-heading p {
    margin-top: 16px;
    font-size: 14px;
    line-height: 22px;
  }
  .ov-about-page .ov-metrics { margin-top: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ov-about-page .ov-metric { min-height: 150px; padding: 16px; border-radius: 20px; }
  .ov-about-page .ov-metric img { margin-bottom: 4px; }
  .ov-about-page .ov-metric strong { font-size: 22px; line-height: 26px; }
  .ov-about-page .ov-metric > span { margin-top: 4px; font-size: 14px; line-height: 24px; }

  .ov-about-page .ov-operations { padding: 40px 0; }
  .ov-about-page .ov-operations > .container-full { padding: 0 16px; }
  .ov-about-page .ov-operations .ov-inner-heading { margin-bottom: 28px; }
  .ov-about-page .ov-operation-list { border-radius: 32px; }
  .ov-about-page .ov-operation-row__copy { min-height: 365px; padding: 40px 20px; justify-content: flex-start; }
  .ov-about-page .ov-operation-row__icon { margin-bottom: 20px; }
  .ov-about-page .ov-operation-row h3 { font-size: 28px; line-height: 29px; letter-spacing: -.56px; }
  .ov-about-page .ov-operation-row p { margin-top: 20px; font-size: 16px; line-height: 24px; }
  .ov-about-page .ov-operation-row__image { height: 422px; min-height: 422px; }

  .ov-about-page .ov-tender { padding: 40px 0; }
  .ov-about-page .ov-tender > .container-full { padding: 0 8px; }
  .ov-about-page .ov-tender__panel { min-height: 926px; padding: 32px; border-radius: 32px; }
  .ov-about-page .ov-tender__bg { border-radius: 32px; }
  .ov-about-page .ov-tender__lead h2 { font-size: 36px; line-height: 38px; letter-spacing: -1.44px; }
  .ov-about-page .ov-tender__lead .ov-btn { margin: 24px 0 32px; }
  .ov-about-page .ov-tender__text { gap: 20px; }
  .ov-about-page .ov-tender__text p { font-size: 16px; line-height: 24px; }

  .ov-about-page .ov-history { padding: 40px 0 80px; }
  .ov-about-page .ov-history .ov-inner-heading { margin-bottom: 28px; }
  .ov-about-page .ov-history .ov-inner-heading h2 { font-size: 28px; line-height: 28px; letter-spacing: -1.12px; }
  .ov-about-page .ov-history .ov-inner-heading p {
    width: 100%;
    margin-top: 16px;
    font-size: 16px;
    line-height: 22px;
  }
  .ov-about-page .ov-history__timeline {
    display: grid;
    width: 100%;
    max-width: 100%;
    padding: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .ov-about-page .ov-history__years {
    grid-column: 1 / -1;
    grid-row: 1;
    padding-bottom: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .ov-about-page .ov-history__years::-webkit-scrollbar { display: none; }
  .ov-about-page .ov-history__years::before { display: none; }
  .ov-about-page .ov-history__years button {
    min-width: 87.63px;
    background-image: linear-gradient(#000, #000);
    background-repeat: no-repeat;
    background-position: center 6px;
    background-size: 100% 1px;
  }
  .ov-about-page .ov-history__years button:first-child {
    background-position: right 6px;
    background-size: 50% 1px;
  }
  .ov-about-page .ov-history__years button:last-child {
    background-position: left 6px;
    background-size: 50% 1px;
  }
  .ov-about-page .ov-history__copy {
    margin: 20px 0;
    grid-column: 1 / -1;
    grid-row: 2;
    text-align: center;
    font-size: 16px;
    line-height: 24px;
  }
  .ov-about-page .ov-history__arrow {
    position: static;
    width: 48px;
    height: 48px;
    margin-top: 12px;
    grid-row: 3;
  }
  .ov-about-page .ov-history__arrow--prev { grid-column: 1; justify-self: end; margin-right: 4px; }
  .ov-about-page .ov-history__arrow--next { grid-column: 2; justify-self: start; margin-left: 4px; }
}

/* Team page: mobile layout from the 375px design. */
@media (max-width: 767px) {
  .ov-team-page .ov-inner-hero { height: 520px; padding: 0 8px; }
  .ov-team-page .ov-inner-hero__panel,
  .ov-team-page .ov-inner-hero__bg,
  .ov-team-page .ov-inner-hero__bg img { border-radius: 32px; }
  .ov-team-page .ov-inner-hero__content { width: 100%; padding: 250px 20px 36px; gap: 20px; }
  .ov-team-page .ov-inner-hero__description { width: 100%; }
  .ov-team-page .ov-inner-hero h1 {
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.08px;
  }
  .ov-team-page .ov-inner-hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -.6px;
  }

  .ov-team-page .ov-team-catalog .ov-inner-heading h2,
  .ov-team-page .ov-operations .ov-inner-heading h2,
  .ov-team-page .ov-clients .ov-inner-heading h2,
  .ov-team-page .ov-values .ov-inner-heading h2,
  .ov-team-page .ov-page-benefits .ov-inner-heading h2 {
    font-size: 28px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: -1.12px;
  }

  .ov-team-page .ov-team-catalog .ov-inner-heading--center { text-align: left; }
  .ov-team-page .ov-team-tabs { scrollbar-width: none; }
  .ov-team-page .ov-team-tabs::-webkit-scrollbar { display: none; }

  .ov-team-page .ov-operations { padding: 40px 0; }
  .ov-team-page .ov-operations > .container-full { padding: 0 16px; }
  .ov-team-page .ov-operations .ov-inner-heading { margin-bottom: 28px; }
  .ov-team-page .ov-operations .ov-inner-heading p,
  .ov-team-page .ov-clients .ov-inner-heading p {
    margin-top: 16px;
    font-size: 17px;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: -.51px;
  }
  .ov-team-page .ov-operation-list { border-radius: 32px; }
  .ov-team-page .ov-operation-row__copy {
    min-height: 394px;
    padding: 40px 20px 28px;
    justify-content: flex-start;
  }
  .ov-team-page .ov-operations .ov-operation-row__icon { width: 44px; height: 44px; margin-bottom: 20px; }
  .ov-team-page .ov-operation-row h3 {
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
    letter-spacing: -.48px;
  }
  .ov-team-page .ov-operation-row p { margin-top: 20px; font-size: 16px; line-height: 24px; }
  .ov-team-page .ov-operation-row__image { height: 422px; min-height: 422px; }

  .ov-team-page .ov-clients { padding: 40px 0; }
  .ov-team-page .ov-clients .ov-inner-heading { margin-bottom: 28px; }
  .ov-team-page .ov-client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .ov-team-page .ov-client-grid article {
    min-height: 60px;
    padding: 12px;
    gap: 8px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.22px;
    border-radius: 16px;
  }
  .ov-team-page .ov-client-grid img { width: 36px; height: 36px; padding: 6px; border-radius: 8px; }

  .ov-team-page .ov-values { padding: 40px 0; }
  .ov-team-page .ov-values__visual {
    min-height: 508px;
    padding: 36px 20px;
    background-position: 90% center;
    border-radius: 32px;
  }
  .ov-team-page .ov-values__visual h3 {
    max-width: 100%;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.69px;
  }
  .ov-team-page .ov-values__list {
    min-height: 703px;
    padding: 36px 20px;
    justify-content: flex-start;
    border-radius: 32px;
  }
  .ov-team-page .ov-values__list article { display: flex; flex-direction: column; gap: 20px; }
  .ov-team-page .ov-values__list article + article { margin-top: 28px; padding-top: 28px; }
  .ov-team-page .ov-values__list h3 {
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
    letter-spacing: -.48px;
  }
  .ov-team-page .ov-values__list p { font-size: 16px; line-height: 26px; }

  .ov-team-page .ov-page-benefits {
    margin-top: 0;
    padding: 40px 0;
    background-position: center top;
    background-size: auto 658px;
  }
  .ov-team-page .ov-page-benefits .ov-inner-heading { margin-bottom: 28px; }
  .ov-team-page .ov-page-benefits__grid { gap: 12px; }
  .ov-team-page .ov-page-benefits__grid article {
    min-height: 0;
    padding: 36px 20px;
    border-radius: 32px;
  }
  .ov-team-page .ov-page-benefits__grid h3 {
    margin: 0 0 16px;
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
  }
  .ov-team-page .ov-page-benefits__grid p { font-size: 16px; line-height: 24px; }
}

/* Export page: keep the long mobile hero copy inside the panel. */
@media (max-width: 767px) {
  body.page-template-page-geography .ov-inner-hero__content {
    justify-content: flex-end;
  }
}

/* Vacancy page: mobile hero from the 375px design. */
@media (max-width: 767px) {
  .ov-vacancy-page .ov-inner-hero { height: 520px; padding: 0 8px; }
  .ov-vacancy-page .ov-inner-hero__panel,
  .ov-vacancy-page .ov-inner-hero__bg,
  .ov-vacancy-page .ov-inner-hero__bg img { border-radius: 32px; }
  .ov-vacancy-page .ov-inner-hero__content {
    width: 100%;
    padding: 250px 20px 36px;
    justify-content: flex-end;
    gap: 20px;
  }
  .ov-vacancy-page .ov-inner-hero__description { width: 100%; }
  .ov-vacancy-page .ov-inner-hero h1 {
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.08px;
  }
  .ov-vacancy-page .ov-inner-hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -.6px;
  }
}

/* Certificates and sustainability pages: mobile hero from the 375px designs. */
@media (max-width: 767px) {
  .ov-certificates-page .ov-inner-hero,
  .ov-progress-page .ov-inner-hero { height: 520px; padding: 0 8px; }
  .ov-certificates-page .ov-inner-hero__panel,
  .ov-certificates-page .ov-inner-hero__bg,
  .ov-certificates-page .ov-inner-hero__bg img,
  .ov-progress-page .ov-inner-hero__panel,
  .ov-progress-page .ov-inner-hero__bg,
  .ov-progress-page .ov-inner-hero__bg img { border-radius: 32px; }
  .ov-certificates-page .ov-inner-hero__content,
  .ov-progress-page .ov-inner-hero__content {
    width: 100%;
    padding: 250px 20px 36px;
    gap: 20px;
  }
  .ov-certificates-page .ov-inner-hero__description,
  .ov-progress-page .ov-inner-hero__description { width: 100%; }
  .ov-certificates-page .ov-inner-hero h1,
  .ov-progress-page .ov-inner-hero h1 {
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.08px;
  }
  .ov-certificates-page .ov-inner-hero p,
  .ov-progress-page .ov-inner-hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -.6px;
  }
  .ov-progress-page .ov-operations > .container-full {
    padding-right: 16px;
    padding-left: 16px;
  }
  .ov-certificates-page .ov-inner-hero,
  .ov-certificates-page .ov-inner-hero__panel,
  .ov-certificates-page .ov-inner-hero__content {
    height: auto;
    min-height: 520px;
  }
}

/* Blog categories: news cards on mobile from the 375px design. */
@media (max-width: 767px) {
  .ov-articles-archive.is-news .ov-article-grid { gap: 12px; }
  .ov-articles-archive.is-news .ov-article-card {
    min-height: 0;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    box-shadow: none;
  }
  .ov-articles-archive.is-news .ov-article-card__media {
    height: 170px;
    aspect-ratio: auto;
  }
  .ov-articles-archive.is-news .ov-article-card__tag {
    top: 12px;
    left: 12px;
    min-height: 28px;
    padding: 5px 9px;
    font-size: 13px;
    line-height: 16px;
  }
  .ov-articles-archive.is-news .ov-article-card__body {
    min-height: 0;
    padding: 16px;
  }
  .ov-articles-archive.is-news .ov-article-card time {
    margin-bottom: 12px;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: .44px;
  }
  .ov-articles-archive.is-news .ov-article-card h3 {
    margin-bottom: 4px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
  }
  .ov-articles-archive.is-news .ov-article-card p {
    margin: 0;
    padding-left: 0;
    border-left: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.36;
    letter-spacing: -.24px;
    -webkit-line-clamp: 2;
  }
  .ov-articles-archive.is-news .ov-article-card__arrow { display: none; }
}

/* Recipe categories: cards on mobile from the 375px design. */
@media (max-width: 767px) {
  .ov-articles-archive.is-recipes .ov-article-grid { gap: 12px; }
  .ov-articles-archive.is-recipes .ov-article-card--recipe {
    min-height: 0;
    border-radius: 24px;
  }
  .ov-articles-archive.is-recipes .ov-article-card--recipe .ov-article-card__media {
    height: 170px;
    aspect-ratio: auto;
  }
  .ov-articles-archive.is-recipes .ov-article-card--recipe .ov-article-card__tag {
    top: 12px;
    left: 12px;
    min-height: 28px;
    padding: 5px 9px;
    font-size: 13px;
    line-height: 16px;
  }
  .ov-articles-archive.is-recipes .ov-article-card--recipe .ov-article-card__body {
    min-height: 0;
    padding: 12px;
  }
  .ov-articles-archive.is-recipes .ov-recipe-meta--card {
    flex-wrap: wrap;
    align-content: center;
    gap: 6px;
    padding-bottom: 8px;
    font-size: 11px;
    line-height: 1.2;
  }
  .ov-articles-archive.is-recipes .ov-recipe-meta--card small {
    display: inline;
    line-height: 20px;
  }
  .ov-articles-archive.is-recipes .ov-recipe-meta--card span { gap: 6px; }
  .ov-articles-archive.is-recipes .ov-recipe-meta--card .ov-recipe-meta__stars { gap: 0; }
  .ov-articles-archive.is-recipes .ov-recipe-meta--card .ov-recipe-meta__stars svg {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
  }
  .ov-articles-archive.is-recipes .ov-recipe-meta--card .ov-recipe-meta__portions svg,
  .ov-articles-archive.is-recipes .ov-recipe-meta--card .ov-recipe-meta__time svg {
    width: 16px;
    height: 16px;
  }
  .ov-articles-archive.is-recipes .ov-article-card--recipe h3 {
    height: 34px;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0;
    -webkit-line-clamp: 2;
  }
  .ov-articles-archive.is-recipes .ov-article-card__arrow { display: none; }
}

/* Single news and recipe: mobile layout from the 375px designs. */
.ov-article-end { display: contents; }
.ov-article-toc { display: none; }

@media (max-width: 767px) {
  .ov-article-single {
    display: flex;
    width: 100%;
    flex-direction: column;
  }
  .ov-article-single > .ov-article-single__breadcrumbs { order: 1; }
  .ov-article-single > .ov-article-single__header { order: 2; }
  .ov-article-single > .ov-article-single__cover { order: 2; }
  .ov-article-single > .ov-article-single__body { order: 4; }
  .ov-article-single > .ov-related-articles { order: 5; }
  .ov-article-single > .ov-contact { order: 6; }

  .ov-article-single__breadcrumbs {
    width: 100%;
    min-height: 104px;
    padding: 24px 16px 0;
  }
  .ov-article-single__breadcrumbs > .container,
  .ov-article-single__breadcrumbs .ovp-breadcrumbs > .container {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
  .ov-article-single__breadcrumbs .ovp-breadcrumbs { padding: 0; }

  .ov-article-single__header,
  .ov-article-single.is-standard .ov-article-single__header,
  .ov-article-single.is-recipe .ov-article-single__header {
    width: 100%;
    margin: 0;
    padding: 10px 16px 0;
  }
  .ov-article-single__header-inner,
  .ov-article-single.is-standard .ov-article-single__header-inner {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 16px 16px 24px;
    flex-direction: column;
    border-radius: 24px 24px 0 0;
    background: #fff;
  }
  .ov-article-single__tag {
    align-self: flex-start;
    order: 1;
    min-height: 24px;
    padding: 4px 8px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
  }
  .ov-article-single__header h1,
  .ov-article-single.is-recipe .ov-article-single__header h1 {
    order: 2;
    max-width: none;
    margin: 16px 0 0;
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.08px;
  }
  .ov-article-single__meta,
  .ov-article-single.is-recipe .ov-recipe-meta--single {
    order: 3;
    margin-top: 24px;
    gap: 16px;
    color: #0f172a;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
  }
  .ov-article-single__meta { gap: 24px; }
  .ov-article-single__meta time,
  .ov-article-single__meta span { gap: 8px; }
  .ov-article-single__meta svg { width: 20px; height: 20px; }
  .ov-recipe-meta--single small {
    display: inline;
    color: inherit;
    font: inherit;
  }
  .ov-recipe-meta--single > span { gap: 6px; }
  .ov-recipe-meta--single .ov-recipe-meta__stars { gap: 0; }
  .ov-recipe-meta--single .ov-recipe-meta__stars svg {
    width: 14px;
    height: 14px;
    flex-basis: 14px;
  }
  .ov-recipe-meta--single .ov-recipe-meta__portions svg,
  .ov-recipe-meta--single .ov-recipe-meta__time svg { width: 16px; height: 16px; }

  .ov-article-single.is-standard .ov-article-single__header { background: #fffaeb; }
  .ov-article-single.is-standard .ov-article-single__cover {
    width: calc(100% - 32px);
    height: auto;
    aspect-ratio: 358 / 182;
    margin: 0 auto;
    border-radius: 24px;
  }
  .ov-article-single.is-standard .ov-article-single__cover img { border-radius: 24px; }
  .ov-article-single.is-standard .ov-article-single__body {
    width: calc(100% - 32px);
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0 0 24px 24px;
    background: #fff;
  }
  .ov-article-single.is-standard .ov-article-single__content {
    padding: 0 16px 24px;
    border-radius: 24px;
    font-weight: 400;
  }
  .ov-article-single.is-standard .ov-article-single__content.def > * { margin: 16px 0; }
  .ov-article-single.is-standard .ov-article-single__content.def > *:first-child { margin-top: 0; }
  .ov-article-single.is-standard .ov-article-single__content.def > *:last-child { margin-bottom: 0; }
  .ov-article-single.is-standard .ov-article-single__content.def h2 {
    margin: 28px 0 16px;
    font-size: 28px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: -1.12px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def h3 {
    margin: 24px 0 12px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.36px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def h4 {
    margin: 20px 0 8px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
  }
  .ov-article-single.is-standard .ov-article-single__content.def p,
  .ov-article-single.is-standard .ov-article-single__content.def li {
    font-size: 16px;
    line-height: 24px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def ul,
  .ov-article-single.is-standard .ov-article-single__content.def ol {
    margin: 12px 0 28px;
    padding-left: 28px;
    gap: 8px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def blockquote {
    margin: 28px 0;
    padding: 13px 13px 13px 45px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 24px;
    background: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 28px;
    letter-spacing: -.6px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def blockquote::before {
    top: 13px;
    left: 13px;
    width: 16px;
    height: 16px;
    font-size: 16px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def blockquote p {
    display: inline;
    padding: 0 2px;
    background: linear-gradient(transparent 12%, #fce55a 12%, #fce55a 88%, transparent 88%);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
  }
  .ov-article-single.is-standard .ov-article-single__content.def > h2:has(> img),
  .ov-article-single.is-standard .ov-article-single__content.def > p:has(> img) { margin: 28px 6px; }
  .ov-article-single.is-standard .ov-article-single__content.def img { border-radius: 24px; }
  .ov-article-single.is-standard .ov-article-single__content.def .gallery,
  .ov-article-single.is-standard .ov-article-single__content.def .wp-block-gallery {
    margin-right: 6px;
    margin-left: 6px;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def .gallery img,
  .ov-article-single.is-standard .ov-article-single__content.def .wp-block-gallery img {
    height: auto;
    aspect-ratio: 331 / 413;
    border-radius: 24px;
  }

  .ov-article-single.is-standard .ov-article-single__content.def .table-wrapper {
    overflow: visible;
    border: 0;
    border-radius: 0;
  }
  .ov-article-single.is-standard .ov-article-single__content.def table {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr);
    border: 0;
    border-radius: 0;
    font-size: 14px;
    line-height: 20px;
  }
  .ov-article-single.is-standard .ov-article-single__content.def table thead,
  .ov-article-single.is-standard .ov-article-single__content.def table tbody,
  .ov-article-single.is-standard .ov-article-single__content.def table tr { display: contents; }
  .ov-article-single.is-standard .ov-article-single__content.def table th,
  .ov-article-single.is-standard .ov-article-single__content.def table td {
    display: flex;
    width: 100%;
    min-height: 40px;
    padding: 10px 16px;
    align-items: center;
    border: 1px solid #ffeebf;
    border-radius: 0;
  }
  .ov-article-single.is-standard .ov-article-single__content.def table th {
    min-height: 44px;
    color: #0f172a;
    border-color: #fbbf24;
    background: #fbbf24;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.3;
    text-transform: uppercase;
  }
  .ov-article-single.is-standard .ov-article-single__content.def table td { background: #fffaeb; }
  .ov-article-single.is-standard .ov-article-single__content.def table th:nth-child(1) { order: 1; }
  .ov-article-single.is-standard .ov-article-single__content.def table td:nth-child(1) { order: 2; }
  .ov-article-single.is-standard .ov-article-single__content.def table th:nth-child(2) { order: 3; }
  .ov-article-single.is-standard .ov-article-single__content.def table td:nth-child(2) { order: 4; }
  .ov-article-single.is-standard .ov-article-single__content.def table th:nth-child(3) { order: 5; }
  .ov-article-single.is-standard .ov-article-single__content.def table td:nth-child(3) { order: 6; }

  .ov-article-single.is-recipe .ov-article-single__body {
    width: calc(100% - 32px);
    margin: 0 auto;
  }
  .ov-article-single.is-recipe .ov-article-single__content { padding: 0; }
  .ov-article-single.is-recipe .ov-article-single__main-image {
    height: auto;
    aspect-ratio: 343 / 168;
    margin: 24px 0;
    border-radius: 24px;
  }
  .ov-article-single.is-recipe .ov-article-single__main-image img {
    height: 100%;
    aspect-ratio: auto;
    border-radius: 24px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def .ov-recipe-ingredients {
    margin: 0 0 28px;
    padding: 24px 16px;
    border-radius: 24px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def .ov-recipe-ingredients h2 {
    margin: 0 0 16px;
    font-size: 19px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: -.19px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def .ov-recipe-ingredients li {
    min-height: 23px;
    padding: 0 0 0 28px;
    gap: 12px;
    font-size: 14px;
    line-height: 22.75px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def .ov-recipe-ingredients li + li { margin-top: 8px; }
  .ov-article-single.is-recipe .ov-article-single__content.def .ov-recipe-ingredients li::before {
    top: 1px;
    width: 20px;
    height: 20px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def > h2,
  .ov-article-single.is-recipe .ov-article-single__content.def > h3 {
    margin: 28px 0 16px;
    font-size: 28px;
    font-weight: 600;
    line-height: 28px;
    letter-spacing: -1.12px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def > p,
  .ov-article-single.is-recipe .ov-article-single__content.def > ul li,
  .ov-article-single.is-recipe .ov-article-single__content.def > ol li {
    font-size: 16px;
    line-height: 24px;
  }
  .ov-article-single.is-recipe .ov-article-single__content.def > h2:has(> img),
  .ov-article-single.is-recipe .ov-article-single__content.def > p:has(> img) { margin: 28px 0; }
  .ov-article-single.is-recipe .ov-article-single__content.def > h2 > img,
  .ov-article-single.is-recipe .ov-article-single__content.def > p > img {
    width: 100%;
    aspect-ratio: 343 / 210;
    object-fit: cover;
    border-radius: 24px;
  }

  .ov-article-single.is-recipe .ov-article-end {
    display: flex;
    margin-top: 28px;
    padding: 8px;
    flex-direction: column;
    gap: 24px;
    border-radius: 24px;
    background: #faf5e6;
  }
  .ov-article-single.is-recipe .ov-article-toc {
    display: block;
    padding: 24px 8px;
    border-radius: 32px;
  }
  .ov-article-single.is-recipe .ov-article-toc > strong {
    display: block;
    font-size: 19px;
    font-weight: 600;
    line-height: 24px;
  }
  .ov-article-single.is-recipe .ov-article-toc ol {
    margin: 12px 0 0;
    padding-left: 21px;
    gap: 12px;
  }
  .ov-article-single.is-recipe .ov-article-toc li {
    padding: 0;
    color: #86868b;
    font-size: 14px;
    line-height: 22.75px;
  }
  .ov-article-single.is-recipe .ov-article-toc li:first-child,
  .ov-article-single.is-recipe .ov-article-toc li:first-child a { color: #0f172a; }
  .ov-article-single.is-recipe .ov-article-toc a { color: inherit; text-decoration: none; }
  .ov-article-single.is-recipe .ov-article-toc + .ov-article-share {
    width: 100%;
    min-height: 40px;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
  }
  .ov-article-single.is-recipe .ov-article-single__content h2[id],
  .ov-article-single.is-recipe .ov-article-single__content h3[id] { scroll-margin-top: 84px; }

  .ov-article-single .ov-related-articles {
    width: 100%;
    padding: 40px 0;
    background-size: auto 100%;
    margin-top: 40px;
  }
  .ov-article-single .ov-related-articles .container { width: 100%; padding: 0 16px; }
  .ov-article-single .ov-related-articles__head {
    margin-bottom: 28px;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .ov-article-single .ov-related-articles__head h2 {
    font-size: 28px;
    line-height: 28px;
    letter-spacing: -1.12px;
  }
  .ov-article-single .ov-related-articles__head > a {
    width: 100%;
    min-height: 56px;
    padding: 6px 6px 6px 24px;
    justify-content: center;
    font-size: 17px;
    text-align: center;
  }
  .ov-article-single .ov-related-articles__head > a i { width: 40px; height: 40px; }
  .ov-article-single .ov-related-articles__track { gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .ov-article-single .ov-related-articles__track .ov-article-card {
    width: 284px;
    min-width: 284px;
    scroll-snap-align: start;
  }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-article-card--recipe {
    min-height: 406px;
    border-radius: 24px;
  }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-article-card__media {
    height: 290px;
    aspect-ratio: auto;
  }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-article-card__body {
    min-height: 114px;
    padding: 16px;
  }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-recipe-meta--card {
    flex-wrap: wrap;
    gap: 8px;
    font-size: 14px;
    line-height: 20px;
  }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-recipe-meta--card small { display: inline; }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-article-card h3 {
    margin: 0;
    font-size: 18px;
    line-height: 22px;
  }
  .ov-article-single.is-recipe .ov-related-articles__track .ov-article-card__arrow { display: none; }
  .ov-article-single .ov-related-articles__controls {
    display: flex;
    margin-top: 20px;
    justify-content: flex-end;
    gap: 8px;
  }
  .ov-article-single .ov-related-articles__controls button { width: 48px; height: 48px; }
}

/* Contact page: keep the short mobile breadcrumb trail on one line. */
@media (max-width: 767px) {
  .ov-contact-page > .ovp-breadcrumbs {
    width: 100%;
    min-height: 104px;
    padding: 24px 16px 0;
    box-sizing: border-box;
  }
  .ov-contact-page > .ovp-breadcrumbs > .container {
    width: 100%;
    max-width: none;
    padding-right: 0;
    padding-left: 0;
  }
  .ov-contact-page > .ovp-breadcrumbs .ov-breadcrumb.bc {
    min-height: 56px;
    align-content: flex-start;
    flex-wrap: nowrap;
    gap: 14px;
  }
  .ov-contact-page > .ovp-breadcrumbs .ov-breadcrumb .bc__i { gap: 14px; }
  .ov-contact-page > .ovp-breadcrumbs .ov-breadcrumb .bc__i:last-child {
    width: auto;
    flex: 0 1 auto;
  }
  .ov-contact-page > .ovp-breadcrumbs .ov-breadcrumb .bc__i:nth-last-child(2)::after { display: block; }
}

/* Product catalogue: mobile hero and cards from the 375px design. */
@media (max-width: 767px) {
  .ov-catalog-hero {
    width: 100%;
    height: 520px;
    padding: 0 8px;
  }
  .ov-catalog-hero .ov-inner-hero__panel,
  .ov-catalog-hero .ov-inner-hero__bg,
  .ov-catalog-hero .ov-inner-hero__bg img { border-radius: 32px; }
  .ov-catalog-hero .ov-inner-hero__content {
    width: 100%;
    padding: 250px 20px 36px;
    justify-content: flex-end;
    gap: 20px;
  }
  .ov-catalog-hero .ov-inner-hero__description { width: 100%; }
  .ov-catalog-hero .ov-inner-hero h1 {
    max-width: 100%;
    margin: 0;
    font-size: 36px;
    font-weight: 500;
    line-height: 36px;
    letter-spacing: -1.08px;
  }
  .ov-catalog-hero .ov-inner-hero p {
    width: 100%;
    max-width: 100%;
    margin-top: 16px;
    font-size: 20px;
    font-weight: 500;
    line-height: 26px;
    letter-spacing: -.6px;
  }

  .ov-catalog {
    padding: 80px 0 64px;
    background-size: auto;
  }
  .ov-catalog > .container {
    width: 100%;
    padding-right: 16px;
    padding-left: 16px;
  }
  .ov-catalog .cgm__rt { gap: 0; }
  .ov-catalog__filter-btn {
    min-height: 44px;
    padding: 10px 16px;
    gap: 4px;
    color: #e50000;
    background: rgba(15, 23, 42, .07);
    font-size: 15px;
    font-weight: 500;
    line-height: 18px;
  }
  .ov-catalog__filter-btn svg { width: 24px; height: 24px; }
  .ov-catalog .cgm__pick {
    min-height: 100px;
    padding: 20px 0;
    align-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
  }
  .ov-catalog .cgm__pick-l {
    width: auto;
    max-width: 100%;
    flex-wrap: wrap;
  }
  .ov-catalog .cgm__pick-clear {
    width: 100%;
    margin-left: 0;
    padding: 0 0 0 8px;
  }
  .ov-catalog .cgm__m {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
  }
  .cgm__pick._active + .cgm__m {
    margin-top: 0;
  }

  .ov-catalog .ov-catalog-card {
    height: 268px;
    min-height: 268px;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 16px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .1);
  }
  .ov-catalog .ov-catalog-card__media {
    height: 170px;
    flex: 0 0 170px;
    aspect-ratio: auto;
    background: #fffaeb;
  }
  .ov-catalog .ov-catalog-card__image {
    top: 21.5%;
    right: auto;
    bottom: auto;
    left: 12.5%;
    width: 75%;
    height: 78.5%;
    object-fit: contain;
    object-position: center bottom;
    mix-blend-mode: multiply;
  }
  .ov-catalog .ov-catalog-card__tags {
    top: 12px;
    left: 12px;
    max-width: calc(100% - 24px);
    gap: 6px;
  }
  .ov-catalog .ov-catalog-card__tag {
    min-height: 24px;
    padding: 4px 8px;
    gap: 4px;
    font-size: 13px;
    line-height: 16px;
  }
  .ov-catalog .ov-catalog-card__tag svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
  }
  .ov-catalog .ov-catalog-card__body {
    min-height: 98px;
    padding: 12px;
    flex: 0 0 98px;
  }
  .ov-catalog .ov-catalog-card__title {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
  }
  .ov-catalog .ov-catalog-card__description {
    margin: 0;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.24;
    letter-spacing: 0;
    -webkit-line-clamp: 2;
  }
  .ov-catalog .ov-catalog-card__more { display: none; }
  .ov-catalog .cgm__nav { margin-top: 12px; }
}

/* Catalogue filters: full-screen mobile panel from the 375px design. */
.ov-catalog-filter-all { display: none; }

@media (max-width: 767px) {
  .fancybox__container.pp-m-filter { --fancybox-bg: #fdfdfc; }
  .fancybox__container.pp-m-filter .fancybox__slide {
    padding: 0;
    align-items: stretch;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] {
    display: block !important;
    width: 100vw;
    max-width: none;
    height: 100vh;
    height: 100dvh;
    min-height: 0;
    padding: 60px 16px 80px;
    overflow: hidden;
    border-radius: 0;
    background: #fdfdfc;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-t {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    width: 100%;
    height: 60px;
    min-height: 60px;
    margin: 0;
    padding: 8px 15px 8px 50px;
    align-items: center;
    justify-content: center;
    color: #181716;
    background: #fdfdfc;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    letter-spacing: -.28px;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-close {
    position: absolute;
    top: 8px;
    left: 6px;
    display: flex;
    width: 44px;
    height: 44px;
    padding: 10px;
    align-items: center;
    justify-content: center;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-close::after {
    width: 24px;
    height: 24px;
    background: #181716;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__pick { display: none; }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr {
    display: flex;
    width: 100%;
    height: calc(100vh - 140px);
    height: calc(100dvh - 140px);
    max-height: none;
    padding: 0;
    flex-direction: column;
    gap: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr::-webkit-scrollbar { display: none; }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-i {
    width: 100%;
    padding: 0 0 32px;
    flex: 0 0 auto;
    border-radius: 0;
    background: transparent;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-i-t {
    display: flex;
    width: 100%;
    height: 32px;
    min-height: 32px;
    padding: 0 0 12px;
    align-items: center;
    pointer-events: none;
    color: #111827;
    font-size: 14px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: -.35px;
    text-transform: uppercase;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-i-t::after { display: none; }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-i-l {
    display: flex !important;
    width: 100%;
    margin: 0;
    flex-direction: column;
    gap: 4px;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-i-checkbox {
    display: table;
    width: 100%;
    min-height: 38px;
    padding: 8px 0;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .ov-catalog-filter-all { display: table; }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .b-checkbox__text {
    min-height: 22px;
    gap: 8px;
    color: #29292f;
    font-size: 14px;
    font-weight: 500;
    line-height: 20px;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .b-checkbox__text::before {
    width: 22px;
    height: 22px;
    border: 1px solid rgba(15, 23, 42, .24);
    border-radius: 2px;
    background: #fff;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .b-checkbox__text::after {
    left: 0;
    width: 22px;
    height: 22px;
    margin-top: -11px;
    background: #fff;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .b-checkbox__input:checked + .b-checkbox__text::before {
    border-color: #ef4444;
    background: linear-gradient(90deg, #f97316 0%, #ef4444 100%);
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-show {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 80px;
    padding: 12px 16px;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-show .btn-primary,
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-show .btn-primary__w {
    width: 100%;
    height: 56px;
    min-height: 56px;
    border-radius: 100px;
    background: #f00;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-show .btn-primary__w {
    display: flex;
    padding: 0 32px;
    align-items: center;
    justify-content: center;
  }
  .cgm__fr-w.fancybox__content[data-pp="ppFilter"] .cgm__fr-show .btn-primary__t {
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    line-height: 20px;
  }
}

/* Final mobile layout corrections. Keep this block last so legacy responsive rules
   cannot override the mobile layouts approved in the current Figma screens. */
@media (max-width: 767px) {
  .ov-btn,
  .ov-search-more,
  .ov-vacancies__more,
  .ov-article-more,
  .ov-production-more,
  .btn-primary.mc,
  .btn-primary.mc .btn-primary__w {
    height: 56px;
    min-height: 56px;
    font-size: 17px;
    line-height: 20px;
  }

  .ov-benefits__certs {
    width: 100%;
    justify-content: center;
    gap: 12px;
  }

  .ov-benefits__certs span {
    display: flex;
    width: 58px;
    height: 58px;
    padding: 8px;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
  }

  .ov-benefits__certs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .ov-benefits__slider .ov-slider__track {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    touch-action: pan-x;
    transform: none !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .ov-benefits__slider .ov-slider__track::-webkit-scrollbar {
    display: none;
  }

  .ov-benefits__slider .ov-slider__nav {
    display: flex !important;
  }

  .ov-site-footer__up {
    top: 0;
    right: 24px;
    width: 56px;
    height: 56px;
  }

  .ov-gallery__grid {
    display: none;
  }

  .ov-gallery-mobile {
    display: block;
  }

  .ov-production-gallery__slider .ov-slider__track {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    touch-action: pan-x;
    transform: none !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .ov-product-page .ovp-gallery {
    display: flex;
    width: 100%;
    height: auto;
    padding: 0 16px 16px;
    flex-direction: column;
    gap: 12px;
    overflow: visible;
  }

  .ov-product-page .ovp-gallery__stage {
    display: flex !important;
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    min-height: 0;
    padding: 32px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 24px;
  }

  .ov-product-page .ovp-gallery__stage > img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
  }

  .ov-product-page .ovp-gallery__thumbs {
    display: flex;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    grid-template-columns: none;
    gap: 8px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }

  .ov-product-page .ovp-gallery__thumbs::-webkit-scrollbar {
    display: none;
  }

  .ov-product-page .ovp-gallery__thumb {
    flex: 0 0 72px;
    width: 72px;
    min-width: 72px;
    height: 72px;
    min-height: 72px;
    padding: 8px;
    scroll-snap-align: start;
    border: 1px solid rgba(245, 223, 157, .55);
    border-radius: 12px;
  }

  .ov-product-page .ovp-info {
    width: calc(100% - 32px);
    margin-right: 16px;
    margin-left: 16px;
    border-radius: 32px;
    overflow: hidden;
  }

  .ov-related-articles__all--desktop {
    display: none !important;
  }

  .ov-related-articles__all--mobile {
    display: inline-flex;
  }

  .ov-article-toc,
  .ov-recipe-toc,
  .table-of-contents,
  [data-toc] {
    display: none !important;
  }

  /* About gallery: keep dots geometrically centered and the counter fixed. */
  .ov-gallery-mobile__pagination {
    position: relative;
    display: block;
    min-height: 24px;
  }

  .ov-gallery-mobile__dots {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    transform: translate(-50%, -50%);
  }

  .ov-gallery-mobile__pagination > span {
    position: absolute;
    top: 50%;
    right: 0;
    min-width: 42px;
    font-variant-numeric: tabular-nums;
    text-align: right;
    transform: translateY(-50%);
  }

  /* Mobile search back arrow, independent from the legacy search-icon mask. */
  .ov-quick-search .search__top-btn {
    position: relative;
    display: block;
    overflow: visible;
  }

  .ov-quick-search .search__top-btn > svg:first-child,
  .ov-quick-search .search__top-btn::before,
  .ov-quick-search .search__top-btn::after {
    display: none !important;
  }

}


/* Homepage values — Figma 1471:42768 / mobile 1480:42923. */
.ov-home-values { padding-top: 132px; }
.ov-home-values__head { margin-bottom: 40px; }
.ov-home-values__head p { max-width: 640px; margin-right: auto; margin-left: auto; text-align: center; }
.ov-home-values__egg {
  position: relative;
  width: min(100%, 553.335px);
  aspect-ratio: 553.335 / 678.207;
  margin: 0 auto;
  container-type: inline-size;
}
.ov-home-values__background {
  display: block;
  width: 100%;
  height: 100%;
}
.ov-home-values__items {
  position: absolute;
  inset: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ov-home-values__item {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  gap: 2.17cqw;
  color: #fff;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  transform: translate(-50%, -50%);
}
.ov-home-values__item span { display: block; max-width: 100%; font-size: 14px; overflow-wrap: anywhere; }
.ov-home-values__icon {
  display: block;
  width: 44px;
  width: 7.95cqw;
  height: 44px;
  height: 7.95cqw;
  flex: 0 0 auto;
  object-fit: contain;
}
.ov-home-values__item--innovation { left: 34%; top: 22%; width: 26%; }
.ov-home-values__item--quality { left: 68%; top: 25%; width: 29%; }
.ov-home-values__item--sustainability { left: 25%; top: 46%; width: 36%; }
.ov-home-values__item--development { left: 73%; top: 50%; width: 46%; color: #282828; }
.ov-home-values__item--development .ov-home-values__icon { width: 6.51cqw; height: 6.51cqw; }
.ov-home-values__item--partnership { left: 31%; top: 77%; width: 45%; color: #282828; }
.ov-home-values__item--service { left: 70%; top: 81%; width: 34%; color: #282828; }

@media (max-width: 767px) {
  .ov-home-values { padding-top: 40px; }
  .ov-home-values > .container { padding-right: 16px; padding-left: 16px; }
  .ov-home-values__head { margin-bottom: 28px; }
  .ov-home-values__head h2 { font-size: 28px; line-height: 28px; letter-spacing: -.84px; }
  .ov-home-values__head p { margin-top: 16px; font-size: 16px; line-height: 21px; letter-spacing: -.48px; }
  .ov-home-values__egg { max-width: 400px; }
  .ov-home-values__item { gap: 8px; gap: 2.33cqw; }
  .ov-home-values__item span { font-size: 10px; }
  .ov-home-values__icon,
  .ov-home-values__item--development .ov-home-values__icon { width: 28px; height: 28px; width: 8.16cqw; height: 8.16cqw; }
  .ov-home-values + .ov-benefits { margin-top: 80px; }
}
