/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* #GENERAL */
:root {
  --wp--preset--font-size--small: 16px;
}
body {
  overflow-x: hidden;
}

.footer-main-menu li a,
.dark-bg-link a {
  position: relative;
}

.footer-main-menu li a::after,
.dark-bg-link a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  border-bottom: 1px solid var(--light-blue);
  transition: 0.3s ease-out;
}

.gform-theme.gform-theme--framework .gform_button.button {
  align-items: center !important;
  background-color: transparent !important;
  border: 1px solid var(--blue) !important;
  border-radius: 50px !important;
  color: var(--blue) !important;
  display: inline-flex !important;
  justify-content: center !important;
  /* max-width: 180px !important; */
  text-decoration: none !important;
  text-transform: uppercase !important;
  /* width: 100% !important; */
  padding: 14px 20px !important;
  transition: all 0.3s ease-in-out !important;
}

.gform-theme.gform-theme--framework .gform_button.button:hover {
  background-color: var(--blue) !important;
  color: #fff !important;
}

.footer-main-menu li a:hover::after,
.dark-bg-link a:hover::after {
  width: 100%;
}

.footer-main-menu {
  gap: 0;
}

.footer-main-menu.privacy-menu li {
  margin-right: 52px;
}

body .gform-theme--orbital .gform-field-label {
  margin-bottom: 0;
}

/* #HEADER */

.wc-block-mini-cart__badge {
  color: #fff !important;
  background-color: var(--light-blue) !important;
  transform: translateY(-92%);
  margin-left: 54%;
}

#site-navigation .inside-navigation.grid-container {
  padding-left: 40px;
  padding-right: 40px;
}

.main-navigation ul ul {
  background: none;
}

.main-navigation .main-nav ul ul li a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 12px;
  margin-right: 2px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.811' height='14.121' viewBox='0 0 7.811 14.121'%3E%3Cpath d='M14734.666%2C337.734l6%2C6%2C6-6' transform='translate(-336.674 14747.727) rotate(-90)' fill='none' stroke='%23242424' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  transition: background-image 0.3s ease-in-out;
  right: 0;
  position: absolute;
}

.main-navigation
  .main-nav
  .menu-item-has-children
  .dropdown-menu-toggle
  .gp-icon.icon-arrow {
  transition: 0.3s ease-in-out;
}

.main-navigation
  .main-nav
  .menu-item-has-children:hover
  .dropdown-menu-toggle
  .gp-icon.icon-arrow {
  transform: rotate(180deg);
}

.main-navigation .main-nav ul ul li:hover a::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='7.811' height='14.121' viewBox='0 0 7.811 14.121'%3E%3Cpath d='M14734.666%2C337.734l6%2C6%2C6-6' transform='translate(-336.674 14747.727) rotate(-90)' fill='none' stroke='%230153A5' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5'/%3E%3C/svg%3E");
}

.main-navigation .main-nav ul li.menu-item-has-children > a {
  padding-right: 35px;
}

.main-navigation ul li a,
.main-navigation ul ul li a {
  background-color: #fff !important;
}

.main-navigation ul li a:hover,
.main-navigation ul ul li a:hover {
  color: #000 !important;
  background-color: var(--light-gray) !important;
}

.main-navigation li {
  position: relative;
  /* max-width: 250px; */
  /* width: 100%; */
}

.main-navigation .main-nav li:hover > a {
  background-color: var(--light-gray);
}

.secondary-navigation .inside-navigation.grid-container.grid-parent {
  max-width: var(--gb-container-width) !important;
  margin: 0 auto;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.secondary-nav-above-header
  .secondary-navigation
  .inside-navigation.grid-container {
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.main-navigation li a {
  border: 1px solid var(--darker-gray);
  border-radius: 50px !important;
  width: 100%;
  line-height: 1;
  letter-spacing: 1px !important;
  font-weight: 300;
}

.secondary-menu.sf-menu li:last-child a {
  padding-right: 0;
}

.main-navigation {
  transition: all 0.3s ease-in-out;
  background-color: #fff;
}

.nav-active.main-navigation {
  padding-top: 40px;
}

.secondary-menu.sf-menu li a {
  padding: 0 !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  position: relative;
}

.secondary-menu.sf-menu li {
  padding: 0px 20px;
}

.secondary-menu.sf-menu li:last-child {
  padding-right: 0px;
}

.secondary-menu.sf-menu li a::after {
  content: "";
  position: absolute;
  bottom: 7px;
  left: 0;
  width: 0;
  border-bottom: 1px solid var(--blue);
  transition: 0.3s ease-out;
}

.secondary-menu.sf-menu li a:hover::after,
.secondary-menu.sf-menu li.current-menu-item a::after {
  width: 100%;
}

.main-navigation .main-nav > ul > li > a {
  padding: 17px 25px;
  border-radius: 8px;
  line-height: 1;
  font-weight: 300;
  min-width: 120px;
  transition: all 0.3s ease-in-out;
}

.main-navigation.sub-menu-right {
  position: relative;
}

.main-navigation.sub-menu-right::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 100vw;
  width: auto;
  border-bottom: 1px solid var(--darker-gray);
}

.inside-header.grid-container {
  max-width: 1555px !important;
}

.site-header {
  background-color: var(--light-gray);
  border-bottom: 1px solid var(--darker-gray);
  border-top: 1px solid var(--darker-gray);
}

.menu-bar-items {
  display: none !important;
}

.dc-header-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  min-width: 0;
  width: 100%;
  padding-left: 24px;
  order: 2;
}

