@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,100..900;1,100..900&display=swap');

:root {
  --custom-header-height: 105px;

  --marevo-menu-horizontal-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_horizontal_direction.svg");
  --marevo-menu-vertical-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_vertical_direction.svg");
  --marevo-menu-day-mode-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_day_mode.svg");
  --marevo-menu-night-mode-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_night_mode.svg");
  --marevo-menu-gable-roof-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_gable_mode.svg");
  --marevo-menu-flat-roof-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_flat_mode.svg");
  --marevo-menu-helper-icon: url("https://norvik-homes.com/wp-content/uploads/2026/08/marevo_menu_icon_helper.svg");
  --marevo-loader-gif: url("https://norvik-homes.com/wp-content/uploads/2026/08/download.gif");
}

#main-content {
  box-sizing: border-box !important;
  height: calc(100dvh - var(--custom-header-height)) !important;
  overflow: hidden !important;
}

.viewer-loader {
  border: none !important;
}

#loader-container .viewer-loader-img {
  width: 100% !important;
  height: 100% !important;
  background-image: var(--marevo-loader-gif) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

.custom-ar-page-wrap {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.configurator3d_post {
  border-top: none !important;
  border-bottom: none !important;
}

.elementor-2755 .elementor-element.elementor-element-cfb1f5b:not(.elementor-motion-effects-element-type-background),
.elementor-2755 .elementor-element.elementor-element-cfb1f5b>.elementor-motion-effects-container>.elementor-motion-effects-layer {
  background-color: transparent !important;
}

.ar_model_viewer canvas {
  border-radius: 20px !important;
}

/* Hide the right sidebar on the configurator page */
.sidebar.widget_area.right.sidebar_below.sidebar_default {
  display: none !important;
}

/* Let the content column reclaim the width the sidebar used to take */
.page_content_wrap,
.content_wrap,
.content_wrap .content {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

.ar_conf_container {
  padding: 0 !important;
  height: calc(100dvh - var(--custom-header-height)) !important;
  max-height: calc(100dvh - var(--custom-header-height)) !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.ar_model_viewer {
  flex: 1 1 auto !important;
  width: auto !important;
  height: 100% !important;
  padding: 0 !important;
  position: relative !important;
}

.ar_model_viewer canvas {
  border-radius: 20px !important;
}

.scroll-zoom-hint {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  z-index: 20 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 62px !important;
  width: max-content !important;
  max-width: calc(100% - 24px) !important;
  padding: 6px 20px !important;
  background-color: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid #C2C6B0 !important;
  border-radius: 30px !important;
  font-family: "Archivo", serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #0D0D0D !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease, visibility 0.4s ease !important;
  animation: scroll-zoom-hint-pulse 3s ease-in-out infinite !important;
}

.scroll-zoom-hint--hidden {
  opacity: 0 !important;
  visibility: hidden !important;
}

.scroll-zoom-hint__icon {
  width: 24px !important;
  height: 48px !important;
  flex-shrink: 0 !important;
  background-image: var(--marevo-menu-helper-icon) !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

@keyframes scroll-zoom-hint-pulse {

  0%,
  100% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
  }

  50% {
    transform: translate(-50%, -50%) scale(1.04);
    opacity: 0.85;
  }
}



/* Bottom MENU:
 (Day/Night, Roof type, Texture direction) */
.custom-controls-panel {
  position: absolute !important;
  bottom: 50px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 100 !important;
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 12px !important;
  max-width: calc(100% - 24px) !important;
}

.custom-toggle-group {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: stretch !important;
  height: 48px !important;
  background-color: #fff !important;
  border: 1px solid #C2C6B0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
}

.custom-toggle-group .custom-toggle-option {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  border: none !important;
  background: none !important;
  font-family: "Archivo", serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #0D0D0D !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background-color 0.2s !important;
}

.custom-toggle-group .custom-toggle-option.active {
  background-color: #C2C6B0 !important;
}

.custom-toggle-group .custom-toggle-option svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
  flex-shrink: 0 !important;
}


#custom-daynight-toggle .custom-toggle-option::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0 !important;
}

#custom-daynight-toggle .custom-toggle-option[data-value="day"]::before {
  background-image: var(--marevo-menu-day-mode-icon) !important;
}

#custom-daynight-toggle .custom-toggle-option[data-value="night"]::before {
  background-image: var(--marevo-menu-night-mode-icon) !important;
}

.custom-controls-panel #group-0,
.custom-controls-panel #group-1 {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: stretch !important;
  height: 48px !important;
  background-color: #fff !important;
  border: 1px solid #C2C6B0 !important;
  border-top: 1px solid #C2C6B0 !important;
  border-radius: 30px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
  padding-top: 0 !important;
}

.custom-controls-panel #group-0 .ar_filter_header,
.custom-controls-panel #group-1 .ar_filter_header,
.custom-controls-panel #group-0 .ar_group_config,
.custom-controls-panel #group-1 .ar_group_config {
  display: none !important;
}

