/*
Theme Name: kgk
Theme URI: https://them.es/starter-fse
Author: loehn.digital GmbH
Author URI: https://loehn-digital.com
Description: Custom Theme for KGK Suisse
Version: 1.6.25
Requires at least: 5.9
Tested up to: 6.6
Requires PHP: 7.2
License: GPL version 2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0
Text Domain: kgk
Tags: full-site-editing, one-column, flexible-header, accessibility-ready, custom-colors, custom-menu, custom-logo, editor-style, featured-images, footer-widgets, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/

/* Don't overwrite this file. Compile "/assets/main.scss" to "/build/main.css" */

:root {
  interpolate-size: allow-keywords;
}

@view-transition {
  navigation: auto;
}

.menu-group-1 {
  overflow-x: clip !important;
}

.anim-fade-in {
  opacity: 0; /* Start invisible */
  transform: translateY(20px); /* Start 20px below */
  animation: fadeInUp 0.6s ease-out forwards; /* Animation name, duration, timing, and ensure it stays in final state */
}

/* Class with 200ms delay */
.anim-fade-in-200 {
  opacity: 0; /* Start invisible */
  transform: translateY(20px); /* Start 20px below */
  animation: fadeInUp 0.6s ease-out forwards; /* Same animation */
  animation-delay: 0.2s; /* 200ms delay */
}

/* Class with 400ms delay */
.anim-fade-in-400 {
  opacity: 0; /* Start invisible */
  transform: translateY(20px); /* Start 20px below */
  animation: fadeInUp 0.6s ease-out forwards; /* Same animation */
  animation-delay: 0.4s; /* 400ms delay */
}
/* Define the animation */
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px); /* Start position: 20px down */
  }
  100% {
    opacity: 1;
    transform: translateY(0); /* End position: original place */
  }
}
/* 
.page-template-page-home .wp-site-blocks {
  background-image: url("/wp-content/uploads/2024/12/Gruppe2_focus_x2560-75.webp");
  background-repeat: no-repeat;
  background-size: 900px;
  background-position: bottom left;
  background-position-y: 75dvh;
  background-position-x: -400px;
  overflow: visible;
}
  
.footer-minimal h2 {
  visibility: hidden;
} 
   */

header,
footer {
  padding: 0 var(--wp--preset--spacing--4, 1.5rem) !important;
}

@media (max-width: 600px) {
  header {
    padding: 0 !important;
  }
}

header {
  width: unset !important;
}

.-margin-left {
  margin-left: -1rem !important;
}

.woocommerce
  div.product
  div.images
  .woocommerce-product-gallery__image--placeholder {
  border: none !important;
}

.ginput_container.ginput_container_consent input {
  border-radius: 8px !important;
}

.ginput_container.ginput_container_consent label {
  color: var(--text-color) !important;
}

.ginput_container.ginput_container_consent .gfield_required {
  margin-left: 0.5rem !important;
}

.gform-footer {
  float: right !important;
}

.gfield_label.gform-field-label {
  color: var(--text-color) !important;
}

.grid-view-properties.item-properties {
  gap: 0.3rem !important;
}

.woocommerce.product .wp-block-post-title {
  text-wrap: balance !important;
}

@media (max-width: 781px) {
  #company-diamond-bg {
    background-position-x: right !important;
    background-position-y: 220px !important;
    background-repeat: no-repeat;
  }

  .service-diamond-bg-1 {
    background-position-x: -600px !important;
    background-position-y: 100px !important;
    background-repeat: no-repeat !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    min-height: 650px !important;
    background-size: 0px !important;
  }

  .service-diamond-bg-2 {
    background-repeat: no-repeat !important;
    background-size: 170% !important;
    background-position-x: left !important;
    background-position-y: 0px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  #nav-menu .wp-block-spacer {
    display: none !important;
  }

  .menu-is-open #kgk-logo-white,
  .menu-is-open #kgk-logo-dark,
  .menu-is-open .nav-menu-btn {
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
  .menu-is-open .nav-menu-btn {
    padding: 1rem;
    margin: -1rem;
  }

  .menu-is-open .ccm-settings-summoner {
    display: none !important;
  }
}