.dc-header-search {
  position: relative;
  flex: 1 1 584px;
  max-width: 584px;
  min-width: 260px;
  margin-left: auto;
}

.live-search-results {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  right: 0;
  z-index: 30;
  display: none;
  overflow: hidden;
  border: 1px solid var(--darker-gray);
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 0 18px 40px rgba(18, 30, 48, 0.12);
}

.live-search-results.is-active {
  display: block;
}

.live-search-results__results {
  max-height: 420px;
  overflow-y: auto;
}

.live-search-results__empty {
  margin: 0;
  padding: 20px 24px;
  color: #525252;
  font-size: 14px;
}

.live-search-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.loader__search {
  width: 28px;
  height: 28px;
  border: 3px solid #dfe7ef;
  border-top-color: var(--light-blue);
  border-radius: 50%;
  animation: dc-live-search-spin 0.75s linear infinite;
}

@keyframes dc-live-search-spin {
  to {
    transform: rotate(360deg);
  }
}

.product__live__search {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 16px 20px;
  border-bottom: 1px solid #f0f0f0;
}

.product__live__search:last-child {
  border-bottom: 0;
}

.product__live__search:hover {
  background-color: var(--light-gray);
}

.product__image {
  flex: 0 0 68px;
}

.product__image img {
  display: block;
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 8px;
  background-color: #f7f7f7;
}

.product__content {
  min-width: 0;
  flex: 1;
}

.product__link {
  color: inherit;
  text-decoration: none;
}

.product__title {
  margin: 0 0 6px;
  color: #161616;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 300;
}

.product-ean {
  color: #767676;
  font-size: 13px;
}

.product__price {
  color: var(--accent);
  font-size: 14px;
  font-weight: 600;
}

.dc-header-search input {
  width: 100%;
  height: 50px;
  border: 1px solid var(--darker-gray);
  border-radius: 50px;
  padding: 0 45px 0 18px;
  font-size: 16px;
  background-color: #fff;
  color: var(--blue);
  font-weight: 300;
  letter-spacing: 1px;
}

.dc-header-search input::placeholder {
  color: var(--black);
}

.dc-header-search input:focus {
  outline: none;
  border-color: var(--blue);
  background-color: #fff;
  /* box-shadow: 0 0 0 3px rgba(15, 117, 188, 0.12); */
}

.dc-header-search__icon {
  position: absolute;
  top: 50%;
  right: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  color: var(--blue);
  transform: translateY(-50%);
  pointer-events: none;
}

.dc-header-icon-link svg,
.dc-header-language svg {
  width: 16px;
  height: 16px;
}
.dc-header-search__icon svg {
  width: 20px;
  height: 20px;
}

.dc-header-icon-link,
.dc-header-language {
  font: inherit;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--darker-gray);
  border-radius: 8px;
  background-color: #fff;
  /* color: var(--contrast); */
  text-decoration: none;
  color: var(--blue);
  transition:
    background-color 0.2s ease,
    border-color 0.2s ease,
    color 0.2s ease;
}

.dc-header-icon-link[aria-label="Mein Konto"],
.dc-header-language {
  padding: 16px 36px;
  border-radius: 50px;
  background-color: #fff;
}

.wc-block-mini-cart.wp-block-woocommerce-mini-cart.dc-header-icon-link {
  border-radius: 50px !important;
}

.wc-block-mini-cart.wp-block-woocommerce-mini-cart.dc-header-icon-link button {
  padding: 12px 36px;
  border-radius: 50px !important;
  background-color: #fff;
}

.sale-btn a {
  color: var(--blue) !important;
  border-color: var(--blue) !important;
  position: relative !important;
  padding-left: 12px !important;
}

.main-navigation li.sale-btn:hover a {
  background-color: var(--blue) !important;
  color: #fff !important;
  border-color: var(--blue) !important;
}

.dc-header-language {
  gap: 2px;
  width: auto;
  padding: 0 12px;
  cursor: pointer;
}

