@charset "UTF-8";
:root {
  --white: #FFFFFF;
  --white2: #F8F8F8;
  --beige: #f9f6f4;
  --black: #000000;
  --black2: #2D3643;
  --darkGrey1: #575757;
  --darkGrey2: #404040;
  --darkGrey3: #707070;
  --lightGrey1: #E5E5E5;
  --lightGrey2: #00000029;
  --lightGrey3: #D5D5D5;
  --lightGrey4: #EEEEEE;
  --lightGrey5: #C9C9C9;
  --lightGrey6: #FBFBFB;
  --lightgrey-bg: #F4F4F4;
  --boxShadowColor: #ACACAC29;
  --green: #8EC100;
  --darkgreen: #50827E;
  --dirt-pink: #BF747D;
  --marine: #B0DED9;
  --blue2: #5572BE;
  --yellow: #F8D480;
  --orange: #F8B080;
  --brown: #9E6E53;
  --box-shadow: 0 0 10px #00000029;
  --thin-font: 100;
  --extra-light-font: 200;
  --light-font: 300;
  --regular-font: 400;
  --medium-font: 500;
  --semi-bold-font: 600;
  --bold-font: 700;
  --extra-bold-font: 800;
  --black-font: 900;
}

/* Tenant 1 (Pk Train) theme */
.tenant1 {
  --brandPrimary: #E2001A;
  --brandPrimaryHover: #bd011b;
}

@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Thin.ttf") format("truetype");
  font-weight: 100;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-ExtraLight.ttf") format("truetype");
  font-weight: 200;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Light.ttf") format("truetype");
  font-weight: 300;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Regular.ttf") format("truetype");
  font-weight: 400;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Medium.ttf") format("truetype");
  font-weight: 500;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-SemiBold.ttf") format("truetype");
  font-weight: 600;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Bold.ttf") format("truetype");
  font-weight: 700;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-ExtraBold.ttf") format("truetype");
  font-weight: 800;
}
@font-face {
  font-family: "Poppins";
  src: url("/fonts/Poppins-Black.ttf") format("truetype");
  font-weight: 900;
}
@font-face {
  font-family: "Hopeless-Place";
  src: url("/fonts/Hopeless-Place.ttf") format("truetype");
  font-weight: 400;
}
body {
  opacity: 0;
  animation: fadeInAnimation ease 1s;
  animation-fill-mode: forwards;
  /* Clip any accidental horizontal overflow so it can't create a wider layout
     viewport — otherwise position: fixed elements (e.g. the floating contact
     button) anchor to the overflow edge and stick out past the screen on some
     pages. `clip` (not `hidden`) avoids turning body into a scroll container,
     so the sticky header keeps working. */
  overflow-x: clip;
}
body a, body span, body p, body div {
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  letter-spacing: -0.64px;
}
body a {
  color: var(--brandPrimary);
}
body a:hover, body a:focus {
  text-decoration: none;
  color: var(--brandPrimaryHover);
}
body h1 {
  font-size: 30px;
  letter-spacing: -1.2px;
}
body h2 {
  font-size: 26px;
  font-weight: var(--medium-font);
  letter-spacing: -1.04px;
}
body h3 {
  font-size: 20px;
  font-weight: var(--regular-font);
  letter-spacing: -0.8px;
}
body h4 {
  font-size: 18px;
  letter-spacing: -0.72px;
}
body .select-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  height: 33px;
  min-width: 114px;
  box-shadow: 0 0 6px var(--lightGrey2);
  border: 1px solid var(--black);
}
body .select-wrapper select {
  width: 100%;
  height: 100%;
  position: absolute;
  padding-left: 14px;
  padding-right: 30px;
  border: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
}
body .select-wrapper svg {
  z-index: 1;
  margin-right: 14px;
  pointer-events: none;
}
body .main-button {
  width: fit-content;
  height: 61px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--brandPrimary);
  padding: 0 38px;
  color: var(--white);
}
body .main-button:hover {
  background-color: var(--brandPrimaryHover);
  -webkit-box-shadow: var(--box-shadow);
  -moz-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
  color: var(--white);
}
body .main-white-underline-button {
  width: fit-content;
  height: 61px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  border: 1px solid var(--white);
  font-weight: var(--bold-font);
  font-size: 26px;
  padding: 0 38px;
  letter-spacing: -1.04px;
  background-color: transparent;
}
body .main-white-underline-button:hover {
  border: 1px solid var(--lightGrey4);
  color: var(--lightGrey4);
  -webkit-box-shadow: var(--box-shadow);
  -moz-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}
body .main-white-underline-button:focus {
  outline: 0;
}
body .main-underline-button {
  width: fit-content;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--black);
  font-weight: var(--bold-font);
  font-size: 18px;
  padding: 0 25px;
  letter-spacing: -0.72px;
  background-color: transparent;
}
body .main-underline-button:hover {
  border: 1px solid var(--brandPrimaryHover);
  color: var(--brandPrimaryHover);
  -webkit-box-shadow: var(--box-shadow);
  -moz-box-shadow: var(--box-shadow);
  box-shadow: var(--box-shadow);
}
body .form-check-input[type=checkbox] {
  width: 16px;
  height: 16px;
  border: 1px solid var(--black);
  border-radius: 0;
  accent-color: var(--brandPrimary);
}
body .form-check-label {
  margin-left: 10px;
}
body input[type=radio] {
  width: 15px;
  height: 15px;
  accent-color: var(--black);
}
body .price-container .price {
  display: flex;
  color: var(--white);
}
body .price-container .price .integral {
  font-size: 100px;
  font-weight: var(--bold-font);
  letter-spacing: -4px;
}
body .price-container .price .fraction-container {
  display: flex;
  flex-direction: column;
  position: relative;
}
body .price-container .price .fraction-container .fraction {
  width: max-content;
  position: absolute;
  left: -15px;
  top: 15px;
  font-size: 60px;
  font-weight: var(--bold-font);
  letter-spacing: -2.4px;
}
body .price-container .price .fraction-container .under-text {
  width: max-content;
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 22px;
  letter-spacing: -0.88px;
}
@keyframes fadeInAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1450px !important;
  }
}
.start-now-ad-container {
  background-color: var(--brandPrimary);
  text-align: center;
}
.start-now-ad-container span, .start-now-ad-container b {
  color: var(--white);
}

.main-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  padding-top: 20px;
  background-color: var(--white);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}