body:not(.dark-mode-on) .service-diamond-bg-2 {
  background-position-x: -400px !important;
  background-image: url("/wp-content/uploads/2025/01/Gruppe2_focus_x2560-75.webp") !important;
}

/* hide .wp-block-woocommerce-mini-cart  when data-cart-items-count="0" and then aria-hidden="true" */
.woocommerce-cart .wp-block-woocommerce-mini-cart,
.woocommerce-checkout .wp-block-woocommerce-mini-cart,
.wp-block-woocommerce-mini-cart[data-cart-items-count="0"],
.wp-block-woocommerce-mini-cart:not([data-cart-items-count]) {
  display: none;
}

body.menu-is-open {
  overflow: clip;
}

.woocommerce-price-suffix {
  font-size: var(--wp--preset--font-size--small) !important;
  display: inline-block;
}

#kgk-logo-white {
  display: none;
}

.dark-mode-on #kgk-logo-white {
  display: inline-block;
}

.home:not(.menu-is-open) .wc-block-mini-cart__icon {
  color: white;
}

.wc-block-components-drawer__screen-overlay {
  background-color: rgb(13 13 13 / 76%);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.menu-is-open header .wp-block-navigation-item__content {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 0.4rem 1rem;
  margin: -0.4rem -1rem;
  border-radius: 5px;
}

.menu-is-open header #kgk-logo-dark,
.menu-is-open header #kgk-logo-white {
  /* backdrop-filter: blur(10px); */
  /* -webkit-backdrop-filter: blur(10px); */
  padding: 1rem 2rem;
  margin: -1rem -2rem;
  border-radius: 5px;
}

.menu-title-container {
  width: 100%;
  margin-bottom: var(--wp--preset--spacing--50) !important;
}

@media (max-width: 800px) {
  .menu-title-container h2 {
    text-align: left !important;
  }
}

.auth-wrapper__login-message svg {
  animation: wobble-hor-bottom 2s infinite;
  -webkit-animation: wobble-hor-bottom 2s infinite;
}

.auth-wrapper__login-message svg:hover {
  animation: wobble-hor-bottom 2s forwards;
  -webkit-animation: wobble-hor-bottom 2s forwards;
  animation-delay: 0s;
  -webkit-animation-delay: 0s;
}

@-webkit-keyframes wobble-hor-bottom {
  0%,
  40% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  45% {
    -webkit-transform: translateX(-10px) rotate(-2deg);
    transform: translateX(-10px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(5px) rotate(2deg);
    transform: translateX(5px) rotate(2deg);
  }
  55% {
    -webkit-transform: translateX(-5px) rotate(-1deg);
    transform: translateX(-5px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translateX(2px) rotate(0.5deg);
    transform: translateX(2px) rotate(0.5deg);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

@keyframes wobble-hor-bottom {
  0%,
  40% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
  }
  45% {
    -webkit-transform: translateX(-10px) rotate(-2deg);
    transform: translateX(-10px) rotate(-2deg);
  }
  50% {
    -webkit-transform: translateX(5px) rotate(2deg);
    transform: translateX(5px) rotate(2deg);
  }
  55% {
    -webkit-transform: translateX(-5px) rotate(-1deg);
    transform: translateX(-5px) rotate(-1deg);
  }
  60% {
    -webkit-transform: translateX(2px) rotate(0.5deg);
    transform: translateX(2px) rotate(0.5deg);
  }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
}

table.wc-block-cart-items .wc-block-cart-items__row {
  padding: 1px !important;
}

table.wc-block-cart-items .wc-block-cart-items__row:first-of-type {
  padding-top: 2rem !important;
}

.woocommerce-cart .wc-block-grid__product img {
  object-fit: contain !important;
}

.woocommerce-address-fields .wp-element-button {
  color: black !important;
  text-decoration: underline !important;
  border: 2px solid black !important;
}

.woocommerce-address-fields .wp-element-button:hover {
  color: white !important;
  background-color: black !important;
  text-decoration: none !important;
  border: 2px solid black !important;
}

.woocommerce-dashboard main {
  max-width: 1440px !important;
  padding: 0 1rem !important;
  margin: 0 auto !important;
}

@media (max-width: 750px) {
  .woocommerce-dashboard .woocommerce {
    flex-direction: column !important;
  }
}

/* loading spinner in button */
.woocommerce-form-register__submit,
.woocommerce-form-login__submit {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}
.woocommerce-form-login__submit.loading:after,
.woocommerce-form-register__submit.loading:after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid var(--text-color);
  border-radius: 50%;
  border-top-color: transparent;
  animation: spin 1s linear infinite;
}
.woocommerce-form-login__submit.loading:hover:after,
.woocommerce-form-register__submit.loading:hover:after {
  border: 2px solid var(--bg-color);
  border-radius: 50%;
  border-top-color: transparent;
}

#b2b_kgk_zip_code_field {
  width: 45%;
  float: left;
}

#b2b_kgk_country_field {
  width: 45%;
  float: right;
}