.dc-header-icon-link:hover svg g,
.dc-header-icon-link:focus svg g {
  fill: #fff;
  stroke: #fff;
}
.dc-header-icon-link:hover,
.dc-header-icon-link:focus {
  background-color: var(--blue);
  color: #fff;
}

.wc-block-mini-cart__button {
  padding: 0;
  white-space: nowrap;
  width: 100%;
  height: 100%;
  text-align: center;
  justify-content: center;
  background-color: unset !important;
  border: 0px solid transparent !important;
  border-radius: 8px !important;
  outline: none !important;
}
.wc-block-mini-cart__button:focus {
  color: var(--contrast) !important;
}
button.wc-block-mini-cart__button:hover {
  background-color: unset !important;
  color: var(--accent);
}
a.wc-block-components-button.wp-element-button.wc-block-mini-cart__shopping-button.wp-block-woocommerce-mini-cart-shopping-button-block {
  padding-left: 30px;
  border-radius: 8px;
  padding-right: 30px;
  background-color: var(--accent);
  outline: none !important;
}
a.wc-block-components-button.wp-element-button.wc-block-mini-cart__shopping-button.wp-block-woocommerce-mini-cart-shopping-button-block:hover {
  background-color: var(--accent-2);
  color: #fff;
}
a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-checkout.wp-block-woocommerce-mini-cart-checkout-button-block {
  background-color: var(--accent);
  outline: none !important;
  border-radius: 8px;
}
a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-checkout.wp-block-woocommerce-mini-cart-checkout-button-block:hover {
  background-color: var(--accent-2);
  color: #fff;
}
a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-cart.is-style-outline.wp-block-woocommerce-mini-cart-cart-button-block {
  border-radius: 8px;
  outline: none !important;
}
a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-cart.is-style-outline.wp-block-woocommerce-mini-cart-cart-button-block:hover {
  background-color: var(--accent-2);
  color: #fff;
}
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-cart__submit-button,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-checkout-place-order-button {
  background-color: var(--accent);
  border-radius: 8px;
  color: #fff;
  border: 0px solid transparent;
  padding: 9px 30px;
  font-weight: 400;
  min-height: 48px !important;
  font-size: 20px;
  transition:
    background-color 0.2s ease-in-out,
    color 0.2s ease-in-out;
}

body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-cart__submit-button:hover,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-checkout-place-order-button:hover {
  background-color: var(--accent-2);
  color: #fff;
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--blue);
}
.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked
  div.wc-block-components-radio-control-accordion-option,
.wc-block-components-checkbox
  .wc-block-components-checkbox__input[type="checkbox"]:checked {
  color: var(--blue);
}
.wc-block-components-radio-control
  .wc-block-components-radio-control__input:checked:before {
  background: var(--blue);
}
.dc-single-product__main .woocommerce-product-gallery {
  margin-right: 0;
}
.custom-upsells-slider {
  padding-bottom: 20px;
}
.main-navigation .main-nav > ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 24px;
  margin-top: 24px;
  width: 100%;
  border-bottom: 1px solid var(--base);
  padding-bottom: 23px;
}

/*
 * Content-based widths (long labels stay wider), then leftover row
 * space is shared so the bar still fills the container.
 */
.main-navigation .main-nav > ul > li {
  flex: 1 1 auto;
  width: auto;
  max-width: none;
}

.main-navigation .main-nav > ul > li > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  white-space: nowrap;
}

body .menu-item-has-children .dropdown-menu-toggle {
  padding: 0;
  position: absolute;
  right: 10px;
  display: flex;
  top: 0;
}

body .menu-item-has-children .dropdown-menu-toggle svg {
  fill: var(--blue);
  width: 20px;
}

.main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a {
  background-color: var(--accent);
  color: #fff;
}
.main-navigation .main-nav > ul > li > a:hover {
  background-color: var(--darker-gray);
  color: #fff;
}

.menu-item-has-children .sub-menu {
  width: 100%;
  border-radius: 25px;
  background-color: #f8f8f7 !important;
  padding: 10px 25px 15px 25px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.main-navigation .main-nav ul ul li a {
  font-size: 16px;
  letter-spacing: 1px !important;
  line-height: 1;
  transition: all 0.3s ease-in-out;
  border-radius: 0px !important;
  border: none;
  border-bottom: 1px solid var(--darker-gray);
  padding: 20px 0 !important;
  position: relative;
  background-color: transparent !important;
}

.main-navigation .main-nav ul ul li a:after {
  content: "";
  position: absolute;
  bottom: 0px;
  left: 0;
  width: 0;
  border-bottom: 1px solid var(--blue);
  transition: 0.3s ease-in-out;
}

.main-navigation .main-nav ul ul.sub-menu .current-menu-item a::after,
.main-navigation .main-nav ul ul li:hover a:after {
  width: 100%;
}

.main-navigation .current-menu-item a {
  background-color: var(--light-gray) !important;
  color: #000 !important;
}

.main-navigation .main-nav > ul > li.last__menu__button > a {
  background-color: var(--accent-2);
  color: #fff !important;
}
.main-navigation .main-nav > ul > li.last__menu__button > a:hover {
  background-color: var(--accent);
  color: #fff !important;
}
div#primary-menu {
  width: 100%;
}
.site-header .header-image {
  min-width: 164px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}