.main-header .logo-img {
  width: 180px;
}
@media (max-width: 1199px) {
  .main-header .header-data {
    flex-direction: row-reverse;
    align-items: center;
  }
  .main-header .header-data .logo-container {
    display: flex;
    justify-content: center;
  }
}

.contact-tab-floating {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 999;
  height: 57px;
  padding: 0 22px;
  background-color: var(--brandPrimary);
  border-radius: 8px;
  box-shadow: 0 2px 11.9px -2px rgba(0, 0, 0, 0.17);
  color: var(--white);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  transition: transform 200ms ease, background-color 200ms ease;
}
.contact-tab-floating:hover {
  transform: translateY(-2px);
  background-color: #c00017;
  color: var(--white);
  text-decoration: none;
}
.contact-tab-floating .contact-tab-label {
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}
.contact-tab-floating .contact-tab-icon {
  width: 32px;
  height: 32px;
  display: block;
}
@media (max-width: 575px) {
  .contact-tab-floating {
    right: 0;
    bottom: 0;
    height: 48px;
    padding: 0 16px;
  }
  .contact-tab-floating .contact-tab-label {
    font-size: 18px;
  }
  .contact-tab-floating .contact-tab-icon {
    width: 24px;
    height: 24px;
  }
}

.app-description-container {
  height: 100vh;
  max-height: 1028px;
  min-height: 600px;
  position: relative;
  padding-top: 200px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/images/landing-bg.png");
}
.app-description-container h1 {
  font-size: 70px;
  font-weight: var(--bold-font);
  letter-spacing: -2.8px;
  color: var(--brandPrimary);
}
.app-description-container .description-text {
  width: 30%;
  display: block;
}
.app-description-container .main-button {
  margin-top: 44px;
  font-size: 26px;
  font-weight: var(--bold-font);
  letter-spacing: -1.04px;
}
.app-description-container .insurance-advertisement-container {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  position: absolute;
  right: 0;
  bottom: 10%;
}
.app-description-container .insurance-advertisement-container .triangle-bg {
  width: 100px;
  height: 158px;
  position: relative;
  overflow: hidden;
}
.app-description-container .insurance-advertisement-container .triangle-bg:after {
  content: "";
  position: absolute;
  width: 158px;
  height: 158px;
  background: var(--brandPrimary);
  transform: rotate(45deg);
  top: 0;
  right: -100px;
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.3803921569);
}
.app-description-container .insurance-advertisement-container .main-data {
  width: 25vw;
  max-width: 500px;
  height: 158px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--brandPrimary);
  color: var(--white);
  padding: 42px 42px 42px 0;
  box-shadow: 3px 3px 15px rgba(0, 0, 0, 0.3803921569);
}
.app-description-container .insurance-advertisement-container .main-data h2 {
  font-weight: var(--bold-font);
}
@media (max-width: 1200px) {
  .app-description-container {
    padding-top: 150px;
  }
  .app-description-container .insurance-advertisement-container .main-data h2 {
    font-size: 20px;
  }
}
@media (max-width: 770px) {
  .app-description-container {
    /* Dedicated portrait hero image for mobile (matches the landing hero),
       replacing the wide desktop background on the online courses page. */
    background-image: url("/images/landing/mobile-woman.png");
    /* Anchor the portrait to the top so her head sits above the hero text. */
    background-position: center top;
  }
  .app-description-container .description-text {
    width: 80%;
  }
  .app-description-container .insurance-advertisement-container .triangle-bg {
    width: 70px;
    height: 120px;
  }
  .app-description-container .insurance-advertisement-container .triangle-bg:after {
    width: 120px;
    height: 120px;
    right: -85px;
  }
  .app-description-container .insurance-advertisement-container .main-data {
    width: 50vw;
    height: 120px;
    padding: 20px 20px 20px 0;
  }
}

/* All courses need dark text so the title, highlights and price stay readable
   on their light header images. Only Indoorcycling keeps the default white
   text (dark header). Scoped via the `dark-overview` class added in
   product-main.html to every course whose slug/URL is not 'indoorcycling'. */
.product-main-container.dark-overview {
  color: var(--black);
}
.product-main-container.dark-overview .main-white-underline-button {
  color: var(--black);
  border-color: var(--black);
}
.product-main-container.dark-overview .main-white-underline-button:hover, .product-main-container.dark-overview .main-white-underline-button:focus {
  color: var(--brandPrimaryHover);
  border-color: var(--brandPrimaryHover);
}
.product-main-container.dark-overview .price-container .price {
  color: var(--black);
}

/* The Pilates & Yoga header image has its subject off-centre, so shift the
   background further right than the default centred crop. Scoped via the
   `bg-right` class added in product-main.html for the 'pilates-yoga' slug. */
.product-main-container.bg-right {
  background-position: 75% center;
}

