/*
Theme Name: TheGem Child
Description: Multi-Purpose Wordpress Theme
Author: Codex Themes.
Theme URI: http://codex-themes.com/thegem/
Author URI: http://codex-themes.com/thegem/
Template: thegem-elementor
Version: 1.0
Tags: one-column, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, flexible-header, full-width-template, theme-options, translation-ready, dark, light
License: GNU General Public License
License URI: license.txt
*/

/* Checkout: smaller order notes textarea */
.woocommerce-checkout #order_comments {
    max-height: 60px !important;
}

/* Checkout: spacing between order notes and coupon block */
.woocommerce-checkout .checkout-notice.checkout-coupon-notice {
    margin-top: 25px !important;
}

/* SMA: Remove Order again */
.woocommerce-button.order-again {display: none;}

.select2-dropdown{background-color:#ffffff !important;}
.woocommerce-terms-and-conditions {background-color:transparent !important;}

/* SMA: correct font on checkout page */
table.woocommerce-checkout-payment-total,table.woocommerce-checkout-review-order-table {font-family: 'Source Sans Pro' !important;}

/* SMA: hide tax labels on checkout */
.tax_label {display: none}

/* SMA: checkout beautifying */

.woocommerce-thankyou-order-details { display:none !important; }

.woocommerce .order-order-details {
	margin-top: 4em !important;
	margin-bottom: 4em !important;
}

.woocommerce-message { display:none !important; }

/* SMA: checkout - toolip info circles*/
.circle{color: #00aeef;size:0.8em}

/* SMA: hide hours in booking calendar - START */
.bookly-column {
	counter-reset: slot;
}

.bookly-time-main {
	font-size: 0 !important;
}

.bookly-hour-icon {
	font-size: 14px !important;
}

.bookly-time-additional::before {
	counter-increment: slot;
	content: 'Termin ' counter(slot);
	font-size: 14px !important;
}
/* SMA: hide hours in booking calendar - END */

/* Bookly: center duplicate-customer / verification modal so TheGem sticky header doesn't cover it */
.bookly-modal.bookly-js-modal {
    z-index: 100000;
    display: none;
}
.bookly-modal.bookly-js-modal.bookly-in {
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
}
.bookly-modal.bookly-js-modal .bookly-modal-dialog {
    position: relative;
    top: auto;
    left: auto;
    margin: 20px;
    max-width: 90vw;
    max-height: 90vh;
    overflow: auto;
}

.fastPayment {
	margin-top: 16px;
}

/* 
  SMA: tooltip
*/
[data-tooltip] {
  position: relative;
  z-index: 10;
}

/* Positioning and visibility settings of the tooltip */
[data-tooltip]:before,
[data-tooltip]:after {
  position: absolute;
  visibility: hidden;
  opacity: 0;
  left: 50%;
  bottom: calc(100% + 5px); /* 5px is the size of the arrow */
  pointer-events: none;
  transition: 0.2s;
  will-change: transform;
}

/* The actual tooltip with a dynamic width */
[data-tooltip]:before {
  content: attr(data-tooltip);
  padding: 10px 18px;
  min-width: 50px;
  max-width: 300px;
  width: max-content;
  width: -moz-max-content;
  border-radius: 6px;
  font-size: 14px;
  background-color: rgba(59, 72, 80, 0.9);
  background-image: linear-gradient(30deg,
    rgba(59, 72, 80, 0.44),
    rgba(59, 68, 75, 0.44),
    rgba(60, 82, 88, 0.44));
  box-shadow: 0px 0px 24px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-align: center;
  white-space: pre-wrap;
  transform: translate(-50%, -5px) scale(0.5);
}

/* Tooltip arrow */
[data-tooltip]:after {
  content: '';
  border-style: solid;
  border-width: 5px 5px 0px 5px; /* CSS triangle */
  border-color: rgba(55, 64, 70, 0.9) transparent transparent transparent;
  transition-duration: 0s; /* If the mouse leaves the element, 
                              the transition effects for the 
                              tooltip arrow are "turned off" */
  transform-origin: top;   /* Orientation setting for the
                              slide-down effect */
  transform: translateX(-50%) scaleY(0);
}

/* Tooltip becomes visible at hover */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after {
  visibility: visible;
  opacity: 1;
}
/* Scales from 0.5 to 1 -> grow effect */
[data-tooltip]:hover:before {
  transition-delay: 0.3s;
  transform: translate(-50%, -5px) scale(1);
}
/* 
  Arrow slide down effect only on mouseenter (NOT on mouseleave)
*/
[data-tooltip]:hover:after {
  transition-delay: 0.5s; /* Starting after the grow effect */
  transition-duration: 0.2s;
  transform: translateX(-50%) scaleY(1);
}

/*
  If you want some adjustability
  here are some orientation settings you can use:
*/

/* LEFT */
/* Tooltip + arrow */
[data-tooltip-location="left"]:before,
[data-tooltip-location="left"]:after {
  left: auto;
  right: calc(100% + 5px);
  bottom: 50%;
}

/* Tooltip */
[data-tooltip-location="left"]:before {
  transform: translate(-5px, 50%) scale(0.5);
}
[data-tooltip-location="left"]:hover:before {
  transform: translate(-5px, 50%) scale(1);
}

/* Arrow */
[data-tooltip-location="left"]:after {
  border-width: 5px 0px 5px 5px;
  border-color: transparent transparent transparent rgba(55, 64, 70, 0.9);
  transform-origin: left;
  transform: translateY(50%) scaleX(0);
}
[data-tooltip-location="left"]:hover:after {
  transform: translateY(50%) scaleX(1);
}



/* RIGHT */
[data-tooltip-location="right"]:before,
[data-tooltip-location="right"]:after {
  left: calc(100% + 5px);
  bottom: 50%;
}

[data-tooltip-location="right"]:before {
  transform: translate(5px, 50%) scale(0.5);
}
[data-tooltip-location="right"]:hover:before {
  transform: translate(5px, 50%) scale(1);
}

[data-tooltip-location="right"]:after {
  border-width: 5px 5px 5px 0px;
  border-color: transparent rgba(55, 64, 70, 0.9) transparent transparent;
  transform-origin: right;
  transform: translateY(50%) scaleX(0);
}
[data-tooltip-location="right"]:hover:after {
  transform: translateY(50%) scaleX(1);
}



/* BOTTOM */
[data-tooltip-location="bottom"]:before,
[data-tooltip-location="bottom"]:after {
  top: calc(100% + 5px);
  bottom: auto;
}

[data-tooltip-location="bottom"]:before {
  transform: translate(-50%, 5px) scale(0.5);
}
[data-tooltip-location="bottom"]:hover:before {
  transform: translate(-50%, 5px) scale(1);
}

[data-tooltip-location="bottom"]:after {
  border-width: 0px 5px 5px 5px;
  border-color: transparent transparent rgba(55, 64, 70, 0.9) transparent;
  transform-origin: bottom;
}

button[name="woocommerce_checkout_place_order"] {
  background-color: #00aeef !important;;
  border-color: #00aeef !important;;
}


.checkout-steps .checkout-step.active,
.checkout-steps .checkout-step.before-active:after,
.checkout-steps .checkout-step.before-active:before {background: #00aeef !important; color: #fff !important;}

div.woocommerce {margin-top: 40px !important;}
li:before {background-color: #0000 !important;}

div.mini-cart-view-cart{display:none !important;}


input[name="_mc4wp_subscribe_woocommerce"] {
    width: 24px !important;
	max-width: 24px !important;
    height: 24px !important;
    margin-right: 12px !important;
    border-width: 1px !important;
    vertical-align: middle !important;
    border-radius: 3px !important;
    -moz-border-radius: 3px !important;
    -webkit-border-radius: 3px !important;
    opacity:0.3 !important;
	border: 1px solid #b6c6c9 !important;
	cursor: pointer !important;
	display: none !important;
}

.woocommerce-terms-and-conditions, .woocommerce-terms-and-conditions-wrapper {display:unset !important;}

/* ============================================================================
 * Migrated from WP Customizer (Appearance > Customize > Additional CSS)
 * on 2026-05-13. Edit here instead of the Customizer panel going forward.
 * ========================================================================= */

.thegem-combobox__options-item {
  background-color: #ffffff !important;
}
.woocommerce .woocommerce-checkout.woocommerce-checkout-one-page-modern #order_review .woocommerce-checkout-payment .payment_methods li label img {
  background: #ffffff00;
}
.SLContactSubmit {
  background-color: #00AEEF !important;
  border-radius: 3px !important;
  height: auto !important;
  width: 50% !important;
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
#ui-id-1 {
  display: block !important;
}
div.portfolio-set span.price del span.woocommerce-Price-amount,
del::before {
  height: 0px !important;
}
.price {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: flex-start !important;
}
.product-page__right-column .b2bking_retail_price_text,
.product-page__right-column .b2bking_retail_price_price {
  font-size: 18px !important;
}
.product-page__right-column .b2bking_b2b_price_price,
.product-page__right-column .b2bking_b2b_price_text {
  font-size: 36px !important;
}
del {
  opacity: initial !important;
}
.product-page__attribute {
  color: initial !important;
}
p.price:has(span span.woocommerce-Price-amount:nth-child(2)) {
  display: none !important;
}
.product-page__right-column #wc-stripe-payment-request-wrapper,
div.woocommerce-variation-price {
  width: 100% !important;
  display: block !important;
}
.portfolio-item .woocommerce-price-suffix {
  display: none !important;
}
.woocommerce-variation-description {
  order: 2;
}
.woocommerce-variation-price {
  order: 1;
}
.page-sidebar .portfolio-filter-item.portfolio-selected-filters.left,
.portfolio-top-panel-left .portfolio-filter-item.portfolio-selected-filters.left {
  display: flex;
}
.portfolio-filter-item-list {
  background-color: white !important;
}
.portfolio-filter-item:not(.cats) .portfolio-filter-item-list ul li:has(a.disable),
.portfolio-filter-item-list ul li a[data-filter="uncategorized"] {
  display: none;
}
.portfolio-filters-area-scrollable {
  background: white;
}
div.product-page__price-stock {
  width: 100%;
}
.stock.in-stock::before {
  content: "●";
  color: #8be28b;
  font-size: 1.2em;
  margin-right: 5px;
  display: inline-block;
}
.stock.available-on-backorder::before {
  content: "●";
  color: #fff400;
  font-size: 1.2em;
  margin-right: 5px;
  display: inline-block;
}
.stock.out-of-stock::before {
  content: "●";
  color: #F44336FF;
  font-size: 1.2em;
  margin-right: 5px;
  display: inline-block;
}
.minicart-item-count {
  color: white !important;
}
.portfolio-sorting-select ul {
  background-color: #fffffff0 !important;
}
@media (max-width: 999px) {
  .portfolio-top-panel-left .portfolio-filter-item.portfolio-selected-filters.left {
    display: none !important;
  }
}
.woocommerce-cart-form {
  overflow-x: auto;
  width: 100%;
}
.variation-bergabetermin p:nth-child(n+2) .bookly-service-date-field,
.bookly-service-custom-fields {
  display: none;
}
.bookly-tuning-element:has(.bookly-tuning-content:empty) {
  display: none;
}
.woocommerce-EditAccountForm .woocommerce-form-row--first,
.woocommerce-EditAccountForm .woocommerce-form-row--last {
  display: none;
}
.woocommerce-cart-form__cart-item .product-name .woocommerce-Price-amount {
  display: none !important;
}

/* Hide filter sections (non-cats) that have only the "all" option. */
.portfolio-filter-item:not(.cats):has(.portfolio-filter-item-list ul li:only-child) {
  display: none !important;
}
.gdpr-privacy-preferences {
  display: none !important;
}
.payment-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
}
.payment-item {
  flex: 0 0 23.33%;
  text-align: center;
}
.payment-item img {
  width: 38px;
  height: 28px;
}
@media (max-width: 768px) {
  .payment-item {
    flex: 0 0 9%; /* = 5 per row */
  }
}
.mc4wp-form-fields{color:black;}        .service-item {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 0;
            border-bottom: 1px solid #eee;
        }        .service-list ul {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .service-list li {
            position: relative;
            padding: 8px 0 8px 30px;
            color: #666;
            font-size: 14px;
        }
        .service-list li:before {
            content: "✓";
            position: absolute;
            left: 0;
            top: 8px;
            color: #4CAF50;
            font-weight: bold;
            font-size: 16px;
        }
.product-type-variable p.price {
  display: none;
}
@media (max-width: 767px) {
.pricing-table-elementor-widget .description, .pricing-table-elementor-widget .features { display: none; }
}
@media (max-width: 767px) {
    .gem-wrapper-project-info .title {
        text-align: center;display:block !important;
    }
}

/* TheGem Filters: keep .cats items at full opacity even after JS adds the
   .disable class on AJAX responses (parent rule at thegem-portfolio-filters-list.css:919
   would otherwise dim them to opacity 0.5). Migrated here from the unenqueued
   css/custom.css on 2026-05-13. */
.portfolio-filters-list .portfolio-filter-item.cats ul li a.disable {
    opacity: 1;
    cursor: pointer;
}

/* Single-product price block (Suspension Lab UVP/HEK layout) */
.product-page__price-stock .slab-price {
    display: flex;
    flex-direction: column;
    gap: 4px;
    line-height: 1.15;
}
.product-page__price-stock .slab-price-row {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
}
.product-page__price-stock .slab-price-label {
    min-width: 3.5em;
}
.product-page__price-stock .slab-price-value,
.product-page__price-stock .slab-price-new {
    font-size: 1em;
    font-weight: inherit;
    text-decoration: none;
}
.product-page__price-stock .slab-price-new {
    background: none;
    color: inherit;
}
/* Override TheGem's .product-page__wrapper .price del rule, which sets
   text-decoration:none and tries to draw a 1px :before line that has no
   background-color in this theme — leaving the regular price not visibly
   struck through. Use the bumped selector specificity below to win. */
.product-page__wrapper .product-page__price-stock .slab-price del.slab-price-old {
    font-size: 1em;
    color: inherit;
    opacity: 0.55;
    text-decoration: line-through;
    margin: 0;
    position: static;
}
.product-page__wrapper .product-page__price-stock .slab-price del.slab-price-old:before {
    content: none;
}
.product-page__price-stock .slab-price-suffix {
    font-size: 1.3rem;
    opacity: 0.75;
    font-weight: 400;
}
/* Variable products: hide the default bottom variation price block —
   we swap the per-variation slab layout into the top price block via
   JS in slab_variation_price_swap_js (functions.php). The !important
   overrides the earlier `div.woocommerce-variation-price{display:block
   !important}` rule above. */
.product-page__wrapper .single_variation .woocommerce-variation-price {
    display: none !important;
}