nav#site-navigation {
  position: sticky;
  top: 100px;
  z-index: 999;
}

.main-navigation .main-nav > ul > li.current-menu-parent > a {
  color: var(--black) !important;
  border-radius: 50px !important;
  background-color: var(--light-gray) !important;
}

.wp-block-separator {
  border: none;
  border-top: 1px solid var(--blue);
}

/* #SLICK*/
.slick-dots li.slick-active button:before {
  opacity: 0;
}

.slick-dots li button {
  width: 12px;
  height: 12px;
}

.slick-dots li {
  margin: 0px !important;
}

/* #HOME */

.blue-gradient {
  position: relative;
}

.blue-gradient::after {
  content: "";
  mix-blend-mode: multiply;
}

/* Parent row — equal-height cards */
.four-in-row-boxes {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch; /* default, but explicit is fine */
}

.four-in-row-box-item {
  display: flex;
  flex-direction: column;
  height: 100%; /* if cards are grid/flex children with equal row height */
}

/* Footer fills remaining card space under the image */
.four-in-row-box-item .four-in-row-box-item-footer {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

/*
 * Title grows so all h3s in the row share the same height
 * (driven by the tallest title text, not min-height).
 */
.four-in-row-box-item .four-in-row-box-item-footer > p.gb-text,
.four-in-row-box-item .four-in-row-box-item-footer > .gb-text:is(h3),
.four-in-row-box-item .four-in-row-box-item-footer > h3 {
  flex: 1 1 auto;
  margin-top: 0; /* keep spacing predictable */
}

.four-in-row-box-item-header a {
  overflow: hidden;
}

.four-in-row-box-item-header a img {
  transition: all 0.3s ease-in-out;
}

.four-in-row-box-item-header a:hover img {
  transform: scale(1.1);
}

/* Keep CTA at the bottom of the footer */
.four-in-row-box-item .four-in-row-box-item-footer > .default__button,
.four-in-row-box-item .four-in-row-box-item-footer > a.gb-text {
  flex: 0 0 auto;
  margin-top: auto; /* optional if you want extra push to bottom */
  align-self: flex-start; /* or center, depending on design */
}

/* #BLOG */
.blog__item_term_list a {
  background-color: var(--accent);
  padding: 5px 10px;
  margin-right: 10px;
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  transition: 0.3s ease-in-out;
}

.blog__item_term_list a:hover {
  background-color: var(--contrast);
}

.four-in-row-box-item-footer p {
  flex: auto;
}
body
  a.wc-block-components-button.wp-element-button.wc-block-mini-cart__shopping-button.wp-block-woocommerce-mini-cart-shopping-button-block,
body
  a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-checkout.wp-block-woocommerce-mini-cart-checkout-button-block,
body
  a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-cart.is-style-outline.wp-block-woocommerce-mini-cart-cart-button-block,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-cart__submit-button,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-checkout-place-order-button,
body
  button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained {
  align-items: center;
  background-color: transparent;
  border: 1px solid #0153a5;
  border-radius: 50px;
  color: #0153a5;
  display: inline-flex;
  justify-content: center;
  min-width: 180px;
  text-decoration: none;
  text-transform: uppercase;
  padding: 14px 20px;
  box-shadow: none;
}
body
  a.wc-block-components-button.wp-element-button.wc-block-mini-cart__shopping-button.wp-block-woocommerce-mini-cart-shopping-button-block:hover,
body
  a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-checkout.wp-block-woocommerce-mini-cart-checkout-button-block:hover,
body
  a.wc-block-components-button.wp-element-button.wc-block-mini-cart__footer-cart.is-style-outline.wp-block-woocommerce-mini-cart-cart-button-block:hover,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-cart__submit-button:hover,
body:not(.woocommerce-block-theme-has-button-styles)
  .wc-block-components-checkout-place-order-button:hover,
body
  button.wc-block-components-button.wp-element-button.wc-block-components-totals-coupon__button.contained:hover {
  background-color: #0153a5 !important;
  color: #fff !important;
}
.editor-styles-wrapper
  table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-components-product-name,
table.wc-block-cart-items
  .wc-block-cart-items__row
  .wc-block-components-product-name {
  font-size: 16px;
}
/* #BLOG */

/* #ERROR404 */
.error404 #page {
  display: flex;
  align-items: center;
  justify-content: center;
}
.error404 .inside-article {
  padding-top: 0;
  padding-bottom: 0;
  background-color: var(--base-2);
}
.error-buttons {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}
.error-buttons a {
  border-radius: 0;
  background-color: var(--accent) !important;
  transition: 0.3s ease-in-out;
}
.error-buttons a:hover {
  background-color: var(--contrast) !important;
}
.title-404 {
  font-size: 200px;
  line-height: 1;
}
h2.entry-title {
  color: var(--blue);
}
.wp-block-buttons .wp-block-button a.wp-block-button__link {
  align-items: center;
  background-color: transparent;
  border: 1px solid #0153a5;
  border-radius: 50px;
  color: #0153a5;
  display: inline-flex;
  justify-content: center;
  min-width: 180px;
  text-decoration: none;
  text-transform: uppercase;
  padding: 14px 20px;
}
.wp-block-buttons .wp-block-button a.wp-block-button__link:hover {
  background-color: #0153a5 !important;
  color: #fff !important;
}
/* #ERROR404 */