.product-main-container {
  height: fit-content;
  display: flex;
  align-items: center;
  padding: 120px 0 80px 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  color: var(--white);
}
.product-main-container .product-bg {
  z-index: 0;
}
.product-main-container .container {
  height: 100%;
}
.product-main-container .data-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 1;
}
.product-main-container .data-content .overview-container h1 {
  display: table-caption;
  font-size: 3vw;
  letter-spacing: -6.64px;
}
.product-main-container .data-content .overview-container .main-white-underline-button {
  margin-top: 50px;
}
.product-main-container .data-content .overview-container .highlights-container {
  display: flex;
  justify-content: space-between;
  margin-top: 100px;
}
.product-main-container .data-content .overview-container .highlights-container .highlight {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
.product-main-container .data-content .overview-container .highlights-container .highlight span {
  margin-top: 12px;
}
.product-main-container .data-content .price-container .main-white-underline-button {
  margin-top: 25px;
}
@media (max-width: 1700px) {
  .product-main-container .data-content .overview-container h1 {
    font-size: 5vw;
    letter-spacing: initial;
  }
}
@media (max-width: 991px) {
  .product-main-container {
    padding: 80px 0 20px 0;
  }
  .product-main-container .data-content {
    flex-direction: column;
    align-items: stretch;
  }
  .product-main-container .data-content .overview-container h1 {
    font-size: 7vw;
    letter-spacing: initial;
    display: block;
  }
  .product-main-container .data-content .overview-container .main-white-underline-button {
    font-size: 18px;
    padding: 0 25px;
  }
  .product-main-container .data-content .overview-container .highlights-container {
    margin-top: 20px;
  }
  .product-main-container .data-content .overview-container .highlights-container .highlight {
    justify-content: center;
  }
  .product-main-container .data-content .overview-container .highlights-container .highlight img {
    width: 35px;
  }
  .product-main-container .data-content .price-container {
    margin-top: 50px;
  }
  .product-main-container .data-content .price-container .main-white-underline-button {
    font-size: 18px;
    padding: 0 25px;
  }
  .product-main-container .data-content .price-container .price .integral {
    font-size: 80px;
  }
  .product-main-container .data-content .price-container .price .fraction-container .fraction {
    left: -10px;
    top: 10px;
    font-size: 40px;
  }
  .product-main-container .data-content .price-container .price .fraction-container .under-text {
    width: max-content;
    position: absolute;
    bottom: 15px;
    left: 15px;
  }
}
@media (max-width: 500px) {
  .product-main-container .data-content .overview-container h1 {
    font-size: 10vw;
    letter-spacing: initial;
  }
  .product-main-container .data-content .overview-container .highlights-container {
    margin-top: 20px;
  }
  .product-main-container .data-content .overview-container .highlights-container .highlight {
    justify-content: center;
  }
  .product-main-container .data-content .overview-container .highlights-container .highlight img {
    width: 25px;
  }
  .product-main-container .data-content .price-container {
    margin-top: 30px;
  }
  .product-main-container .data-content .price-container .price .integral {
    font-size: 60px;
  }
  .product-main-container .data-content .price-container .price .fraction-container .fraction {
    left: -10px;
    top: 10px;
    font-size: 30px;
  }
  .product-main-container .data-content .price-container .price .fraction-container .under-text {
    width: max-content;
    position: absolute;
    bottom: 17px;
    left: 7px;
    font-size: 16px;
  }
}

.overview-container {
  min-width: 50%;
  padding-top: 50px;
  padding-right: 100px;
}
.overview-container .header-text {
  margin-bottom: 30px;
}
.overview-container .header-text h2 {
  display: inline;
}
.overview-container ul {
  list-style: circle;
}
.overview-container ul li {
  margin-bottom: 15px;
}
@media (max-width: 991px) {
  .overview-container {
    padding-right: 0;
  }
}

.common-information-container {
  padding-top: 15px;
  border-left: 1px solid var(--lightGrey5);
  padding-left: 65px;
}
.common-information-container .price-container .price {
  display: flex;
  color: initial;
}
.common-information-container .price-container .price .integral {
  font-size: 60px;
  font-weight: var(--bold-font);
  letter-spacing: -2.4px;
}
.common-information-container .price-container .price .fraction-container {
  display: flex;
  flex-direction: column;
  position: relative;
}
.common-information-container .price-container .price .fraction-container .fraction {
  width: max-content;
  position: absolute;
  left: -10px;
  top: 10px;
  font-size: 30px;
  font-weight: var(--bold-font);
  letter-spacing: -1.2px;
}
.common-information-container .price-container .price .fraction-container .under-text {
  width: max-content;
  position: absolute;
  bottom: 15px;
  left: 15px;
  font-size: 16px;
}
.common-information-container .price-container .main-underline-button {
  margin-top: 10px;
}
.common-information-container .price-container .difficulty-select {
  margin: 16px 0 4px;
}
.common-information-container .price-container .difficulty-select label {
  display: block;
  margin-bottom: 6px;
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  letter-spacing: -0.56px;
  color: var(--darkGrey3);
}
.common-information-container .price-container .difficulty-select select {
  width: 100%;
  height: 56px;
  padding: 0 44px 0 16px;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  letter-spacing: -0.64px;
  color: var(--black);
  background-color: var(--white);
  border: 1px solid var(--lightGrey5);
  border-radius: 0;
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  outline: none;
}
.common-information-container .price-container .difficulty-select select:focus {
  border-color: var(--black);
}
.common-information-container .trainer-container {
  margin-top: 50px;
}
.common-information-container .trainer-container .image-replace {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--lightGrey1);
  color: var(--white);
  border-radius: 50%;
}
.common-information-container .trainer-container .image-replace span {
  font-size: 20px;
  font-weight: var(--bold-font);
}
.common-information-container .trainer-container .name h3 {
  letter-spacing: -0.28px;
  font-weight: var(--bold-font);
}
.common-information-container .trainer-container .role {
  letter-spacing: -0.22px;
}
.common-information-container .equipment-container {
  margin-top: 70px;
}
.common-information-container .equipment-container h4 {
  letter-spacing: 0;
  font-weight: var(--semi-bold-font);
}
.common-information-container .equipment-container .equipment-list .equipment {
  display: flex;
  align-items: center;
  margin-top: 26px;
}
.common-information-container .equipment-container .equipment-list .equipment.empty .equipment-img {
  background: linear-gradient(to top right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 0.8px), rgb(0, 0, 0) 50%, rgba(0, 0, 0, 0) calc(50% + 0.8px), rgba(0, 0, 0, 0) 100%);
}
.common-information-container .equipment-container .equipment-list .equipment .equipment-img {
  width: 30px;
  height: 30px;
  object-fit: none;
  border: 1px solid var(--black);
  border-radius: 50%;
  margin-right: 10px;
}
.common-information-container .equipment-container .equipment-list .equipment .arrow-img {
  width: 8px;
  height: 12px;
  margin-left: 5px;
}
.common-information-container .equipment-container .equipment-list .equipment span {
  color: var(--black);
  letter-spacing: -0.32px;
}
.common-information-container .how-divided-program-container {
  margin-top: 75px;
}
.common-information-container .how-divided-program-container h4 {
  letter-spacing: 0;
  font-weight: var(--semi-bold-font);
}
@media (max-width: 991px) {
  .common-information-container {
    border-left: none;
    padding-left: 0;
  }
}
@media (max-width: 500px) {
  .common-information-container .price-container .price .integral {
    font-size: 60px;
  }
  .common-information-container .price-container .price .fraction-container .fraction {
    left: -10px;
    top: 10px;
    font-size: 30px;
  }
  .common-information-container .price-container .price .fraction-container .under-text {
    width: max-content;
    position: absolute;
    bottom: 17px;
    left: 7px;
    font-size: 16px;
  }
}

