/* MIXINS */
#product-configurator {
  position: relative;
}

#productForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1em;
}
#productForm h4 {
  font-size: 1.125rem;
  font-weight: 600;
  margin: 0;
}
#productForm h4 .info-toggle {
  font-size: 20px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
#productForm .product-attributes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
#productForm .product-attributes .product-attribute {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
  padding: 2em 0;
  border-top: 1px solid #ddd;
}
#productForm .product-attributes .product-attribute > h4 {
  font-size: 1.125rem;
}
#productForm .product-attributes .product-attribute.hidden {
  display: none;
}
#productForm .product-attributes .product-attribute[style*="display: block"] {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}
#productForm .product-attributes .product-attribute .description {
  display: none;
  position: relative;
  background-color: rgba(4, 34, 70, 0.1);
  color: #042246;
  padding: 1em;
  font-size: 0.875rem;
  border-radius: 8px;
}
#productForm .product-attributes .product-attribute .description::before {
  position: absolute;
  bottom: 100%;
  left: 1em;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent rgba(4, 34, 70, 0.1) transparent;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  content: "";
}
#productForm .product-attributes .product-attribute .product-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  width: 100%;
  /* Display grid */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  #productForm .product-attributes .product-attribute .product-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  #productForm .product-attributes .product-attribute .product-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
#productForm .product-attributes .product-attribute .product-options label {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  cursor: pointer;
  height: 100%;
  width: 100%;
}
#productForm .product-attributes .product-attribute .product-options label .image {
  position: relative;
  width: 100%;
  background-color: rgba(4, 34, 70, 0.05);
  padding: 1em;
}
#productForm .product-attributes .product-attribute .product-options label .image::before {
  padding-bottom: 100%;
  display: block;
  content: "";
}
#productForm .product-attributes .product-attribute .product-options label .image img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80%;
  height: 80%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
#productForm .product-attributes .product-attribute .product-options label .bottom-part {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5em;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.75em;
}
#productForm .product-attributes .product-attribute .product-options input {
  display: none;
}
#productForm .product-attributes .product-attribute .product-options span {
  font-size: 0.875rem;
}
#productForm .product-attributes .product-attribute .product-options span.name {
  font-size: 1rem;
  font-weight: 500;
  color: #042246;
}
#productForm .product-attributes .product-attribute .product-options span.price {
  color: #F9BA2E;
  font-weight: 600;
}
#productForm .product-attributes .product-attribute .product-options .active {
  border-color: var(--e-global-color-accent);
}
#productForm .product-attributes .product-attribute .product-options .option {
  border: 2px solid #f0f0f0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 5px;
}
#productForm .product-attributes .product-attribute .product-options .option:hover {
  border-color: #042246;
}
#productForm .product-attributes .product-attribute .product-options .option .woocommerce-Price-amount {
  font-size: 0.875rem;
  color: #F9BA2E;
}
#productForm .product-attributes .product-attribute .product-options .option.active {
  border-color: #F9BA2E;
}
#productForm .product-attributes .product-attribute .product-options .option.active label .bottom-part {
  background-color: rgba(249, 186, 46, 0.05);
  background-color: #F9BA2E;
}
#productForm .product-attributes .product-attribute .product-options .option.active label .bottom-part span.price,
#productForm .product-attributes .product-attribute .product-options .option.active label .bottom-part .woocommerce-Price-amount {
  color: #fff;
}
#productForm .product-attributes .product-attribute.no-images label {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#productForm .product-attributes .product-attribute.no-images label span.name {
  word-break: break-word;
}
#productForm .product-attributes .product-attribute.no-images label span.price {
  -ms-flex-item-align: baseline;
      align-self: baseline;
  /*margin-left                                                                                   : auto;*/
}
#productForm .product-attributes .product-attribute.no-images .options,
#productForm .product-attributes .product-attribute.no-images .custom_field_wrapper {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  #productForm .product-attributes .product-attribute.no-images .options,
  #productForm .product-attributes .product-attribute.no-images .custom_field_wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  #productForm .product-attributes .product-attribute.no-images .options,
  #productForm .product-attributes .product-attribute.no-images .custom_field_wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
#productForm .product-attributes .product-attribute.has-images .options,
#productForm .product-attributes .product-attribute.has-images .custom_field_wrapper {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  #productForm .product-attributes .product-attribute.has-images .options,
  #productForm .product-attributes .product-attribute.has-images .custom_field_wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  #productForm .product-attributes .product-attribute.has-images .options,
  #productForm .product-attributes .product-attribute.has-images .custom_field_wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