.kontakt-map {
  height: 100%;
}

.kontakt-map iframe {
  height: 100%;
}

/* #FOOTER */
.social-media-icons-cstm li a {
  width: 53px;
  height: 53px;
  border: 1.5px solid #70aedf !important;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-footer a,
.site-footer p {
  line-height: 28px !important;
}

.social-media-icons-cstm {
  margin-bottom: 27px;
}

.produkte-footer-menu .sale-btn a {
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

.produkte-footer-menu .sale-btn a::before {
  display: none !important;
}

.produkte-footer-menu .gb-menu--base .gb-sub-menu {
  position: relative;
  display: flex !important;
  flex-wrap: wrap;
  padding: 0;
  box-shadow: none;
  background-color: transparent !important;
  margin-bottom: 20px;
}

.produkte-footer-menu .gb-menu--base .gb-sub-menu li {
  font-weight: 300 !important;
  letter-spacing: 1px !important;
  font-size: 16px !important;
  padding: 0 10px 0 0 !important;
  background-color: transparent !important;
}

.produkte-footer-menu .gb-menu--base .gb-sub-menu li a {
  font-weight: 300 !important;
  padding: 0 !important;
  text-transform: none !important;
  letter-spacing: 1px !important;
  font-size: 16px !important;
  background-color: transparent !important;
  position: relative;
}

.produkte-footer-menu .gb-menu--base li a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  border-bottom: 1px solid var(--light-blue);
  transition: 0.3s ease-out;
}

.produkte-footer-menu .gb-menu--base li a:hover::after {
  width: 100%;
}

.produkte-footer-menu .menu-item-has-children > a[href="#"]::after {
  display: none !important;
}

.produkte-footer-menu ul.gb-menu--base > li > a {
  padding: 0 !important;
}

.produkte-footer-menu li.menu-item-has-children > a {
  padding-top: 0px !important;
}

.gform-theme--foundation .gform_fields {
  gap: 25px;
}

.gform-footer {
  margin-top: 50px !important;
}

/* #SINGLE PRODUCT */

.woocommerce-product-gallery {
  margin-right: 15% !important;
}

li.breadcrumb-item.active {
  font-weight: 600 !important;
  color: var(--blue) !important;
}
.breadcrumb li:not(.active) a {
  color: var(--black);
  text-decoration: none;
}
.breadcrumb li:not(.active) a:hover {
  color: var(--blue);
}
.breadcrumb {
  margin-bottom: 50px !important;
}
.single-product .summary.entry-summary .price {
  font-size: 40px !important;
  font-weight: bold !important;
  color: var(--blue) !important;
  margin-bottom: 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 15px;
}
.product_title.entry-title {
  font-size: 40px;
  line-height: 48px;
}

.slick-prev-custom-gallery {
  position: absolute;
  left: -50px;
  top: 40% !important;
  z-index: 999;
  background: transparent;
}

.slick-next-custom-gallery {
  position: absolute;
  right: -50px;
  top: 40% !important;
  z-index: 999;
  background: transparent;
}

.slick-next-custom-gallery:hover,
.slick-prev-custom-gallery:hover,
.slick-next-custom-gallery:focus,
.slick-prev-custom-gallery:focus {
  background: transparent !important;
}

.woocommerce-product-gallery__thumb {
  border: 1px solid #f0f0f0 !important;
  margin-right: 4px;
  cursor: pointer;
  margin-bottom: 2px;
}

.woocommerce-product-gallery__thumb.slick-current.slick-active {
  border: 1px solid var(--light-blue) !important;
}

.woocommerce-product-gallery-thumbnails {
  padding: 20px 0;
  border-top: 1px solid var(--light-gray);
  margin-top: 40px;
  border-bottom: 1px solid var(--light-gray);
}

.woocommerce table.shop_attributes th {
  text-align: left !important;
}

.priceunit-label {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--black);
}