@media (max-width: 1230px) {
  #b2b_kgk_zip_code_field,
  #b2b_kgk_country_field {
    width: unset !important;
    float: none !important;
  }
}

.woocommerce-order-confirmation-address-wrapper {
  flex-direction: row-reverse !important;
}

#b2b_kgk_partial_delivery ~ span {
  display: none !important;
}

.partial-delivery-button {
  background: none;
  border: none;
  color: var(--text-color);
  transform: translateY(2px);
  cursor: pointer;
}

.woocommerce-ResetPassword.lost_reset_password {
  max-width: 800px;
  padding: 1rem;
  margin: 0 auto;
  text-align: center;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row {
  margin: 0 auto;
  display: block;
  text-align: center;
  width: 100%;
  margin-bottom: 2rem;
}

.woocommerce-lost-password .woocommerce-form-row {
  margin-bottom: 1rem !important;
  margin-top: 1rem !important;
}

.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row input {
  max-width: 400px;
  margin: 0 auto !important;
}

.woocommerce-lost-password h1 {
  width: 100%;
  text-align: center;
}

.woocommerce-lost-password main p {
  text-align: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
}

.woocommerce-lost-password .wc-block-components-notice-banner {
  position: fixed !important;
  top: 10rem !important;
  left: 50% !important;
  transform: translate(-50%, 0) !important;
}

.gf_progressbar_title {
  color: var(--text-color) !important;
}

.ginput_container label {
  color: var(--text-color) !important;
}

.ginput_container_select select {
  border-radius: 8px !important;
}

.gform_page_footer .gform_button.button,
.gform_previous_button,
.gform_next_button {
  background-color: var(--text-color) !important;
  color: var(--bg-color) !important;
  border-radius: 99px !important;
  padding: 1rem 2rem !important;
  border: 2px solid var(--text-color) !important;
}

.gform_page_footer .gform_button.button:hover,
.gform_previous_button:hover,
.gform_next_button:hover {
  background-color: var(--bg-color) !important;
  color: var(--text-color) !important;
  border: 2px solid var(--text-color) !important;
}

.gform-theme--framework .gf_progressbar .percentbar_blue {
  background-color: var(--wp--preset--color--space-cadet) !important;
}

.wc-block-components-notice-banner__content
  .woocommerce-account
  .woocommerce-MyAccount-content
  .wp-element-button::befores,
.woocommerce-account .woocommerce-Button::before {
  box-shadow: none !important;
}

.wc-block-components-checkout-step__content
  .wc-block-components-address-card__address-section
  span:nth-last-child(-n + 2) {
  display: none !important;
}
.wc-block-components-checkout-step__content
  .wc-block-components-address-card__address-section
  span:nth-last-child(3)::after {
  display: none !important;
}

/* Hide Coupon in Cart & Checkout */
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
  display: none !important;
}

