/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

/* Start lokale Einbindung der fonts */

@font-face {
    font-family: 'Figtree';
    src: url('Figtree-Medium.woff2') format('woff2'),
        url('Figtree-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Figtree';
    src: url('Figtree-Bold.woff2') format('woff2'),
        url('Figtree-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

strong {font-family:'Figtree Bold';}

/* Ende lokale Einbindung der fonts */

/* Start Styles für das Entfernen Button auf der Kassenseite */
.woocommerce .wc-remove-item-after-qty {
font-size: 13px;
margin-left: -8px;
}

.woocommerce .ehk-remove-link {
  display: inline-flex;
  align-items: center;
  gap: .25rem;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
}

.woocommerce .ehk-remove-link .ehk-x {
  width: 9px;
  height: 9px;
  /* übernimmt Textfarbe */
}

.woocommerce .ehk-remove-link:hover { opacity: .85; }

/* Falls Theme globale .remove-Regeln nutzt, stellen wir sicher, dass unser Text nicht versteckt wird */
.woocommerce .ehk-remove-link .ehk-remove-text { display: inline; }

/* Ende Styles für das Entfernen Button auf der Kassenseite */


/* Start Styles für den Tooltip */

.custom-tooltip {
  position: absolute;
  background: #222;
  color: #fff;
  padding: 5px 10px;
  border-radius: 5px;
  font-size: 12px;
line-height: 15px;
  display: none;
  z-index: 9999;
}

/* Ende Styles für den Tooltip */

/* Start Styles für die Platzwarnung Schwellenwert */
.kurs-warnung {
    color: #d9534f;
    font-size: 12px;
margin-top: 4px;
}

/* Ende Styles für die Platzwarnung Schwellenwert */

/* Start Styles für den jetzt Buchen Button */

.buchen_button .button.add_to_cart_button {
font-size: 13px !important;
text-transform: uppercase !important;
padding: 0.8em 1em !important;
}

/* Ende Styles für den jetzt Buchen Button */

/* Start Styles für die Teilnehmeranzahl auf der Kassenseite */
.ehk-participants { margin: 18px 0; }
.ehk-participants__controls { display: inline-flex; align-items: center; gap: 8px; }
.ehk-participants__controls input[type="number"] { width: 72px; text-align: center; }
.ehk-btn { border: 1px solid #ddd; padding: 6px 10px; cursor: pointer; background: #f7f7f7; }
.ehk-btn:active { transform: translateY(1px); }
.ehk-participants__hint { display: block; margin-top: 6px; color: #666; }
/*Ende Styles für die Teilnehmeranzahl auf der Kassenseite */

/* Start Styles für die Dropdown im Hero-Bereich */
/* Formularzeile: Select + Button nebeneinander anordnen */
.ehk-standort-form {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin: 0;
}

.ehk-form-field { flex: 1 1 360px; }

/* Impreza-Wrapper im Flex-Kontext nicht auf volle Breite zwingen */
.ehk-standort-form .w-form-row {
  flex: 1 1 360px;   /* wächst, hat aber eine sinnvolle Basisbreite */
  margin: 0;         /* Standard-Margins entfernen */
padding-left: 0;
padding-right: 0;
}

/* Verhindert, dass interne Wrapper 100% Breite erzwingen */
.ehk-standort-form .w-form-row-field {
  width: auto;
}

/* Select selbst darf innerhalb seiner Spalte voll breit sein */
.ehk-standort-form .ehk-standort-select {
  width: 100%;
  min-width: 260px;
}

/* Button bleibt kompakt; bricht nur bei sehr schmalen Screens um */
.ehk-standort-form .ehk-standort-submit.us-btn.us-btn-style_1 {
  white-space: nowrap;
}

/* Erzwingt, dass der Platzhalter im nativen Select sichtbar ist */
.ehk-standort-select option[value=""] {
  color: #999; /* heller Grauton wie ein Platzhalter */
}

/* Falls Impreza das Select ersetzt: Placeholder-Text korrekt darstellen */
.us-form .select2-selection__placeholder {
  color: #999 !important;
}

/* Platzhalter-Option optisch wie Placeholder */
#ehk-standort-select option[disabled][value=""] { color: #999; }

/* Placeholder-Farbe im nativen Select (optional) */
#ehk-standort-select option[value=""] { color: #999; }

/* Placeholder-Farbe im Select2-Renderer (optional) */
.select2-selection__placeholder { color: #999 !important; }

/* Ende Styles für die Dropdown im Hero-Bereich */

/* Start Styles für die Kassenseite */
#billing_company_field, .text_bonn input, .text_bonn .optional, .text_kursteilnehmer input, .text_kursteilnehmer .optional, #additional_wooccm1_field .optional, #additional_wooccm3_field .optional  {display: none;}
.text_bonn label {color:#d2091e;}
#additional_wooccm1_field {margin: 0 0 0.5rem;}
.wofuer_kurs {line-height: 1.8;}
.woocommerce-billing-fields h3, .woocommerce-additional-fields h3, #order_review_heading {font-size:1.25em;}
.woocommerce-additional-fields h3 {
border-top: 1px solid hsla(0,0%,7%,.11);
margin-top: 1.4rem;
padding-top: 1.7rem;
}
#additional_wooccm0_field {
border-bottom: 1px solid hsla(0,0%,7%,.11);
margin-bottom: 1.7rem;
padding-bottom: 1.2rem;
}
.woocommerce .form-row label {font-weight: normal !important;}
.woocommerce-form-row, .woocommerce .form-row {margin:0 0 1rem;}
.woocommerce .form-row-first, .woocommerce .form-row-last {width: 48.5%;}
#order_comments_field label {display:none;}
.woocommerce-checkout-review-order:not(.w-checkout-order-review) {
border:1px solid hsla(0,0%,7%,.11);
background: none;
border-radius: 5px;
padding: 0;
}

.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th {padding: 16px;}

.cart_item, .cart-subtotal, .order-total {border-bottom:1px solid hsl(0deg 0% 7% / 11%);}

.woocommerce-checkout-review-order-table .order-total {font-size: 1.25em;}

.woocommerce-checkout-review-order-table {margin:0;}

.wc_payment_methods li {
margin:0;
padding: 16px;
border-bottom: 1px solid hsl(0deg 0% 7% / 11%);
}

#wc-stripe-new-payment-method {
width: 1.5em !important;
height: 1.5em;
}

.place-order {padding: 16px;}

.woocommerce-terms-and-conditions-checkbox-text {line-height: 1.3;}

.woocommerce label.woocommerce-form__label-for-checkbox {display:block;}

.woocommerce .StripeElement {padding:0 !important;}

.product-quantity {
position: absolute;
font-size: 16px;
top: 16px;
left: 250px;
}

/* Ende Styles für die Kassenseite */

.stars-rezensionen .fa-star {font-size: 1.1rem !important;letter-spacing:0px;}

.bewertungen-hero .w-text-value {
	vertical-align: text-bottom;
	padding-left: 5px;
}

.standorte-headlines h4 {
	word-break: break-all !important;
}

.standort-kacheln:hover {
	background: #d2091e !important;
}

.grid_arrow_bottom:after {
	bottom: -0.3rem;
}

#usp-section {
	overflow-wrap: anywhere;
}

#usp-section .w-iconbox.iconpos_left, .w-iconbox.iconpos_right {
	align-items: anchor-center;
}

#usp-section .w-iconbox-title:not(:empty) {
	padding: .1em 0;
}

.w-text-value {
	vertical-align: middle;
}

#home_icon_box h4 {
padding-bottom: 0;
}

.von_leerzeichen {
	margin-right: 0.15rem !important;
}

.w-post-elm-value {margin-left: -3px;}

#raster_filter_mobile .w-filter-opener {width: 100% !important;}

.w-post-elm-after {margin-left: -0.2rem;}

@media screen and (max-width: 1100px) {
.umschlag {
--hwrapper-gap: 3rem !important;
}
}

@media screen and (max-width: 900px) {
.l-section {
padding-left: 1.1rem;
padding-right: 1.1rem;
}
.product-quantity {
left: 235px;
}
}

@media screen and (max-width: 740px) {
.umschlag {
--hwrapper-gap: 0rem !important;
}
.ehk-standort-form .ehk-standort-submit.us-btn.us-btn-style_1 {
width: 100% !important;
}

.ehk-standort-form {
  gap: 8px;
}

.woocommerce .form-row-first, .woocommerce .form-row-last {width:100%;}
}

@media screen and (max-width: 600px) {
#order_review_heading {margin-top: 1.8rem;}
#order_review {width:100%;margin:0;}
#order_review tbody, #order_review tfoot {display:grid;}
.product-name, .woocommerce table.shop_table th {display: inline-block !important;}
.product-name {float:left !important;}
.woocommerce table.shop_table td {float:right;}
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th {padding:12px;}
.woocommerce .checkout .shop_table:not(:last-child) {margin-bottom: 0;}
.product-name, .product-total {padding:12px !important;}
.product-quantity {
left: 231px;
top: 12px;
}

@media screen and (max-width: 480px) {

	.headline-hero {
		font-size: 2rem !important;
	}
	
	.bewertungen-hero .w-separator.size_small {
	height: 0.4rem !important;
	}
	#usp-section .w-iconbox.iconpos_left, .w-iconbox.iconpos_right {
	align-items: flex-start !important;
}

.custom-tooltip {
left: 30px !important;
right: 30px !important;
}
}
@media screen and (max-width: 380px) {
.product-quantity {
left: 190px;
}
}