.course-content {
  padding-top: 50px;
  padding-right: 130px;
}
.course-content .header-text {
  margin-bottom: 30px;
}
.course-content .content-list .content {
  width: 100%;
  background-color: var(--lightGrey6);
  margin-bottom: 30px;
  align-items: center;
  padding: 10px 0;
}
.course-content .content-list .content .video-image {
  width: 100%;
  max-width: 105px;
  height: 59px;
  object-fit: cover;
}
.course-content .content-list .content .name-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.course-content .content-list .content .name-wrapper h4 {
  margin-bottom: 0;
}
.course-content .content-list .duration-container img {
  width: 20px;
  height: 22px;
  margin-right: 8px;
}
@media (max-width: 990px) {
  .course-content {
    padding-top: 20px;
    padding-right: 0;
  }
  .course-content .content-list .content .video-image {
    width: 100%;
    height: auto;
    max-width: fit-content;
  }
  .course-content .content-list .content .name-wrapper {
    margin-top: 20px;
  }
}
.description-tabs-container {
  margin-top: 70px;
}
.description-tabs-container .tab-list {
  display: flex;
}
.description-tabs-container .tab-list .tab {
  width: fit-content;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}
.description-tabs-container .tab-list .tab:not(:last-child) {
  margin-right: 64px;
}
.description-tabs-container .tab-list .tab span {
  padding: 5px 10px;
  font-weight: var(--medium-font);
  border-bottom: 7px solid var(--white);
}
.description-tabs-container .tab-list .tab.active span {
  border-bottom: 7px solid;
}
.description-tabs-container .tab-content {
  width: 100%;
}
.description-tabs-container .tab-content .tab-data {
  display: none;
}
.description-tabs-container .tab-content .tab-data.active {
  display: flex;
}
.description-tabs-container .tab-content .certificate-tab-data .certificate-wrapper {
  display: flex;
  justify-content: center;
}
.description-tabs-container .tab-content .certificate-tab-data .certificate-wrapper .certificate-image {
  height: 60vh;
  min-height: 600px;
  margin-top: 50px;
}
@media (max-width: 500px) {
  .description-tabs-container .tab-list {
    flex-direction: column;
    justify-content: space-between;
  }
  .description-tabs-container .tab-list .tab:not(:last-child) {
    margin-right: 0;
  }
  .description-tabs-container .tab-content .certificate-tab-data .certificate-wrapper .certificate-image {
    min-height: initial;
  }
}

.product-container {
  margin-bottom: 144px;
}

/* ---------- Mobile side gutter ----------
   On small screens the hero and the description tabs collapse into a single
   stacked column. The default Bootstrap `.container` gutter (15px) reads as
   flush against the bold typography, so widen it to keep a visible left/right
   margin once everything is stacked. */
@media (max-width: 991px) {
  .product-main-container .container,
  .description-tabs-container {
    padding-left: 24px;
    padding-right: 24px;
  }
}
/* ---------- Main row (image + add-to-cart) ----------
   Stretch the add-to-cart column to the right container edge so it
   aligns flush with the .general-product-info block below. */
.main-data-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: clamp(40px, 12vw, 215px);
  margin: 0 0 40px;
}
.main-data-row a, .main-data-row a:link, .main-data-row a:visited {
  color: var(--black);
  text-decoration: none;
}
.main-data-row > .col-lg-12.col-xl-4 {
  flex: 0 0 464px;
  width: auto;
  max-width: 464px;
  padding: 0;
}
.main-data-row > .col-lg-12.col-xl-8 {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  padding: 0;
}
@media (max-width: 1199px) {
  .main-data-row {
    flex-wrap: wrap;
    /* Stacked layout: the desktop flex layout zeroes the column gutter, which
       leaves image, spec links and the add-to-cart widget flush against the
       left edge on mobile. Restore a side gutter so everything is inset. */
  }
  .main-data-row > .col-lg-12.col-xl-4,
  .main-data-row > .col-lg-12.col-xl-8 {
    flex: 1 1 100%;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }
  .main-data-row {
    /* The add-to-cart widget renders the short description with an inline
       width: 50%, which is far too narrow once the column spans the full width
       on mobile. Stretch it to match the full-width blocks above it. */
  }
  .main-data-row .short-description {
    width: 100% !important;
  }
}

/* ---------- Shop product detail image (mock + real products) ----------
   The <img> tag is rendered directly when the product carries a static
   path (Mock category images). Constrain it so it stays inside its
   Bootstrap column instead of spilling out at natural size. */
.product-detail-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 464px;
  aspect-ratio: 464/301;
  background-color: var(--lightGrey6);
  border-radius: 8px;
  overflow: hidden;
}
.product-detail-image img {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}

/* ============================================================
   PRODUCT LIST partial — loaded by standalone.scss
   Figma node 2090:9636 — "Shop → Kategorien → Produktliste"
   ============================================================ */
/*
  Original pk_train fitness/courses product-list styling (course rows
  with image left, info middle, price right). Kept commented in case
  the old layout needs to come back. Replaced by the shop-style grid
  below.

  .product-list-bg {
    max-height: 500px;
    min-height: 200px;
    position: relative;
    padding-top: 150px;
    padding-bottom: 100px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("/images/free-trial-background.png");

    h1 {
      font-size: 70px;
      font-weight: var(--bold-font);
      letter-spacing: -2.8px;
      color: var(--brandPrimary);
    }
  }

  .product-list {
    padding-top: 80px;
    padding-bottom: 100px;
    background-color: var(--beige);
  }

  .product-list-grid {
    display: grid;
    flex-direction: column;
    gap: 16px;

    .category-name { font-weight: var(--bold-font); }

    .product {
      width: 100%;
      background-color: var(--white);
      box-shadow: 3px 3px 6px #ACACAC29;
      border-radius: 5px;

      .info-container {
        padding: 0 25px;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;

        h2 { margin: 20px 0; }
        span { color: var(--darkGrey3); }
      }

      .price-container {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: space-between;
        text-align: right;
        gap: 8px;
        margin: 0;
        font-weight: bold;
        color: var(--darkGrey1);
        font-size: 45px;
        padding: 28px 20px 28px 0;

        .price {
          margin: 0;
          color: var(--darkGrey1);

          .integral { font-size: 60px; font-weight: bold; }

          .fraction-container {
            .fraction { position: initial; font-size: 35px; font-weight: bold; }
            .under-text { position: initial; font-size: 15px; font-weight: 400; }
          }
        }

        a {
          text-decoration: none;
          h3 {
            margin: 0;
            border: 1px solid var(--darkGrey1);
            color: var(--darkGrey1);
            box-shadow: 0 0 6px #00000029;
            padding: 4px 8px;
            font-size: 16px;
            height: 42px;
            width: 192px;
            text-align: center;
            font-weight: 600;
            display: flex;
            justify-content: center;
            align-items: center;
          }
        }
      }
    }
  }
*/
.product-list-page {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 60px 80px;
  box-sizing: border-box;
}