.custom-controls-panel #group-0 .ar_filter_options,
.custom-controls-panel #group-1 .ar_filter_options {
  display: flex !important;
  /* flex-shrink: 0 !important; */
  align-items: stretch !important;
  height: 100% !important;
  width: 100% !important;
}

.custom-controls-panel #group-0 .option,
.custom-controls-panel #group-1 .option {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 20px !important;
  border: none !important;
  background: none !important;
  font-family: "Archivo", serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: #0D0D0D !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  transition: background-color 0.2s !important;
}

.custom-controls-panel #group-0 .option.active,
.custom-controls-panel #group-1 .option.active {
  background-color: #C2C6B0 !important;
}

.custom-controls-panel #group-0 .option .image,
.custom-controls-panel #group-1 .option .image {
  display: none !important;
}

.custom-controls-panel #group-0 .option.active .component_title,
.custom-controls-panel #group-1 .option.active .component_title {
  font-weight: 400 !important;
}

.custom-controls-panel #group-0 .option.active .component_title::before,
.custom-controls-panel #group-1 .option.active .component_title::before {
  content: none !important;
}


.custom-controls-panel #group-0 .option::before,
.custom-controls-panel #group-1 .option::before {
  content: "" !important;
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  flex-shrink: 0 !important;
}

.custom-controls-panel #group-0 .option[data-value="Satteldach" i]::before {
  background-image: var(--marevo-menu-gable-roof-icon) !important;
}

.custom-controls-panel #group-0 .option[data-value="Flachdach" i]::before {
  background-image: var(--marevo-menu-flat-roof-icon) !important;
}

.custom-controls-panel #group-1 .option[data-value="Bodendeckelschalung" i]::before {
  background-image: var(--marevo-menu-vertical-icon) !important;
}

.custom-controls-panel #group-1 .option[data-value="Keilstülpschalung" i]::before {
  background-image: var(--marevo-menu-horizontal-icon) !important;
}


.summary.entry-summary {
  display: none !important;
}


.product-tabs-wrapper {
  display: none !important;
}

.summary-inner wd-set-mb reset-last-child {
  display: none !important;
}

.ar_filter .ar_filter_group .ar_filter_options.type_select .option.active .image::before {
  content: none !important;
}

.ar_filter .ar_filter_group .ar_filter_header {
  display: none !important;
}



.ar_filter_options_result,
.custom-controls-panel #group-0 .ar_filter_options_result,
.custom-controls-panel #group-1 .ar_filter_options_result {
  display: none !important;
}

.ar_summary {
  display: none !important;
}

.ar_order_agreement {
  display: none !important;
}

.ar_order_comment {
  display: none !important;
}

.shipping-note_cart {
  display: none !important;
}

.product-image-summary-wrap {
  display: none !important;
}

.ar_result_container {
  margin-top: -35px !important;
}

.ar_price .ar_price_amount {
  font-size: 20px !important;
}


:is(.btn, .button, button, [type=submit], [type=button]) {
  font-size: 16px !important;
  font-family: "Archivo", serif !important;
  text-transform: none !important;
}

@media only screen and (max-width: 778px) {
  .custom-controls-panel {
    bottom: 10px !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: calc(100% - 24px) !important;
  }

  .custom-toggle-group,
  .custom-controls-panel #group-0,
  .custom-controls-panel #group-1 {
    width: 100% !important;
    height: 40px !important;
  }

  .custom-toggle-group .custom-toggle-option,
  .custom-controls-panel #group-0 .option,
  .custom-controls-panel #group-1 .option {
    flex: 0 0 50% !important;
    width: 50% !important;
    min-width: 0 !important;
    max-width: 50% !important;
    box-sizing: border-box !important;
    padding: 0 8px !important;
    font-family: "Archivo", serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
  }

  .custom-controls-panel #group-0 .option .component_title,
  .custom-controls-panel #group-1 .option .component_title,
  .custom-controls-panel #group-0 .option.active .component_title,
  .custom-controls-panel #group-1 .option.active .component_title {
    font-family: "Archivo", serif !important;
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #0D0D0D !important;
    border: none !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;

    justify-content: center !important;
    display: flex !important;
  }

  .custom-controls-panel #group-0 .option,
  .custom-controls-panel #group-1 .option {
    width: 100% !important;
  }

  .custom-controls-panel #group-0 .option.active,
  .custom-controls-panel #group-1 .option.active {
    display: flex !important;
    justify-content: center !important;
  }


  .custom-controls-panel #group-0 .option[data-value="Satteldach" i]::before {
    position: absolute !important;
    left: 10% !important;
  }

  .custom-controls-panel #group-0 .option[data-value="Flachdach" i]::before {
    position: absolute !important;
    left: 60% !important;
  }

  .custom-controls-panel #group-1 .option[data-value="Bodendeckelschalung" i]::before {
    position: absolute !important;
    left: 5% !important;
  }

  .custom-controls-panel #group-1 .option[data-value="Keilstülpschalung" i]::before {
    position: absolute !important;
    left: 57% !important;
  }
}