@charset "UTF-8";
.container {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

@media (min-width: 1200px) {
  .container {
    padding-left: 100px !important;
    padding-right: 100px !important;
  }
}
@media (min-width: 1900px) {
  .container {
    padding-left: 200px !important;
    padding-right: 200px !important;
  }
}
/*------------------------------------*\
    #VARIABLES
\*------------------------------------*/
/**
 * CONTENTS
 *
 * COLORS
 * Brand Colors...............Globally-available variables and config
 * Neutral Colors.............Grayscale colors, including white and black
 * Utility Colors.............Info, Warning, Error, Success
 *
 * TYPOGRAPHY
 * Font Families..............The fonts used in the design system
 * Sizing.....................Font sizing
 *
 * LAYOUT
 * Max-widths.................Maximum layout container width
 *
 * SPACING
 * Spacing defaults...........Spacing between elements
 *
 * BORDERS
 * Border Width...............Border thicknesses
 * Border Radius..............Border radius definitions
 *
 * ANIMATION
 * Animation Speed............Transition/animation speed variables
 * Animation easing...........Easing variables
 *
 * BREAKPOINTS
 * Breakpoints................Global breakpoint definitions
 */
/*------------------------------------*\
     #COLORS
\*------------------------------------*/
/*------------------------------------*\
    #COLORS
\*------------------------------------*/
/**
 * In this file, we take the literal colors from our palette (defined in variables.scss)
 * and define them against variables that we can utilise anywhere throughout the project.
 */
/*------------------------------------*\
    #GLOBAL TEXT COLOR
\*------------------------------------*/
/**
 * Body text and background colors
 */
/**
 * Highlight colors
 */
/*------------------------------------*\
    #LINKS
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS Primary
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS Outline
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS text
\*------------------------------------*/
/*------------------------------------*\
    #BUTTONS Secondary
\*------------------------------------*/
/*------------------------------------*\
    #FORMS
\*------------------------------------*/
/*------------------------------------*\
     #TYPOGRAPHY
 \*------------------------------------*/
/**
 * Font Family
 */
/**
 * Font Sizing Mobile
 */
/**
* Font Sizing Desktop
*/
/**
* Font Sizing HD Desktop
*/
/**
* Font Sizing Paragraph Mobile
*/
/**
* Font Sizing Paragraph
*/
/**
 * Font Sizing Paragraph HD
 */
/*------------------------------------*\
    #LAYOUT
\*------------------------------------*/
/**
 * Max Width
 */
/*------------------------------------*\
    #SPACING
\*------------------------------------*/
/**
 * Spacing and offsets
 */
/*------------------------------------*\
    #BORDERS
\*------------------------------------*/
/**
 * Border widths
 */
/**
 * Border radius
 */
/*------------------------------------*\
    #ANIMATION
\*------------------------------------*/
/**
 * Transition Speed
 */
/**
 * Transition Ease
 */
/*------------------------------------*\
    #BREAKPOINTS
\*------------------------------------*/
/**
 * Breakpoints used in media queries
 */
.product-thumbs {
  margin-right: -2.5px;
  margin-left: -2.5px;
}
.product-thumbs__elem {
  padding: 0 2.5px;
  cursor: pointer;
  opacity: 0.3;
  transition: 0.3s ease opacity;
  flex: 0 0 33.33333333%;
  max-width: 33.33333333%;
}
.product-thumbs__elem:focus, .product-thumbs__elem:hover {
  opacity: 0.6;
}
.product-thumbs__elem.swiper-slide-thumb-active {
  opacity: 1;
}
@media (min-width: 576px) {
  .product-thumbs__elem {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

.product-main-images {
  position: relative;
}
.product-main-images__modal-trigger-layer {
  position: absolute;
  right: 5px;
  bottom: 5px;
  z-index: 2;
  width: 1.6em;
  height: 1.6em;
  padding: 0;
  line-height: 1.6em;
  border: 0;
  border-radius: 50%;
  font-size: 1.25rem;
}
@media (max-width: 992px) {
  .product-main-images__modal-trigger-layer {
    font-size: calc(0.85rem + 0.6451612903vw);
  }
}

.product-customization {
  margin: 30px 0;
}
.product-customization .product-customization-item {
  margin: 10px 0;
}
.product-customization .product-message {
  width: 100%;
  height: 3.125rem;
  padding: 0.625rem;
  resize: none;
  background: #f8f9fa;
  border: none;
}
.product-customization .product-message:focus {
  background-color: #fff;
  outline: 0.1875rem solid #007bff;
}
.product-customization .file-input {
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 2.625rem;
  overflow: hidden;
  cursor: pointer;
  opacity: 0;
}
.product-customization .customization-message {
  margin-top: 20px;
}
.product-customization .custom-file {
  position: relative;
  display: block;
  width: 100%;
  height: 2.625rem;
  margin-top: 10px;
  line-height: 2.625rem;
  color: #999999;
  text-indent: 0.625rem;
  background: #f8f9fa;
}
.product-customization .custom-file button {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}
.product-customization small {
  color: #999999;
}

.attribute-radio__label {
  position: relative;
  margin: 0;
}
.attribute-radio__input {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}
.attribute-radio__input:checked ~ .attribute-radio__text {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}
.attribute-radio__text {
  display: block;
  min-width: 2.1875rem;
  padding: 2.5px 5px;
  font-size: var(--font-size-2xl, 32px);
  font-weight: 700;
  text-align: center;
  border: 1px solid #e7e7e7;
  border-radius: 0.4rem;
}

.accordion .accordion-item {
  border-bottom: 1px solid var(--Border-brand-blue-400, #B3C6FF);
}
.accordion .accordion-item .accordion-header {
  width: 100%;
  border: none;
  text-align: left;
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 4px;
}
@media (min-width: 768px) {
  .accordion .accordion-item .accordion-header {
    padding: 12px 6px;
  }
}
@media (min-width: 992px) {
  .accordion .accordion-item .accordion-header {
    padding: 16px 8px;
  }
}
@media (min-width: 1200px) {
  .accordion .accordion-item .accordion-header {
    padding: 24px 12px;
  }
}
.accordion .accordion-item .accordion-header i {
  transition: 0.3s;
}
.accordion .accordion-item .accordion-header.active i {
  transform: rotate(180deg);
}
.accordion .accordion-item .accordion-content {
  height: 0;
  overflow: hidden;
  box-sizing: border-box;
  background: #fff;
  will-change: height;
}
.accordion .accordion-item .accordion-content .accordion-inner {
  padding: 8px 16px 24px 16px;
}
@media (min-width: 1200px) {
  .accordion .accordion-item .accordion-content .accordion-inner {
    padding: 8px 24px 24px 24px;
  }
}
@media (min-width: 1980px) {
  .accordion .accordion-item .accordion-content .accordion-inner {
    padding: 8px 32px 24px 32px;
  }
}

.price--drop {
  color: var(--Text-disabled, #858585);
  text-decoration: line-through;
  opacity: 0.8;
}

.favorites-wishlist img {
  padding: 12px;
}
.favorites-wishlist--hearthover, .favorites-wishlist--heartfill {
  display: none;
}
.favorites-wishlist:hover .favorites-wishlist--heart {
  display: none;
}
.favorites-wishlist:hover .favorites-wishlist--hearthover {
  display: flex;
}
.favorites-wishlist[data-active=true] .favorites-wishlist-add {
  display: none;
}
.favorites-wishlist[data-active=true] .favorites-wishlist-added {
  display: block;
}
.favorites-wishlist[data-active=true] .favorites-wishlist-added .favorites-wishlist--heartfill {
  display: flex;
}

/*.product-head {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--Border-light, #E7E7E7);
    @include media-breakpoint-up(md) {
        padding-bottom: 24px;
    }
     @include media-breakpoint-up(lg) {
        padding-bottom: 32px;
    }
     @include media-breakpoint-up(xl) {
        padding-bottom: 40px;
    }
}*/
.product-header {
  border-radius: var(--Radius-l, 12px);
  background: var(--surface-page, #FFF);
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1), 0 66px 18px 0 rgba(85, 134, 155, 0), 0 42px 17px 0 rgba(85, 134, 155, 0.01), 0 24px 14px 0 rgba(85, 134, 155, 0.05), 0 11px 11px 0 rgba(85, 134, 155, 0.09), 0 3px 6px 0 rgba(85, 134, 155, 0.1);
  padding: var(--Spacing-m, 24px);
}
@media (min-width: 768px) {
  .product-header {
    border-radius: var(--Radius-l, 16px);
  }
}
@media (min-width: 992px) {
  .product-header {
    border-radius: var(--Radius-l, 24px);
  }
}
@media (min-width: 1200px) {
  .product-header {
    box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.1), 0 66px 18px 0 rgba(85, 134, 155, 0), 0 42px 17px 0 rgba(85, 134, 155, 0.01), 0 24px 14px 0 rgba(85, 134, 155, 0.05), 0 11px 11px 0 rgba(85, 134, 155, 0.09), 0 3px 6px 0 rgba(85, 134, 155, 0.1);
  }
}

.product-price {
  display: flex;
  gap: 0px;
  flex-wrap: nowrap;
  flex-direction: column;
}
.product-price .product-price {
  align-items: end;
  flex-direction: row;
  gap: 8px;
}

.product-input-group {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  padding: var(--Spacing-s, 8px) var(--Spacing-m, 16px);
  border-radius: var(--Radius-round, 1000px);
  border: 1px solid #b3c6ff;
  background: var(--Surface-page, #FFF);
  width: -moz-fit-content;
  width: fit-content;
  height: 100%;
}

.product-input-group-btn {
  height: 100%;
  display: flex;
  align-items: center;
}

.product-input-number {
  width: 40px;
  text-align: center;
  border: unset;
}

/*.product-description {
    padding: 16px 4px;
    border-bottom: 1px solid $primary-400;  
    @include media-breakpoint-up(md) {
        padding: 16px 6px;
    }
    @include media-breakpoint-up(lg) {
        padding: 24px 8px;
    }
    @include media-breakpoint-up(xl) {
        padding: 32px 12px;
    }
}*/
.product-tags {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.product-ref span {
  opacity: 0.4;
}

.product-description-short div {
  opacity: 0.9;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3; /* np. 3 linijki */
  -webkit-box-orient: vertical;
}
.product-description-short p {
  margin-bottom: 24px;
}
.product-description-short .c-btn i {
  transition: 0.3s;
}

.product-description-short.expanded div {
  display: inline-block;
  -webkit-line-clamp: unset;
  overflow: visible;
}
.product-description-short.expanded .c-btn i {
  transform: rotate(180deg);
}

.product-tabs .tab-content, .product-tabs .btn-group {
  padding: var(--Spacing-m, 24px);
  gap: var(--Spacing-sm, 16px);
}
.product-tabs .btn-group {
  padding: var(--Spacing-sm, 16px);
}
.product-tabs .btn-group .nav-link {
  flex: 1 1 auto;
}

.product-description--box {
  gap: var(--Spacing-s, 12px);
}
.product-description p strong {
  font-family: "Unbounded";
  padding-top: var(--Spacing-s, 12px);
  font-weight: 400;
}
.product-description h2, .product-description h3, .product-description h4, .product-description h5 {
  font-family: "Unbounded";
}
.product-description ul {
  list-style: disc;
  padding-left: 1.5rem;
  padding-bottom: var(--Spacing-xs, 8px);
}
.product-brand {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--Border-brand-blue-400, #B3C6FF);
  padding: 10px 4px;
}
@media (min-width: 768px) {
  .product-brand {
    padding: 12px 6px;
  }
}
@media (min-width: 992px) {
  .product-brand {
    padding: 16px 8px;
  }
}
@media (min-width: 1200px) {
  .product-brand {
    padding: 24px 12px;
  }
}

.float-sidebar {
  position: relative;
}
.float-sidebar-wrapper {
  position: absolute;
  display: flex;
  height: 100%;
  width: 100%;
  pointer-events: none;
}
.float-sidebar-wrapper-left {
  height: 100%;
}
.float-sidebar-wrapper-right {
  position: relative;
  margin-top: -32px;
  max-width: 615px;
  margin-left: auto;
  z-index: 9;
}
.float-sidebar-wrapper-right-wrapper {
  pointer-events: all;
}

.swiper-product {
  width: calc(100% - 40px);
  position: relative;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .swiper-product {
    margin: unset;
  }
}
.swiper-product .swiper-slide {
  padding: 0px;
}
.swiper-product .swiper-slide img {
  border-radius: 6px;
  width: 100%;
  height: auto;
}
@media (min-width: 768px) {
  .swiper-product .swiper-slide img {
    border-radius: var(--Radius-l, 7.8px);
  }
}
@media (min-width: 992px) {
  .swiper-product .swiper-slide img {
    border-radius: var(--Radius-l, 24px);
  }
}

.swiper-product-thumb .swiper-slide {
  border-radius: var(--Radius-l, 16px);
  padding: 0px;
}
.swiper-product-thumb .swiper-slide img {
  max-width: 100%;
  height: auto;
  border-radius: var(--Radius-s, 8px);
  cursor: pointer;
}

.swiper-product-button-wrapper {
  display: none;
  gap: 16px;
  align-items: center;
  position: absolute;
  right: 33px;
  bottom: 24px;
  z-index: 9;
}
@media (min-width: 768px) {
  .swiper-product-button-wrapper {
    display: flex;
  }
}

.swiper-product .swiper-product-pagination {
  position: absolute;
  bottom: 14px;
  top: unset;
  z-index: 9;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
}
@media (min-width: 768px) {
  .swiper-product .swiper-product-pagination {
    display: none;
  }
}
.swiper-product .swiper-product-pagination .swiper-pagination-bullet {
  border-radius: var(--Spacing-7xl, 64px);
  background: var(--Icon-invert, #FFF);
  opacity: 1;
  width: 8px;
  height: 8px;
  box-shadow: inset 0 0 0 1px #D7D7D7;
  margin: 0 2px;
}
.swiper-product .swiper-product-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--Icon-primary, #1B3580);
  box-shadow: unset;
}

.product-price-history {
  margin-bottom: 2px;
  display: flex;
}

.product-stock {
  display: flex;
}

.swiper-functions {
  width: 269px;
  border-radius: var(--radius-m, 16px);
  border: var(--border-s, 1px) solid var(--border-page, #FFF);
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(16px);
          backdrop-filter: blur(16px);
}
.swiper-functions-control {
  border-radius: var(--radius-round, 1000px);
  background: rgba(0, 0, 0, 0.05);
  box-shadow: 0px 0px 32px 0px #FFF, 0px 0px 8px 0px #FFF, 0px 0px 16px 0px #FFF;
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  display: flex;
  max-width: -moz-max-content;
  max-width: max-content;
  position: absolute;
  bottom: calc(50% - 69px);
  left: 50%;
  z-index: 9;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s;
}
.swiper-functions-control.--active {
  opacity: 1;
}
.swiper-functions-button {
  background-color: #fff;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 8px;
  border-radius: 1000px;
  cursor: pointer;
}
.swiper-functions .swiper-wrapper-functions {
  padding: 8px 32px 16px 32px;
  text-align: center;
  color: #000;
  text-align: center;
}
.swiper-functions .swiper-wrapper-functions-audio {
  margin: 16px auto 0px;
  width: 56px;
  height: 56px;
  border-radius: 1000px;
  background: var(--surface-action, #2E53C2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.swiper-functions .swiper-pagination {
  top: 16px;
  display: flex;
  justify-content: center;
  gap: 4px;
}
.swiper-functions .swiper-pagination-current {
  color: var(--text-action, #2E53C2);
  text-align: center;
  font-family: Unbounded;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 100% */
}
.swiper-functions .swiper-pagination-total {
  color: var(--text-body, #4C4D5D);
  text-align: center;
  font-family: Unbounded;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px; /* 200% */
}

.product-section {
  position: relative;
  user-select: none;
  -webkit-user-select: none; /* Safari */
  -moz-user-select: none; /* Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
}
.product-section-header {
  display: flex;
  gap: 24px;
}
.product-section-header i {
  flex: 0 0 96px;
  aspect-ratio: 1/1;
}
.product-section-header svg {
  width: 56px;
  height: 56px;
}
@media (min-width: 768px) {
  .product-section-header svg {
    width: 64px;
    height: 64px;
  }
}
@media (min-width: 992px) {
  .product-section-header svg {
    width: 96px;
    height: 96px;
  }
}
.product-section-description {
  overflow: hidden;
}
.product-section-functions {
  display: block;
  width: 100%;
  height: 0;
  position: relative;
  height: 275px;
  width: 275px;
}
@media (min-width: 992px) {
  .product-section-functions {
    height: 597px;
    width: 597px;
  }
}
@media (min-width: 1200px) {
  .product-section-functions {
    height: 731px;
    width: 731px;
  }
}
@media (min-width: 1980px) {
  .product-section-functions {
    height: 874px;
    width: 874px;
  }
}
.product-section-functions-background {
  width: 275px;
  height: 275px;
  background: var(--Gradient, linear-gradient(96deg, #FFFCEF 0.23%, #FFF1F8 28.57%, #F7F2FF 66.19%, #F1F4FF 87.53%));
  border-radius: 644px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (min-width: 992px) {
  .product-section-functions-background {
    width: 597px;
    height: 597px;
  }
}
@media (min-width: 1200px) {
  .product-section-functions-background {
    width: 731px;
    height: 731px;
  }
}
@media (min-width: 1980px) {
  .product-section-functions-background {
    width: 874px;
    height: 874px;
  }
}
.product-section-functions-point {
  position: absolute;
  bottom: calc(50% + 24px);
  left: 50%;
  z-index: 1;
  border-radius: var(--radius-m, 16px);
  transform: translateX(-50%);
}
.product-section-functions-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.product-section-functions-img {
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: 50% 50%; /* domyślny środek */
  transform: translate3d(-50%, -50%, 0) scale(1);
  z-index: 0;
  pointer-events: none;
  transition: 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.balls {
  display: flex;
  gap: 8px;
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: 0.2s;
  z-index: 9;
  transition-delay: 0.2s;
}
.balls.--disactive {
  opacity: 0;
  pointer-events: none;
  transition-delay: 0s;
}

.ball {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  margin-left: -15px;
}

.ball:focus-visible {
  box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.35);
}

.product-section-functions-point {
  visibility: hidden;
  height: 0;
  overflow: hidden;
}

.product-section-functions-point.--active {
  visibility: visible;
  height: unset;
  overflow: auto;
}

.swiper-pagination-custom {
  display: flex;
  justify-content: center;
  padding-top: 16px;
}

.cms-dumel-product__function-audio-file {
  display: none;
}

.product-features {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.product-features-item {
  display: flex;
  gap: 6px;
  border-bottom: none;
}

.swiper-bullet-point {
  border-radius: var(--radius-round, 1000px);
  background: rgba(0, 0, 0, 0.1);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  padding: 4.5px;
  box-sizing: content-box;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 17px;
  height: 17px;
  box-shadow: 0 0 16.894px 0 #FFF, 0 0 4.224px 0 #FFF, 0 0 8.447px 0 #FFF;
}
@media (min-width: 992px) {
  .swiper-bullet-point {
    width: 38px;
    height: 38px;
    padding: var(--gap-xs, 9.481px);
    box-shadow: 0 0 37.926px 0 #FFF, 0 0 9.481px 0 #FFF, 0 0 18.963px 0 #FFF;
  }
}
@media (min-width: 1200px) {
  .swiper-bullet-point {
    width: 56px;
    height: 56px;
    box-shadow: 0 0 64px 0 #FFF, 0 0 16px 0 #FFF, 0 0 32px 0 #FFF;
    padding: var(--Spacing-s, 16px);
  }
}
@media (min-width: 1980px) {
  .swiper-bullet-point {
    width: 64px;
    height: 64px;
    box-shadow: 0 0 64px 0 #FFF, 0 0 16px 0 #FFF, 0 0 32px 0 #FFF;
  }
}

.swiper-bullet-point-plus {
  z-index: 9;
  position: relative;
  width: 6.071px;
  height: 6.071px;
}
@media (min-width: 992px) {
  .swiper-bullet-point-plus {
    width: 13.63px;
    height: 13.63px;
  }
}
@media (min-width: 1200px) {
  .swiper-bullet-point-plus {
    width: 21px;
    height: 21px;
  }
}
@media (min-width: 1980px) {
  .swiper-bullet-point-plus {
    width: 23px;
    height: 23px;
  }
}

.product-variants {
  display: none;
}

.dumel-category img {
  max-width: 100px;
  width: 100%;
}
@media (min-width: 1200px) {
  .dumel-category img {
    max-width: 139px;
    width: 100%;
  }
}

.product-section-wrapper {
  padding: var(--Spacing-2xl, 56px) var(--spacing-6-xl-margin, 100px);
}

.spacing-2xl {
  padding-top: var(--Spacing-2xl);
  padding-bottom: var(--Spacing-2xl);
}