.jsf_provider-preloader {
  font-size: 35px !important;
  color: var(--text-color) !important;
}

.jet-listing .jet-listing-grid__items {
  transition: filter 0.3s ease-in-out;
}
.jet-listing.jet-filters-loading .jet-listing-grid__items {
  filter: blur(6px);
}

.wp-block-woocommerce-customer-account {
  z-index: 1000 !important;
}

.item-preview-card-message-error {
  background-color: white;
  border: 3px solid #ff4b4b;
  color: #000;
  padding: 2rem;
  border-radius: 12px;
  margin-top: 2rem;
  text-align: center;
}

.item-preview-card-message-error a {
  display: block;
  color: #000;
  text-decoration: underline;
  margin-top: 1rem;
}

.wcml-dropdown.product.wcml_currency_switcher {
  display: none !important;
}

.back-to-selection {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--text-color);
}

.woocommerce-page form .form-row select {
  border-radius: 10px !important;
}

@media (max-width: 768px) {
  .woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    row-gap: 0rem;
    flex-wrap: wrap;
    width: 100%;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation li:first-child {
    padding-top: 0.35rem;
  }

  .woocommerce-account .woocommerce {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  .woocommerce-account .customer-info-container {
    grid-template-columns: 1fr;
  }

  .woocommerce-account .entry-content {
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content {
    width: 80% !important;
    margin: 0 auto !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    width: 95% !important;
  }

  .woocommerce-account main {
    max-width: 1440px !important;
    padding: 0 1rem !important;
    margin: 0 auto !important;
  }
}

.language-notice {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.language-notice-content {
  background: white;
  padding: 1rem;
  border-radius: 8px;
  max-width: 500px;
  text-align: center;
  color: #000;
}
.language-notice-content p {
  font-size: 1rem;
  margin-bottom: 1rem;
  color: #000 !important;
}
.language-notice-buttons {
  margin-top: 1.5rem;
  display: flex;
  gap: 1rem;
  justify-content: center;
}
.language-notice button {
  padding: 0.5rem 1rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
}
.language-notice-switch {
  background: #000 !important;
  color: white;
}
.language-notice-close {
  background: #e9ecef !important;
  color: #212529 !important;
}

.is-wrap {
  flex-wrap: wrap !important;
}

.hero-section {
  gap: 1.5rem !important;
}

.jet-color-image-list__image > img {
  height: 2rem !important;
}

.jet-range__inputs__group {
  box-sizing: content-box !important;
}

.wp-block-search.wp-block-search__button-only .wp-block-search__button {
  align-self: center !important;
}

header .lang-switch-wrapper {
  margin-left: 1rem !important;
  margin-right: 0.8rem !important;
}

/* .glow-outline {
  border-color: transparent !important;
} */

.wp-block-woocommerce-add-to-cart-form #current_id {
  display: none;
}

.eye-clean-badge-text {
  height: 16px;
}

.eye-clean-badge {
  display: inline-block;
  border-radius: 999px;
  font-size: 0.75rem;
  padding: 0.15rem 0.6rem;
  font-weight: 500;
  margin-bottom: 0.75rem;
}

.eye-clean-badge.green {
  border: 2px solid #77aa77;
  color: var(--text-color);
}

.eye-clean-badge.orange {
  border: 2px solid #ffcf75;
  color: var(--text-color);
}

.eye-clean-badge.red {
  border: 2px solid #f17544;
  color: var(--text-color);
}

.product-meta-container {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
}

@media (max-width: 940px) {
  .product-meta-container {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    padding-bottom: 0.5rem;
  }
}

.jet-listing .jet-listing-dynamic-field.product-carat {
  text-align: right !important;
}


.product-meta-container .grid-view-properties.item-properties {
  justify-content: flex-start !important;
  margin-bottom: 0.5rem !important;
  flex-wrap: wrap !important;
  max-width: 75% !important;
}