.wc-block-components-checkbox label {
  align-items: center !important;
}

.woocommerce table.shop_attributes td {
  padding-left: 15px !important;
}

.woocommerce div.product .woocommerce-tabs .panel {
  border: 1px solid rgb(32 83 165);
  padding: 50px;
}

.woocommerce-tabs.wc-tabs-wrapper {
  margin-top: 500px;
}

.tabs.wc-tabs {
  margin: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
  justify-content: center;
}

.tabs.wc-tabs li.active a {
  color: #fff !important;
}

.tabs.wc-tabs li.active {
  background: var(--blue) !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
}

.tabs.wc-tabs li a {
  color: var(--blue) !important;
}

.tabs.wc-tabs li {
  border-top-left-radius: 27px !important;
  border-top-right-radius: 27px !important;
  border: 1.5px solid var(--blue) !important;
  text-transform: uppercase !important;
  font-weight: 300 !important;
  margin-right: 22px !important;
  border-bottom: 0 !important;
}

.woocommerce-Tabs-panel h2 {
  font-size: 25px !important;
  font-weight: bold !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  padding: 13px;
}
.shop-login-notice {
  background: #2053a5;
  color: #fff;
  padding: 24px 32px;
  border-radius: 12px;
  font-weight: 500;
  margin-bottom: 67px;
  font-size: 18px;
  text-align: left;
}

.shop-login-notice a {
  color: #fff;
  text-decoration: underline;
  font-weight: bold;
}
.shop-login-notice p {
  margin-bottom: 0;
}
.single-product .product_title {
  font-size: 25px !important;
  font-weight: bold !important;
  color: var(--black) !important;
  margin-bottom: 20px;
  line-height: 1.2 !important;
}

.woocommerce-product-short-description p {
  color: #242424 !important;
}

.single_add_to_cart_button.button:hover img {
  filter: brightness(0) invert(1) !important;
}

.woocommerce div.product form.cart {
  margin-bottom: 25px !important;
  flex-direction: column;
  display: inline-flex !important;
}

.single_add_to_cart_button.button:hover {
  background: var(--blue) !important;
  color: #fff !important;
}

.woocommerce .single_add_to_cart_button.button,
.woocommerce-button {
  text-transform: uppercase !important;
  color: var(--blue) !important;
  background: transparent !important;
  border: 2px solid var(--blue) !important;
  border-radius: 100px !important;
  margin-top: 12px !important;
  font-size: 16px !important;
}
.woocommerce .single_add_to_cart_button.button:before {
  content: "";
  display: inline-block !important;
  width: 20px;
  height: 20px;
  margin-right: 14px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  vertical-align: middle;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='18.285' height='15.792' viewBox='0 0 18.285 15.792'%3E%3Cg id='Group_945' data-name='Group 945' transform='translate(0.005 0.75)'%3E%3Cpath id='Path_224' data-name='Path 224' d='M-1236.428,3079.587l3.3-.02,3.274,10.022,9.923-1.2,1.045-5.8h-13.148' transform='translate(1236.428 -3079.567)' fill='none' stroke='%230153a5' stroke-linejoin='bevel' stroke-width='1.5'/%3E%3Cg id='Ellipse_53' data-name='Ellipse 53' transform='translate(13.937 11.178)' fill='%230153a5' stroke='%230153a5' stroke-linejoin='bevel' stroke-width='1.5'%3E%3Ccircle cx='1.932' cy='1.932' r='1.932' stroke='none'/%3E%3Ccircle cx='1.932' cy='1.932' r='1.182' fill='none'/%3E%3C/g%3E%3Cg id='Ellipse_54' data-name='Ellipse 54' transform='translate(3.311 11.178)' fill='%230153a5' stroke='%230153a5' stroke-linejoin='bevel' stroke-width='1.5'%3E%3Ccircle cx='1.932' cy='1.932' r='1.932' stroke='none'/%3E%3Ccircle cx='1.932' cy='1.932' r='1.182' fill='none'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  position: relative;
  top: -1px;
}
.woocommerce .single_add_to_cart_button.button:hover:before {
  filter: brightness(0) invert(1) !important;
}
.button.product_type_simple:hover,
.woocommerce .single_add_to_cart_button.button:hover,
.woocommerce-button:hover {
  background: var(--blue) !important;
  color: #fff !important;
}

