:root {
  --gkh-configurator-default-padding: 20px;
  --gkh-configurator-small-padding: 5px;
  --gkh-configurator-default-bg: #888;
  --gkh-configurator-default-fg: #fff;
  --gkh-configurator-active-bg: #333;
  --gkh-configurator-active-fg: #fff;
  --gkh-configurator-hover-bg: #ddd;
  --gkh-configurator-hover-fg: #333;
  --gkh-configurator-selected-option-bg: #ddd;
  --gkh-configurator-element-border: rgba(255, 255, 255, 0);
  --gkh-configurator-element-border-selected: #888;
}

.gkh-configurator {
  box-sizing: border-box;
  display: grid;
  width: 100%;
  gap: var(--gkh-configurator-default-padding);
  grid-template-rows: auto;
  grid-template-columns: auto;
}
.gkh-configurator .gkh-configurator-panel {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--gkh-configurator-default-padding);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-progress, .gkh-configurator .gkh-configurator-panel .gkh-configurator-content, .gkh-configurator .gkh-configurator-panel .gkh-configurator-summary {
  box-sizing: border-box;
  width: 100%;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-progress {
  display: flex;
  flex-direction: row;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-progress > div {
  flex: 1 1 0px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-progress > div > span {
  box-sizing: border-box;
  margin-bottom: var(--gkh-configurator-small-padding);
  display: block;
  width: 3em;
  height: 3em;
  padding: 1em 0;
  text-align: center;
  line-height: 1em;
  font-weight: bold;
  border-radius: 1.5em;
  background-color: var(--gkh-configurator-default-bg);
  color: var(--gkh-configurator-default-fg);
  cursor: pointer;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-progress > div > span:hover {
  background-color: var(--gkh-configurator-hover-bg);
  color: var(--gkh-configurator-hover-fg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-progress > div.current > span {
  background-color: var(--gkh-configurator-active-bg);
  color: var(--gkh-configurator-active-fg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select {
  box-sizing: border-box;
  width: 100%;
  display: grid;
  grid-template-columns: min-content auto min-content;
  gap: 10px;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-page-button {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-page-button > div {
  box-sizing: border-box;
  display: block;
  visibility: hidden;
  font-size: 2em;
  width: 1.2em;
  height: 1.2em;
  padding: 0.1em 0;
  text-align: center;
  line-height: 1em;
  font-weight: bold;
  border-radius: 0.6em;
  background-color: var(--gkh-configurator-default-bg);
  color: var(--gkh-configurator-default-fg);
  cursor: pointer;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select:hover .gkh-page-button > div {
  visibility: visible;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select:hover .gkh-page-button > div:hover {
  background-color: var(--gkh-configurator-hover-bg);
  color: var(--gkh-configurator-hover-fg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page {
  display: none;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page.active {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: auto auto auto auto auto;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page .gkh-configurator-gallery-element {
  box-sizing: border-box;
  padding: 10px 10px 10px 10px;
  border: 2px solid var(--gkh-configurator-element-border);
  cursor: pointer;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page .gkh-configurator-gallery-element .gkh-configurator-gallery-image {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page .gkh-configurator-gallery-element .gkh-configurator-gallery-image img {
  max-width: 100%;
  min-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page .gkh-configurator-gallery-element .gkh-configurator-gallery-caption {
  box-sizing: border-box;
  padding: 5px 0 0 0;
  text-align: center;
  line-height: 1em;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page .gkh-configurator-gallery-element.selected {
  border-color: var(--gkh-configurator-element-border-selected);
  background-color: var(--gkh-configurator-selected-option-bg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page .gkh-configurator-gallery-element:hover {
  background-color: var(--gkh-configurator-selected-option-bg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page.layout-2-2 {
  grid-template-columns: 1fr 1fr;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page.layout-2-2 .gkh-configurator-gallery-image {
  aspect-ratio: 3;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page.layout-5-2 {
  grid-template-columns: auto auto auto auto auto;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-options-page.layout-5-2 .gkh-configurator-gallery-image {
  aspect-ratio: 1;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-pagination {
  box-sizing: border-box;
  padding: 5px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  grid-column: 1/3;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-pagination .page-selector {
  box-sizing: border-box;
  display: block;
  margin: 0 var(--gkh-configurator-default-padding);
  width: 1em;
  height: 1em;
  border-radius: 0.5em;
  background-color: var(--gkh-configurator-default-bg);
  cursor: pointer;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-pagination .page-selector:hover {
  background-color: var(--gkh-configurator-hover-bg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-content .gkh-configurator-gallery-single-select .gkh-pagination .page-selector.active {
  background-color: var(--gkh-configurator-active-bg);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary {
  box-sizing: border-box;
  margin-top: auto;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div {
  box-sizing: border-box;
  flex: 1 1 0px;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div.gkh-configurator-data {
  box-sizing: border-box;
  width: 100%;
  margin-top: auto;
  margin-bottom: auto;
  display: grid;
  grid-template-columns: max-content auto;
  gap: 10px;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div.gkh-configurator-buttons {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 10px;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div.gkh-configurator-buttons > div {
  box-sizing: border-box;
  flex: 2;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div.gkh-configurator-buttons > div.half {
  flex: 1;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div.gkh-configurator-buttons > div a, .gkh-configurator .gkh-configurator-panel .gkh-configurator-summary > div.gkh-configurator-buttons > div button {
  width: 100%;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-preview {
  box-sizing: border-box;
  width: 100%;
  position: relative;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-preview img {
  display: none;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-preview img.active {
  display: block;
  width: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-preview .gkh-configurator-preview-load-screen {
  position: absolute;
  box-sizing: border-box;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.6);
}
.gkh-configurator .gkh-configurator-panel .gkh-configurator-preview.loading .gkh-configurator-preview-load-screen {
  display: flex;
}
.gkh-configurator.with-preview {
  grid-template-columns: 100%;
  grid-template-rows: min-content auto;
}

@media screen and (min-width: 1024px) {
  .gkh-configurator {
    font-size: 0.8em;
  }
  .gkh-configurator .btn {
    font-size: 0.8em;
  }
  .gkh-configurator.with-preview {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr;
  }
}
@media screen and (min-width: 1280px) {
  .gkh-configurator {
    font-size: inherit;
  }
  .gkh-configurator .btn {
    font-size: inherit;
  }
  .gkh-configurator.with-preview {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: 1fr;
  }
}
@media screen and (min-width: 1920px) {
  .gkh-configurator {
    font-size: inherit;
  }
  .gkh-configurator .btn {
    font-size: inherit;
  }
  .gkh-configurator.with-preview {
    grid-template-columns: 2fr 3fr;
    grid-template-rows: 1fr;
  }
}/*# sourceMappingURL=gkh-configurator.css.map */