.grid-head {
  margin-top: 0;
}
.grid-head .breadcrumb-nav {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  color: var(--darkGrey1);
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 24px;
}
.grid-head .breadcrumb-nav a {
  color: var(--darkGrey1);
  text-decoration: none;
}
.grid-head .breadcrumb-nav a:hover {
  text-decoration: underline;
}
.grid-head .breadcrumb-nav .breadcrumb-separator {
  color: var(--darkGrey1);
}
.grid-head .breadcrumb-nav b {
  color: var(--black);
  font-weight: 600;
}
.grid-head h1 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 30px;
  color: var(--black);
  margin: 0 0 24px;
}
.grid-head .category-description {
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: var(--darkGrey1);
  line-height: 1.5;
  margin-top: 0;
  margin-bottom: 30px;
  max-width: 900px;
}

/* ---------- Sub-category pills ---------- */
.sub-category-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin: 0 0 24px;
  padding: 0;
}
.sub-category-bar .sub-category-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 22px;
  background-color: var(--lightGrey1);
  border: 1px solid var(--lightGrey1);
  border-radius: 8px;
  color: var(--black);
  font-family: "Poppins", sans-serif;
  font-size: 20px;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.sub-category-bar .sub-category-pill:hover {
  border-color: var(--brandPrimary);
  color: var(--brandPrimary);
  text-decoration: none;
}
.sub-category-bar .sub-category-pill.is-active {
  background-color: var(--brandPrimary);
  border-color: var(--brandPrimary);
  color: var(--white);
}
.sub-category-bar .sub-category-pill.is-active:hover {
  background-color: var(--brandPrimaryHover);
  border-color: var(--brandPrimaryHover);
  color: var(--white);
}

/* ---------- Page bar (sort + active filters) ---------- */
.page-bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin: 0 0 24px;
}
.page-bar .sort-container {
  display: flex;
  gap: 16px;
}
.page-bar .pagination {
  font-family: "Poppins", sans-serif;
  font-size: 14px;
  color: var(--darkGrey1);
}
.page-bar .active-filter-container {
  margin-left: auto;
}

/* ---------- Filter toggle button (above grid) ---------- */
.filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 15px;
  padding: 8px 12px 8px 8px;
  background: transparent;
  border: none;
  border-radius: 5px;
  color: var(--black);
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 20px;
  cursor: pointer;
  transition: background-color 0.15s ease;
}
.filter-toggle:hover {
  background-color: var(--lightGrey1);
}
.filter-toggle.is-hidden {
  visibility: hidden;
}
.filter-toggle .filter-toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: var(--black);
}

/* ---------- Grid layout ---------- */
.grid-container {
  display: flex;
  align-items: flex-start;
}

/* Gap only applies once the filter sidebar is open; otherwise the collapsed
   (width: 0) sidebar would still leave a 24px gap on the left and push the
   product grid off-centre. */
.grid-container.has-filter-open {
  gap: 24px;
}

/* Filter sidebar collapsed by default — React WgtFilter mounts inside it.
   Toggle .is-open via the "Filtern" button. */
.filter-sidebar {
  width: 0;
  overflow: hidden;
  transition: width 0.2s ease;
}
.filter-sidebar .filter-sidebar-head {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--lightGrey1);
  margin-bottom: 16px;
}
.filter-sidebar .filter-sidebar-head .filter-sidebar-title {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 20px;
  color: var(--black);
}
.filter-sidebar .filter-sidebar-head .filter-sidebar-close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: var(--black);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.filter-sidebar .filter-sidebar-head .filter-sidebar-close:hover {
  color: var(--darkGrey1);
}
.filter-sidebar.is-open {
  width: 280px;
  overflow: visible;
  background-color: var(--white);
  border: 1px solid var(--lightGrey1);
  border-radius: 8px;
  padding: 16px;
}
.filter-sidebar.is-open .filter-sidebar-head {
  display: flex;
}

.grid-body {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: 24px;
  row-gap: 56px;
  flex: 1;
  min-width: 0;
}