.button.product_type_simple {
  text-transform: uppercase !important;
  color: var(--blue) !important;
  background: transparent !important;
  border: 2px solid var(--blue) !important;
  border-radius: 100px !important;
  margin-top: 22px !important;
  font-size: 16px !important;
  padding: 5px 30px !important;
}
.woocommerce-product-attributes.shop_attributes td {
  padding-left: 40px !important;
  color: var(--blue);
}
.product-downloads-list {
  margin: 0 !important;
}
.product-downloads-list p {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: row;
  align-content: center;
  justify-content: flex-start;
  margin-bottom: 13px;
  border-bottom: 1.5px solid rgba(0, 0, 0, 0.1);
  width: 100%;
  padding-bottom: 10px;
}
.product-downloads-list p img {
  margin-right: 11px;
}
.product-downloads-list p a {
  color: var(--black) !important;
  text-decoration: none !important;
}
.product-downloads-list p a:hover {
  color: var(--blue) !important;
  text-decoration: underline !important;
}
.upsell-product {
  padding-right: 10px;
}
.custom-upsells-slider a {
  text-decoration: none !important;
}

.custom-upsells-slider a {
  text-decoration: none !important;
}

.custom-upsells-slider .woocommerce-loop-product__title {
  font-size: 18px !important;
  text-decoration: none !important;
  font-weight: bold;
  line-height: 1.2 !important;
}

.custom-upsells-slider .price {
  font-size: 18px !important;
  font-weight: bold !important;
  color: var(--black) !important;
  width: 100% !important;
  border-top: 0;
  display: block;
  padding-top: 0;
}

.custom-upsells-slider .add_to_cart_button:hover {
  background: var(--blue) !important;
  color: #fff !important;
}

.custom-upsells-slider .slick-dots {
  bottom: -65px !important;
}

.custom-upsells-slider .slick-dotted.slick-slider {
  margin-bottom: 130px !important;
}

.custom-upsells-slider .add_to_cart_button {
  background: transparent !important;
  border: 1px solid var(--blue) !important;
  border-radius: 100px !important;
  margin-top: 20px !important;
  padding: 5px 15px !important;
  text-transform: uppercase !important;
  font-size: 16px !important;
}

.custom-upsells-slider .slick-dots li.slick-active button:before {
  opacity: 1;
  border: 1px solid var(--blue) !important;
  color: var(--blue) !important;
  background: var(--blue);
}

.custom-upsells-slider .slick-dots li button:before {
  border: 1px solid var(--blue);
  border-radius: 100px;
  font-size: 14px;
  color: #fff !important;
}

.upsalestitle {
  font-size: 40px;
  color: var(--blue);
  font-weight: bold;
  margin-top: 100px;
}

.custom-upsells-slider .slick-prev:before,
.custom-upsells-slider .slick-next:before {
  display: none !important;
}

.upsells-header {
  margin-top: 100px;
}

.slick-prev-custom:hover,
.slick-next-custom:hover {
  cursor: pointer !important;
}

.upsalesImages {
  aspect-ratio: 1/1;
  width: 100%;
  object-fit: contain;
  object-position: center;
}
.pac-popup-header h3 {
  color: #0153a5;
}
.pac-popup-header > p {
  color: #666;
}

.pac-add-to-cart {
  background: #0153a5;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  width: auto;
  align-self: flex-start;
  transition: background 0.2s;
  margin-top: 15px;
}

.pac-add-to-cart:hover {
  background: #013d85;
}

.pac-add-to-cart.loading {
  opacity: 0.7;
  cursor: not-allowed;
}

button.pac-continue,
.pac-view-cart {
  padding: 12px 25px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  background: #f5f5f5;
  color: #333;
  border: 1px solid #ddd;
}

.pac-view-cart {
  background: #0153a5;
  color: white;
  border: 1px solid #0153a5;
  text-align: center;
}

.pac-view-cart:hover {
  background: #013d85;
  color: white;
}

.pac-current-product-details h4 {
  margin: 0 0 8px 0;
  font-size: 18px;
  color: #0153a5;
  font-weight: bold;
}

@media (hover: hover) {
  .produkte-footer-menu
    :where(.gb-menu-container):not(.gb-menu-container--toggled)
    .gb-menu--hover
    .gb-submenu-toggle {
    pointer-events: none;
    display: none;
  }
}