#productForm .product-attributes .product-attribute.has-images .custom_field_wrapper {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  #productForm .product-attributes .product-attribute.has-images .custom_field_wrapper {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  #productForm .product-attributes .product-attribute.has-images .custom_field_wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
#productForm .product-attributes .custom_field_wrapper {
  margin-top: 15px;
  display: grid;
}
#productForm .product-attributes .custom_field_wrapper.hidden {
  display: none !important;
}
#productForm .product-attributes .custom_field_wrapper span.price {
  font-size: 1rem;
  color: #042246;
}
#productForm .product-attributes .custom_field_wrapper label {
  margin-bottom: 15px;
}
#productForm .product-attributes .custom_field_wrapper input {
  width: 100%;
  display: block;
}
#productForm .product-attributes .custom_field_wrapper > div {
  background-color: #eee;
  padding: 1em;
}
#productForm .product-attributes .description {
  display: none;
  /*margin-top                                                                                        : -16px;
  margin-bottom                                                                                       : 16px;*/
}
#productForm {
  /*
  #basePrice {
      position         : relative;
      background-color : rgba(#4faab3, 0.1);
      padding          : 1em;
      font-size        : 1.5rem;
      font-weight      : 700;
      color            : #4faab3;
      height           : 46px;
      min-width        : 91.95px;

      span:before {
          content      : '\20AC';
          margin-right : 5px;
      }
  }

  .price-quantity_wrapper {
      margin : 50px 0px;

      #basePrice {
          padding      : 5px 15px 5px 15px;
          float        : left;
          margin-right : 30px;
      }

      .quantity {
          float        : left;
          margin-right : 10px;
          height       : 46px;

          input {
              height : 46px;
          }
      }

      .single_add_to_cart_button {
          float  : left;
          height : 46px;

          @media screen and (max-width:767px) {
              margin-top : 10px;
          }
      }
  }
      */
}
#productForm .inner-container {
  --button-height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 2em;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #productForm .inner-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap;
  }
}
#productForm .inner-container .part-configuration {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#productForm .inner-container .part-summary {
  position: sticky;
  top: calc(54px + 2em);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 300px;
          flex: 0 0 300px;
  background-color: #fff;
  border: 1px solid #ddd;
  padding: 1em;
  border-radius: 8px;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #productForm .inner-container .part-summary {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 250px;
            flex: 0 0 250px;
  }
}
@media screen and (max-width: 767px) {
  #productForm .inner-container .part-summary {
    position: fixed;
    bottom: 0px;
    top: unset;
    z-index: 9999;
    width: 100%;
    left: 0px;
  }
}
#productForm .part-summary {
  --gap: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: var(--gap);
  overflow: hidden;
}
#productForm .part-summary h4 {
  margin: 0;
}
#productForm .part-summary .configurator_steps_wrapper {
  position: relative;
  margin: 0 -1em -1em -1em;
  padding: 0.5em 1em;
  background-color: rgba(4, 34, 70, 0.1);
}
#productForm .part-summary .configurator_steps_wrapper h5 {
  font-size: 0.875rem;
  color: #042246;
  margin: 0;
}
#productForm .part-summary .configurator_steps_wrapper progress {
  width: 100%;
  height: 10px;
  border-radius: 8px;
}
#productForm .part-summary .configurator_steps_wrapper progress::-webkit-progress-bar {
  background-color: #fff;
  border-radius: 8px;
}
#productForm .part-summary .configurator_steps_wrapper progress::-webkit-progress-value {
  background-color: #F9BA2E;
  border-radius: 8px;
}
#productForm .part-summary #basePrice .amount {
  font-size: 1.25rem;
  font-weight: 600;
  color: #042246;
}
#productForm .part-summary .price-quantity_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: calc(var(--gap) / 2);
}
#productForm .part-summary .price-quantity_wrapper .quantity {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#productForm .part-summary .price-quantity_wrapper .quantity input {
  height: var(--button-height);
}
#productForm .part-summary .price-quantity_wrapper button {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  height: var(--button-height);
  padding: 0 1em;
  font-size: 15px;
  font-weight: normal;
}
#productForm .part-summary .price-quantity_wrapper button[type=submit] {
  background-color: #F9BA2E !important;
  color: #042246;
}
#productForm .part-summary .price-quantity_wrapper button[type=submit]:hover {
  background-color: #FAC95D !important;
}
#productForm .variation_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1em;
  padding-bottom: 2em;
}
#productForm .variation_wrapper h4 {
  margin: 0;
}
#productForm .variation_wrapper .description {
  display: none;
  position: relative;
  background-color: rgba(4, 34, 70, 0.1);
  color: #042246;
  padding: 1em;
  font-size: 0.875rem;
  border-radius: 8px;
}
#productForm .variation_wrapper .description::before {
  position: absolute;
  bottom: 100%;
  left: 1em;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent rgba(4, 34, 70, 0.1) transparent;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  content: "";
}