/* Sidebar open → drop to 3 columns so cards keep their target width. */
.grid-container.has-filter-open .grid-body {
  grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 1280px) {
  .grid-body {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-container.has-filter-open .grid-body {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 960px) {
  .grid-body {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
  }
  .product-list-page {
    padding: 0 40px 60px;
  }
}
@media (max-width: 600px) {
  .grid-body {
    grid-template-columns: 1fr;
  }
  .product-list-page {
    padding: 0 20px 40px;
  }
}
/* ---------- Product card (uses partials/product-fragment markup) ---------- */
.product-box {
  display: flex;
  flex-direction: column;
  background-color: var(--white);
  border: 1px solid var(--lightGrey1);
  border-radius: 8px;
  padding: 18px;
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  color: var(--black);
}
.product-box .product-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.product-box .product-body .add-to-cart-row {
  margin-top: auto;
  padding-top: 16px;
}
.product-box, .product-box:hover, .product-box:focus, .product-box:visited, .product-box:active {
  color: var(--black);
  text-decoration: none;
}
.product-box:hover {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.1);
}
.product-box .product-tile {
  position: relative;
}
.product-box .product-thumbnail-wrapper {
  background-color: var(--lightGrey6);
  border-radius: 6px;
  overflow: hidden;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}
.product-box .product-thumbnail-wrapper .product-thumbnail {
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
}
.product-box .product-thumbnail-wrapper hr {
  display: none;
}
.product-box .product-meta-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 6px;
}
.product-box .product-meta-row .product-sku {
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  color: var(--darkGrey1);
  letter-spacing: normal;
}
.product-box .product-meta-row .product-sku span {
  color: var(--darkGrey1);
}
.product-box .product-info h4 {
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: var(--black);
  margin: 0 0 6px;
  letter-spacing: normal;
}
.product-box .product-info .product-description {
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  color: var(--darkGrey1);
  margin: 0 0 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.product-box .price-info {
  margin-top: 12px;
}
.product-box .price-info .price-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.product-box .price-info .effective-price {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.product-box .price-info .effective-price h1 {
  font-family: "Poppins", sans-serif;
  font-weight: 700;
  font-size: 22px;
  color: var(--black);
  margin: 0;
  letter-spacing: normal;
}
.product-box .price-info .vat-info {
  display: flex;
  gap: 4px;
  color: var(--darkGrey3);
}
.product-box .price-info .vat-info span {
  color: var(--darkGrey3);
}
.product-box .price-info .small-text {
  font-family: "Poppins", sans-serif;
  font-size: 11px;
  color: var(--darkGrey3);
}
.product-box .stock-container {
  margin-top: 8px;
  font-family: "Poppins", sans-serif;
  font-size: 12px;
  color: var(--darkGrey1);
}
.product-box .stock-container .stock-indicator {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 6px;
}
.product-box .stock-container .stock-indicator.in-stock {
  background-color: #2db360;
}
.product-box .stock-container .stock-indicator.out-of-stock {
  background-color: var(--brandPrimary);
}
.product-box .add-to-cart-row {
  margin-top: auto;
  padding-top: 16px;
}
.product-box .add-to-cart-row .product-tile-cart-button {
  width: 100%;
  height: 44px;
  background-color: var(--black);
  color: var(--white);
  border: none;
  border-radius: 8px;
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: normal;
  text-transform: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  transition: background-color 0.15s ease;
}
.product-box .add-to-cart-row .product-tile-cart-button:hover {
  background-color: #1A1A1A;
  color: var(--white);
  border: none;
}
.product-box .add-to-cart-row .product-tile-cart-button:disabled {
  background-color: var(--darkGrey1);
  cursor: not-allowed;
}

/* ---------- Pagination widget area ---------- */
#wgt-product-pagination {
  margin-top: 60px;
  display: flex;
  justify-content: center;
}

/* ---------- Empty state ---------- */
.not-found-page-container {
  text-align: center;
  padding: 80px 0;
}

.breadcrumbs {
  margin-bottom: 30px;
  margin-top: 40px;
}
.breadcrumbs .crumb a {
  color: var(--blackPrimary);
}
.breadcrumbs .crumb img {
  color: var(--brandPrimary) !important;
}
.breadcrumbs .crumb:last-of-type a {
  text-decoration: underline;
  font-weight: 700;
  color: var(--blackPrimary);
}
.breadcrumbs .crumb .breadcrumb-separator {
  padding: 0 5px;
}

:root {
  --white: #FFFFFF;
  --white2: #F8F8F8;
  --beige: #f9f6f4;
  --black: #000000;
  --black2: #2D3643;
  --darkGrey1: #575757;
  --darkGrey2: #404040;
  --darkGrey3: #707070;
  --lightGrey1: #E5E5E5;
  --lightGrey2: #00000029;
  --lightGrey3: #D5D5D5;
  --lightGrey4: #EEEEEE;
  --lightGrey5: #C9C9C9;
  --lightGrey6: #FBFBFB;
  --lightgrey-bg: #F4F4F4;
  --boxShadowColor: #ACACAC29;
  --green: #8EC100;
  --darkgreen: #50827E;
  --dirt-pink: #BF747D;
  --marine: #B0DED9;
  --blue2: #5572BE;
  --yellow: #F8D480;
  --orange: #F8B080;
  --brown: #9E6E53;
  --box-shadow: 0 0 10px #00000029;
  --thin-font: 100;
  --extra-light-font: 200;
  --light-font: 300;
  --regular-font: 400;
  --medium-font: 500;
  --semi-bold-font: 600;
  --bold-font: 700;
  --extra-bold-font: 800;
  --black-font: 900;
}

.general-product-info {
  margin-bottom: 100px;
  color: var(--black);
  /* All links in this section are black (Figma 2278:14546). */
}
.general-product-info a, .general-product-info a:link, .general-product-info a:visited {
  color: var(--black);
  text-decoration: none;
}
.general-product-info a:hover {
  color: var(--brandPrimary);
  text-decoration: none;
}
.general-product-info > .row {
  display: flex;
  flex-wrap: nowrap;
  gap: 180px;
  align-items: flex-start;
}
.general-product-info > .row > .col-lg-4 {
  margin-top: -250px;
}
.general-product-info h3 {
  margin-bottom: 20px;
  text-transform: uppercase;
}
.general-product-info .high-resolution-wrapper {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 40px;
  color: var(--black);
  white-space: nowrap;
}
.general-product-info .consultation-info-box {
  width: 57%;
  position: relative;
  flex-shrink: 0;
  border-radius: 5px;
  background: var(--Light-Grey, #F1F1F1);
  padding: 30px;
  margin-top: 50px;
  height: 212px;
}
.general-product-info .consultation-info-box .consultation-edge-box {
  position: absolute;
  top: 15px;
  left: 15%;
  transform: translate(-50%, -50%);
  width: 70px;
  height: 15px;
  background-color: var(--white);
  z-index: 3;
  font-size: 11px;
  text-align: center;
  font-weight: 700;
}
.general-product-info .consultation-info-box .fachberatung-badge {
  position: absolute;
  top: 0;
  left: 15px;
  transform: translateY(-50%);
  width: 135px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  color: var(--white);
  white-space: nowrap;
  font-size: 13px;
  font-weight: var(--semi-bold-font);
}
.general-product-info .consultation-info-box p {
  font-size: 16px;
  line-height: 1.6;
  color: var(--black);
  margin: 10px 0 20px 0;
}
.general-product-info .consultation-info-box .contact-options {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}
.general-product-info .consultation-info-box .contact-options .contact-option {
  display: flex;
  align-items: center;
  gap: 10px;
}
.general-product-info .consultation-info-box .contact-options .contact-option img {
  width: 24px;
  height: 24px;
}
.general-product-info .consultation-info-box .contact-options .contact-option h3 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--black);
}
@media (max-width: 991px) {
  .general-product-info > .row {
    flex-wrap: wrap;
    gap: 30px;
  }
  .general-product-info > .row > .col-lg-4 {
    margin-top: 0;
  }
  .general-product-info .consultation-info-box {
    width: 100%;
  }
}

:root {
  --white: #FFFFFF;
  --white2: #F8F8F8;
  --beige: #f9f6f4;
  --black: #000000;
  --black2: #2D3643;
  --darkGrey1: #575757;
  --darkGrey2: #404040;
  --darkGrey3: #707070;
  --lightGrey1: #E5E5E5;
  --lightGrey2: #00000029;
  --lightGrey3: #D5D5D5;
  --lightGrey4: #EEEEEE;
  --lightGrey5: #C9C9C9;
  --lightGrey6: #FBFBFB;
  --lightgrey-bg: #F4F4F4;
  --boxShadowColor: #ACACAC29;
  --green: #8EC100;
  --darkgreen: #50827E;
  --dirt-pink: #BF747D;
  --marine: #B0DED9;
  --blue2: #5572BE;
  --yellow: #F8D480;
  --orange: #F8B080;
  --brown: #9E6E53;
  --box-shadow: 0 0 10px #00000029;
  --thin-font: 100;
  --extra-light-font: 200;
  --light-font: 300;
  --regular-font: 400;
  --medium-font: 500;
  --semi-bold-font: 600;
  --bold-font: 700;
  --extra-bold-font: 800;
  --black-font: 900;
}