@media (min-width: 1024px) {
  /* Fixed text size for sub-menu items */
  .main-navigation .main-nav ul ul li a {
    font-size: 16px !important; /* Forces fixed text size */
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  /* Fixed block size for the sub-menu container */
  .main-navigation ul ul {
    width: 435px !important; /* Forces a strict, fixed width */
  }
}

@media (max-width: 1024px) {
  /* #MOBILE MENU */
  /* SOCIALS STYLE */
  .slideout-socials {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .mobile-menu-info .slideout-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease-in-out;
  }
  .mobile-menu-info .slideout-socials a img {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease-in-out;
  }
  .mobile-menu-info .slideout-socials a:hover img {
    transform: scale(1.2);
  }

  /* #TOP MENU STYLE*/
  .slideout-menu-info {
    width: 100%;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
  .slideout-top-menu-wrapper .slideout-top-menu ul {
    width: 100%;
    display: flex !important;
    flex-direction: column;
    align-items: baseline;
    row-gap: 15px;
  }
  .slideout-top-menu-wrapper .slideout-top-menu ul li a {
    font-size: 16px;
    line-height: 1.2;
  }
  .slideout-top-menu-wrapper .slideout-top-menu ul li a:hover,
  .slideout-top-menu-wrapper .slideout-top-menu ul li.current-menu-item a {
    color: var(--accent);
  }

  /* SUBMENU STYLE */
  #generate-slideout-menu.do-overlay .slideout-menu li,
  .slideout-navigation.do-overlay .inside-navigation {
    text-align: left !important;
  }
  #generate-slideout-menu .main-nav > ul {
    row-gap: 20px;
    padding-top: 20px;
    position: relative;
  }
  #generate-slideout-menu .main-nav > ul:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--accent);
  }
  #generate-slideout-menu .menu-item-has-children .dropdown-menu-toggle {
    border: none;
    padding: 0;
    margin: 0 0 0 5px;
  }
  #generate-slideout-menu .slideout-menu li {
    margin: 0;
  }
  .slideout-navigation .main-nav > ul > li > a {
    font-weight: bold;
    width: 100%;
  }
  .slideout-navigation .main-nav ul li a {
    padding: 0;
  }
  .slideout-navigation .menu-item-has-children .dropdown-menu-toggle,
  .slideout-navigation .main-nav ul li a {
    line-height: 1.2;
  }
  #generate-slideout-menu .main-nav ul ul {
    border-bottom: 0;
    background-color: var(--base-3);
  }
  .slideout-navigation .main-nav ul ul li a {
    padding: 5px 10px;
    width: 100%;
  }
  #generate-slideout-menu .menu-item-has-children .dropdown-menu-toggle svg {
    width: 24px;
    height: 24px;
    top: 0;
  }

  /* HEADER STYLE */
  .admin-bar #generate-slideout-menu {
    padding-top: 46px;
  }
  .slideout-menu-logo a.slideout-logo {
    position: absolute;
    top: 20px;
    margin-left: 0;
  }
  .slideout-menu-logo a.slideout-logo img {
    padding: 0;
  }
  #generate-slideout-menu .main-nav {
    padding-top: var(--header-height) !important;
    min-width: 100% !important;
  }
  .slideout-navigation.do-overlay .inside-navigation {
    padding: 0 40px !important;
    justify-content: space-between;
    align-items: unset;
    position: relative;
    height: 100%;
    max-width: 100% !important;
  }
  .slideout-navigation.do-overlay .slideout-exit {
    position: absolute !important;
    z-index: 9999999;
    padding: 0 !important;
    right: 40px !important;
    line-height: 24px;
    width: 24px !important;
    height: var(--header-height);
  }
  .has-inline-mobile-toggle .main-navigation .menu-toggle {
    padding: 0;
    background: transparent;
    line-height: 24px;
    height: 24px;
    width: 24px;
  }
  .has-inline-mobile-toggle .main-navigation .menu-toggle svg,
  .slideout-navigation.do-overlay .slideout-exit svg {
    height: 24px;
    width: 24px;
    top: 0;
  }
  .has-inline-mobile-toggle #site-navigation.toggled {
    margin: 0;
  }
  #sticky-navigation .inside-navigation.grid-container {
    padding: 20px 40px !important;
  }
  #sticky-navigation .navigation-branding {
    margin-left: 0 !important;
    z-index: 999999;
  }
  #sticky-navigation .navigation-branding img {
    padding: 0;
  }
  /* #MOBILE MENU */
}

@media (max-width: 768px) {
  .shop-login-notice {
    font-size: 16px;

    padding: 16px 8px;
  }
  /* #MOBILE MENU */
  #sticky-navigation .inside-navigation.grid-container {
    padding: 20px 30px !important;
  }
  .slideout-navigation.do-overlay .inside-navigation {
    padding: 0 30px !important;
  }
  .slideout-navigation.do-overlay .slideout-exit {
    right: 30px !important;
  }
  /* #MOBILE MENU */

  /* #ERROR404 */
  .title-404 {
    font-weight: 800;
    font-size: 60px;
  }
  .error404 #page {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  /* #ERROR404 */

  .wp-block-table table,
  .wp-block-table table tr {
    display: flex;
    flex-direction: column;
  }

  .wp-block-table td {
    border: 1px solid;
    padding: 20px;
  }

  .wp-block-table td:first-child {
    padding-bottom: 0;
  }
}