#sizeInputs {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  gap: 1em;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  width: 100%;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  #sizeInputs {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  #sizeInputs {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
#sizeInputs.hidden {
  display: none;
}
#sizeInputs div.sizeInput_wrapper {
  background-color: #eee;
  padding: 1em;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  /*grid-auto-rows                        : 1fr;*/
  grid-auto-rows: auto;
  grid-column-gap: 20px;
  /*grid-row-gap                          : 20px;*/
}
#sizeInputs.lamp {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
#sizeInputs.lamp div.sizeInput_wrapper {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  #sizeInputs.lamp div.sizeInput_wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-row-gap: 20px;
  }
}
#sizeInputs div.sizeInput_title {
  grid-column: 1/-1;
  height: auto;
  align-self: start;
}
#sizeInputs .input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /*flex-flow                                       : row wrap;*/
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
#sizeInputs .input .bottomwrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row;
          flex-flow: row;
  gap: 5px;
  width: 100%;
}
#sizeInputs .input .bottomwrapper button {
  background-color: #F9BA2E;
  border-color: #F9BA2E;
  color: var(--e-global-color-text);
  padding: 8px 16px;
  font-weight: bold;
}
#sizeInputs .input label {
  width: 100%;
}
#sizeInputs .input label span.steplabel {
  min-height: 18px;
  display: block;
}
#sizeInputs .input input {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#sizeInputs .input input[type=range] {
  cursor: -webkit-grab;
  cursor: grab;
  width: 100%;
  accent-color: #042246;
}
#sizeInputs .input input[type=number] {
  padding-left: 12px;
  padding-right: 12px;
}
#sizeInputs .input input[type=number]:-moz-read-only {
  background-color: #f2f2f2;
  text-align: center;
}
#sizeInputs .input input[type=number]:read-only {
  background-color: #f2f2f2;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #sizeInputs .input input[type=number] {
    padding-left: 6px;
    padding-right: 6px;
  }
}

.variation-options {
  /* Display flex */
  /*display                                          : flex;
  //flex-direction                                : row wrap;
  flex-direction                                   : wrap;*/
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  width: 100%;
  /* Display Grid */
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  grid-column-gap: 20px;
  grid-row-gap: 20px;
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  .variation-options {
    /*grid-template-columns : repeat(2, minmax(0, 1fr));*/
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
@media screen and (max-width: 767px) {
  .variation-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 10px;
  }
}
.variation-options .variation-option {
  position: relative;
  border: 2px solid #f0f0f0;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
}
.variation-options .variation-option label {
  position: relative;
  padding: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
  cursor: pointer;
  height: 100%;
}
.variation-options .variation-option input {
  display: none;
}
.variation-options .variation-option span {
  font-size: 0.875rem;
}
.variation-options .variation-option span.name {
  font-size: 1rem;
  font-weight: 500;
}
.variation-options .variation-option .woocommerce-Price-amount {
  color: #F9BA2E;
  font-weight: 600;
}
.variation-options .variation-option:hover {
  border-color: #042246;
}
.variation-options .variation-option.active {
  border-color: #F9BA2E;
  background-color: #F9BA2E;
}
.variation-options .variation-option.active .woocommerce-Price-amount {
  color: #fff;
}
.variation-options .variation-option.option__no-image {
  height: 60px;
}
.variation-options .variation-option.option__no-image label {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
.variation-options .variation-option.option__no-image label span {
  /*margin-left : auto;


  &:first-child() {
      margin-left : 0px;
  }*/
}
.variation-options .variation-option.option__no-image label span.price {
  -ms-flex-item-align: baseline;
      align-self: baseline;
  /*margin-left                                                                                    : auto;*/
}
.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li {
  display: none;
}

.woocommerce-product-gallery .flex-control-nav.flex-control-thumbs li:nth-child(-n+4) {
  display: block;
}

.product_price_config span {
  color: var(--e-global-color-secondary);
  font-size: 1.75rem;
}
.product_price_config span:before {
  margin-right: 5px;
}