/* ============================================================
   Desktop product tabs (rendered by partials/product-description-tabs)
   Figma node 2278:14546 — horizontal tab bar with active underline.
   ============================================================ */
.product-description-tabs {
  position: relative;
  margin-top: 80px;
  margin-bottom: 80px;
}
.product-description-tabs .tab-list {
  display: flex;
  align-items: stretch;
  width: 100%;
  border-bottom: 1px solid var(--lightGrey1);
  margin-bottom: 24px;
}
.product-description-tabs .tab-list .tab {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 16px 0;
  margin-right: 64px;
  cursor: pointer;
  font-family: "Poppins", sans-serif;
  font-size: 16px;
  color: var(--darkGrey1);
  font-weight: 500;
  position: relative;
  border-bottom: 3px solid transparent;
  margin-bottom: -1px;
}
.product-description-tabs .tab-list .tab > span {
  pointer-events: none;
}
.product-description-tabs .tab-list .tab:hover {
  color: var(--black);
}
.product-description-tabs .tab-list .tab.active {
  color: var(--black);
  font-weight: 700;
  border-bottom-color: var(--black);
  padding-left: 25px;
}
.product-description-tabs .tab-content {
  width: 100%;
}
.product-description-tabs .tab-content > div {
  display: none;
}
.product-description-tabs .tab-content > div.active {
  display: block;
}
.product-description-tabs .tab-content table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Poppins", sans-serif;
}
.product-description-tabs .tab-content table tr {
  background-color: var(--white);
}
.product-description-tabs .tab-content table tr:nth-child(odd) {
  background-color: var(--lightGrey6, #fbfbfb);
}
.product-description-tabs .tab-content table td {
  padding: 18px 24px;
  font-size: 15px;
  color: var(--black);
  vertical-align: top;
  border: none;
}
.product-description-tabs .tab-content table td:first-child {
  font-weight: 600;
  width: 35%;
  color: var(--black);
}
.product-description-tabs {
  /* On small screens we hand the page over to product-description-tabs-mobile */
}
@media (max-width: 767px) {
  .product-description-tabs {
    display: none;
  }
}

:root {
  --white: #FFFFFF;
  --white2: #F8F8F8;
  --beige: #f9f6f4;
  --black: #000000;
  --black2: #2D3643;
  --darkGrey1: #575757;
  --darkGrey2: #404040;
  --darkGrey3: #707070;
  --lightGrey1: #E5E5E5;
  --lightGrey2: #00000029;
  --lightGrey3: #D5D5D5;
  --lightGrey4: #EEEEEE;
  --lightGrey5: #C9C9C9;
  --lightGrey6: #FBFBFB;
  --lightgrey-bg: #F4F4F4;
  --boxShadowColor: #ACACAC29;
  --green: #8EC100;
  --darkgreen: #50827E;
  --dirt-pink: #BF747D;
  --marine: #B0DED9;
  --blue2: #5572BE;
  --yellow: #F8D480;
  --orange: #F8B080;
  --brown: #9E6E53;
  --box-shadow: 0 0 10px #00000029;
  --thin-font: 100;
  --extra-light-font: 200;
  --light-font: 300;
  --regular-font: 400;
  --medium-font: 500;
  --semi-bold-font: 600;
  --bold-font: 700;
  --extra-bold-font: 800;
  --black-font: 900;
}

.product-description-tabs-mobile {
  margin: 50px 0;
  /* Top edge of the list; every row supplies its own bottom divider */
  border-top: 1px solid var(--underline-opacity);
  /* Desktop hides this partial entirely (product-description-tabs takes over) */
}
@media (min-width: 768px) {
  .product-description-tabs-mobile {
    display: none;
  }
}
.product-description-tabs-mobile .tab {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  cursor: pointer;
  padding: 20px;
  margin-bottom: 0;
  background-color: #ffffff;
  border-bottom: 1px solid var(--underline-opacity);
  transition: all 0.3s ease;
}
.product-description-tabs-mobile .tab .title-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.product-description-tabs-mobile .tab .title-wrapper .polygon {
  width: 16px;
  height: auto;
  display: none;
}
.product-description-tabs-mobile .tab.active {
  font-weight: bold;
  /* Header joins its expanded content — the content row closes the line */
  border-bottom: none;
}
.product-description-tabs-mobile .tab.active .polygon {
  display: block;
}
.product-description-tabs-mobile .tab-content {
  width: 100%;
}
.product-description-tabs-mobile .tab-content .general-info-data, .product-description-tabs-mobile .tab-content .downloads-certificate-data, .product-description-tabs-mobile .tab-content .product-images-data, .product-description-tabs-mobile .tab-content .important-info-data, .product-description-tabs-mobile .tab-content .questions-answers-data {
  display: none;
  transition: all 0.3s ease;
}
.product-description-tabs-mobile .tab-content .general-info-data .info-block, .product-description-tabs-mobile .tab-content .downloads-certificate-data .info-block, .product-description-tabs-mobile .tab-content .product-images-data .info-block, .product-description-tabs-mobile .tab-content .important-info-data .info-block, .product-description-tabs-mobile .tab-content .questions-answers-data .info-block {
  padding: 20px;
  background-color: #ffffff;
  border-radius: 4px;
}
.product-description-tabs-mobile .tab-content .general-info-data .info-block:nth-of-type(even), .product-description-tabs-mobile .tab-content .downloads-certificate-data .info-block:nth-of-type(even), .product-description-tabs-mobile .tab-content .product-images-data .info-block:nth-of-type(even), .product-description-tabs-mobile .tab-content .important-info-data .info-block:nth-of-type(even), .product-description-tabs-mobile .tab-content .questions-answers-data .info-block:nth-of-type(even) {
  background-color: var(--grey-bg-3, #f9f9f9);
}
.product-description-tabs-mobile .tab-content .general-info-data .info-block .info-title, .product-description-tabs-mobile .tab-content .downloads-certificate-data .info-block .info-title, .product-description-tabs-mobile .tab-content .product-images-data .info-block .info-title, .product-description-tabs-mobile .tab-content .important-info-data .info-block .info-title, .product-description-tabs-mobile .tab-content .questions-answers-data .info-block .info-title {
  font-weight: 700;
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.product-description-tabs-mobile .tab-content .general-info-data .info-block .info-value, .product-description-tabs-mobile .tab-content .downloads-certificate-data .info-block .info-value, .product-description-tabs-mobile .tab-content .product-images-data .info-block .info-value, .product-description-tabs-mobile .tab-content .important-info-data .info-block .info-value, .product-description-tabs-mobile .tab-content .questions-answers-data .info-block .info-value {
  font-size: 16px;
  color: #666;
  line-height: 1.6;
  word-wrap: break-word;
}
.product-description-tabs-mobile .tab-content .general-info-data.active, .product-description-tabs-mobile .tab-content .downloads-certificate-data.active, .product-description-tabs-mobile .tab-content .product-images-data.active, .product-description-tabs-mobile .tab-content .important-info-data.active, .product-description-tabs-mobile .tab-content .questions-answers-data.active {
  display: block;
  border-bottom: 1px solid var(--underline-opacity);
}

:root {
  --white: #FFFFFF;
  --white2: #F8F8F8;
  --beige: #f9f6f4;
  --black: #000000;
  --black2: #2D3643;
  --darkGrey1: #575757;
  --darkGrey2: #404040;
  --darkGrey3: #707070;
  --lightGrey1: #E5E5E5;
  --lightGrey2: #00000029;
  --lightGrey3: #D5D5D5;
  --lightGrey4: #EEEEEE;
  --lightGrey5: #C9C9C9;
  --lightGrey6: #FBFBFB;
  --lightgrey-bg: #F4F4F4;
  --boxShadowColor: #ACACAC29;
  --green: #8EC100;
  --darkgreen: #50827E;
  --dirt-pink: #BF747D;
  --marine: #B0DED9;
  --blue2: #5572BE;
  --yellow: #F8D480;
  --orange: #F8B080;
  --brown: #9E6E53;
  --box-shadow: 0 0 10px #00000029;
  --thin-font: 100;
  --extra-light-font: 200;
  --light-font: 300;
  --regular-font: 400;
  --medium-font: 500;
  --semi-bold-font: 600;
  --bold-font: 700;
  --extra-bold-font: 800;
  --black-font: 900;
}

.page-bar {
  background: var(--background2);
  padding: 18px 21px;
  margin-bottom: 30px;
}
.page-bar .sort-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.page-bar .pagination {
  color: #535353;
}
.page-bar .active-filter-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px;
}
.page-bar .active-filter-container .filter-values {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.page-bar .active-filter-container .filter-values .filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.page-bar .active-filter-container .filter-values .filter-group .filter-tag {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 0.9em;
  display: flex;
  align-items: center;
  gap: 6px;
}
.page-bar .active-filter-container .filter-values .filter-group .filter-tag .filter-value-with-color {
  display: flex;
  align-items: center;
  gap: 6px;
}
.page-bar .active-filter-container .filter-values .filter-group .filter-tag .filter-remove {
  cursor: pointer;
  font-weight: bold;
  color: #666;
  font-size: 1.2em;
}
.page-bar .active-filter-container .filter-values .filter-group .filter-tag .filter-remove:hover {
  color: #333;
}
@media (max-width: 991px) {
  .page-bar .sort-container, .page-bar .active-filter-container {
    flex-direction: column;
  }
}

.free-trial-ad {
  width: 100%;
  height: 628px;
  display: flex;
  align-items: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("/images/free-trial-background.png");
}
.free-trial-ad h1 {
  width: 25%;
  margin-bottom: 10px;
  color: var(--darkGrey1);
  letter-spacing: -1.8px;
  font-size: 45px;
}
.free-trial-ad h3 {
  width: 25%;
  margin-bottom: 20px;
  color: var(--darkGrey1);
}
.free-trial-ad .main-button {
  font-size: 22px;
  font-weight: var(--bold-font);
  letter-spacing: -0.88px;
  border-radius: 8px;
}
@media (max-width: 1200px) {
  .free-trial-ad {
    background-position: left;
  }
  .free-trial-ad h1, .free-trial-ad h3 {
    width: 50%;
  }
}
@media (max-width: 500px) {
  .free-trial-ad h1, .free-trial-ad h3 {
    width: 100%;
  }
  .free-trial-ad h1 {
    font-size: 35px;
  }
}

.main-footer {
  padding-top: 100px;
  padding-bottom: 100px;
}
.main-footer .logo-container img {
  width: 180px;
}
.main-footer .columns-container {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  column-gap: 6%;
  row-gap: 20px;
  margin-top: 50px;
}
.main-footer .columns-container .footer-column {
  display: flex;
  flex-direction: column;
}
.main-footer .columns-container .footer-column .title {
  margin-bottom: 18px;
}
.main-footer .columns-container .footer-column a {
  color: var(--darkGrey2);
  font-weight: var(--light-font);
}
.main-footer .columns-container .footer-column a:not(:last-child) {
  margin-bottom: 18px;
}
.main-footer .columns-container .footer-column a:hover {
  color: var(--brandPrimary);
}
.main-footer .columns-container .footer-column.socials-column .socials-container {
  display: flex;
  gap: 29px;
  align-items: center;
}
.main-footer .columns-container .footer-column.socials-column .socials-container a {
  margin-bottom: 0;
}
.main-footer .columns-container .footer-column.socials-column .socials-container img {
  width: 30px;
  height: 30px;
}
@media (max-width: 1200px) {
  .main-footer .columns-container {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 991px) {
  .main-footer .columns-container {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 770px) {
  .main-footer .columns-container {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media (max-width: 500px) {
  .main-footer .logo-container {
    text-align: center;
  }
  .main-footer .columns-container {
    grid-template-columns: repeat(1, 1fr);
  }
}

.footer-notice {
  padding-top: 70px;
  padding-bottom: 90px;
  border-top: 1px solid var(--darkGrey3);
}
.footer-notice .text-wrapper {
  width: 66%;
}
.footer-notice .text-wrapper span {
  font-size: 12px;
  letter-spacing: -0.48px;
}
@media (max-width: 991px) {
  .footer-notice .text-wrapper {
    width: 100%;
  }
}

/*
    Old layout assumed the header floats over a hero image, hence
    position: absolute. Shop pages (product, product-list) don't have such
    a hero — the header should sit in normal flow above the content.

    .main-header {
        width: 100%;
        position: absolute;
        z-index: 3;
    }
*/
/* .main-header styling comes from partials/header (sticky, z-index above
   all page content) — do not override it here with a lower z-index. */

/*# sourceMappingURL=standalone.css.map */
