/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

body,
html {
  overflow-x: hidden;
}

.elementor-widget-image img{
	user-select:none;
}

/* HOVER ANIMATION */

.cs-hover-scale:hover {
    transition: transform .3s ease-in-out;
}

.cs-hover-scale:hover {
    transform: scale(1.05);
}

/* HOMEPAGE */
.cs-home-hero .elementor-slide-heading {
	font-family: "Pathway Extreme", Sans-serif !important;
	font-weight: 600 !important;
	text-transform: unset !important;
}

.cs-home-hero .elementor-swiper-button svg {
    background: #00000066;
    height: 90px !important;
    width: 90px !important;
    padding: 25px;
}

.cs-add-to-cart-sp .rightpress_product_price_live_update {
	display: none !important;
}

@media (max-width: 1024px) {
	.cs-home-hero .elementor-swiper-button {
		top: calc(100% + 30px) !important;
        left: 50% !important;
	}
	
	.cs-home-hero .elementor-swiper-button-prev {
        transform: translateX(-68px) !important;
	} 
	
	.cs-home-hero .elementor-swiper-button-next {
        transform: translateX(0px) !important;
	} 
	
	.cs-home-hero .elementor-swiper-button svg {
		height: 60px !important;
		width: 60px !important;
		padding: 15px;
	}
}

/* ========== WOOCOMMERCE PRODUCTS IN BLOG POSTS ========== */
.entry-content .woocommerce ul.products,
.elementor-widget-container .woocommerce ul.products,
.post-content .woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 25px !important;
  padding: 30px 0 !important;
  margin: 30px 0 !important;
  border-top: 1px solid #eee;
  list-style: none !important;
}

.entry-content .woocommerce ul.products li.product,
.elementor-widget-container .woocommerce ul.products li.product,
.post-content .woocommerce ul.products li.product {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  text-align: center;
  background: #fff;
  border: 1px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.entry-content .woocommerce ul.products li.product:hover,
.post-content .woocommerce ul.products li.product:hover {
  box-shadow: 0 8px 25px rgba(0,0,0,0.1);
  transform: translateY(-4px);
}

.entry-content .woocommerce ul.products li.product img,
.post-content .woocommerce ul.products li.product img {
  width: 100% !important;
  height: 200px !important;
  object-fit: contain !important;
  padding: 15px !important;
  background: #fafafa;
}

.entry-content .woocommerce ul.products li.product .woocommerce-loop-product__title,
.post-content .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: #333 !important;
  padding: 12px 10px 5px !important;
  min-height: 50px;
}

.entry-content .woocommerce ul.products li.product .price,
.post-content .woocommerce ul.products li.product .price {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #F6921D !important;
  padding: 5px 10px !important;
}

.entry-content .woocommerce ul.products li.product .price del,
.post-content .woocommerce ul.products li.product .price del {
  color: #999 !important;
  font-size: 13px !important;
}

.entry-content .woocommerce ul.products li.product .price ins,
.post-content .woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
  color: #F6921D !important;
}

.entry-content .woocommerce ul.products li.product .button,
.post-content .woocommerce ul.products li.product .button {
  display: block !important;
  margin: 10px 15px 15px !important;
  padding: 10px !important;
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  transition: background 0.3s !important;
  cursor: pointer;
}

.entry-content .woocommerce ul.products li.product .button:hover,
.post-content .woocommerce ul.products li.product .button:hover {
  background: #F6921D !important;
}

.entry-content .woocommerce ul.products li.product .star-rating {
  margin: 5px auto !important;
}

/* Video embed in posts */
.video-embed {
  margin: 25px 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.video-embed iframe {
  width: 100% !important;
  aspect-ratio: 16/9;
  display: block;
}

@media (max-width: 767px) {
  .entry-content .woocommerce ul.products,
  .post-content .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .entry-content .woocommerce ul.products li.product img,
  .post-content .woocommerce ul.products li.product img {
    height: 150px !important;
  }
}

/* ========== WOOCOMMERCE PRODUCT GRID: SPALTENANZAHL RESPEKTIEREN & ZENTRIEREN ========== */
/* Der Shortcode [products columns="N"] setzt die Klasse ul.products.columns-N. Die generische
   auto-fit-Regel oben ignoriert diese Angabe und erzeugt je nach Bildschirmbreite mehr Spalten
   als tatsaechlich Produkte vorhanden sind (z.B. 3 Produkte in einem Grid mit Platz fuer 5
   Spalten), wodurch das Grid nach links verschoben statt zentriert wirkt. Diese Regeln
   erzwingen die tatsaechlich gewuenschte Spaltenanzahl und zentrieren das Grid im Content. */
.entry-content .woocommerce ul.products.columns-2,
.elementor-widget-container .woocommerce ul.products.columns-2,
.post-content .woocommerce ul.products.columns-2 {
  grid-template-columns: repeat(2, 1fr) !important;
  max-width: 500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.entry-content .woocommerce ul.products.columns-3,
.elementor-widget-container .woocommerce ul.products.columns-3,
.post-content .woocommerce ul.products.columns-3 {
  grid-template-columns: repeat(3, 1fr) !important;
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.entry-content .woocommerce ul.products.columns-4,
.elementor-widget-container .woocommerce ul.products.columns-4,
.post-content .woocommerce ul.products.columns-4 {
  grid-template-columns: repeat(4, 1fr) !important;
  max-width: 950px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px) {
  .entry-content .woocommerce ul.products.columns-2,
  .entry-content .woocommerce ul.products.columns-3,
  .entry-content .woocommerce ul.products.columns-4,
  .post-content .woocommerce ul.products.columns-2,
  .post-content .woocommerce ul.products.columns-3,
  .post-content .woocommerce ul.products.columns-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    max-width: 100% !important;
  }
}

/* ========== FIX PINK WOOCOMMERCE COLORS ========== */
body .woocommerce ul.products li.product .woocommerce-loop-product__title,
body .woocommerce ul.products li.product h2,
body .woocommerce ul.products li.product h3 {
  color: #333 !important;
}

body .woocommerce ul.products li.product .price,
body .woocommerce ul.products li.product .price span,
body .woocommerce ul.products li.product .price ins,
body .woocommerce ul.products li.product .price .amount {
  color: #F6921D !important;
}

body .woocommerce ul.products li.product .price del,
body .woocommerce ul.products li.product .price del span,
body .woocommerce ul.products li.product .price del .amount {
  color: #999 !important;
  text-decoration: line-through !important;
}

body .woocommerce ul.products li.product a.button,
body .woocommerce ul.products li.product a.add_to_cart_button,
body .woocommerce ul.products li.product .button {
  display: block !important;
  margin: 10px 15px 15px !important;
  padding: 10px 20px !important;
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background 0.3s !important;
}

body .woocommerce ul.products li.product a.button:hover,
body .woocommerce ul.products li.product .button:hover {
  background: #F6921D !important;
  color: #fff !important;
}

body .woocommerce ul.products li.product .star-rating span::before {
  color: #F6921D !important;
}

/* ========== PRODUCT CARD UX POLISH ========== */
body .woocommerce ul.products li.product .woocommerce-loop-product__title {
  line-height: 1.3 !important;
  margin-bottom: 0 !important;
  padding: 12px 12px 8px !important;
  font-size: 13px !important;
}

body .woocommerce ul.products li.product .star-rating {
  display: block !important;
  margin: 8px auto !important;
  text-align: center !important;
}

body .woocommerce ul.products li.product .price {
  margin: 4px 0 !important;
  padding: 0 12px !important;
  line-height: 1.4 !important;
  font-size: 14px !important;
}

body .woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
  font-size: 12px !important;
}

body .woocommerce ul.products li.product a.button {
  margin: 8px 12px 12px !important;
  padding: 9px 16px !important;
  font-size: 12px !important;
}


/* ========== WOOCOMMERCE NOTICES (BRAND STYLING) ========== */
.woocommerce-message,
.woocommerce-info {
  position: relative !important;
  border-top: none !important;
  border-left: 4px solid #F6921D !important;
  background: #fff5ee !important;
  border-radius: 8px !important;
  padding: 12px 16px 12px 46px !important;
  margin-bottom: 20px !important;
  list-style: none !important;
  font-size: 14px !important;
  color: #333 !important;
}

.woocommerce-message::before,
.woocommerce-info::before {
  color: #F6921D !important;
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

.woocommerce-message a,
.woocommerce-info a {
  color: #F6921D !important;
  font-weight: 700;
  text-decoration: underline;
}

/* Keep error notices visually distinct (red), not orange */
.woocommerce-error {
  position: relative !important;
  border-top: none !important;
  border-left: 4px solid #e44 !important;
  background: #fff0f0 !important;
  border-radius: 8px !important;
  padding: 12px 16px 12px 46px !important;
  margin-bottom: 20px !important;
  list-style: none !important;
  font-size: 14px !important;
}

.woocommerce-error::before {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
}

/* ========== GLOBAL LINK COLOR: TRAINSANE ORANGE ========== */
/* Site-weit sollen Links Trainsane Orange sein (statt dem #c36 Bordeaux-Reset aus dem Parent-Theme "Hello Elementor"). */
/* Ausnahme: Alle selbstgebauten HTML-Widget-Seiten (erkennbar an der Wrapper-Klasse .ts-page)
   haben ein eigenes Farbsystem und werden bewusst NICHT ueberschrieben. Diese Regel gilt
   automatisch fuer jede aktuelle und kuenftige .ts-page Seite, unabhaengig von Page-ID
   oder Parent/Kind-Beziehung. */
body:not(:has(.ts-page)) a {
  color: #F6921D;
}
body:not(:has(.ts-page)) a:hover,
body:not(:has(.ts-page)) a:focus,
body:not(:has(.ts-page)) a:visited {
  color: #F6921D;
}

/* ========== WOOCOMMERCE PRODUCT-BUTTON BLOCK: TRAINSANE ORANGE ========== */
/* "In den Warenkorb"-Button aus dem Block "Product Collection" (wp:woocommerce/product-button) */
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .wp-block-button__link {
  background-color: #F6921D;
  border-color: #F6921D;
  color: #fff;
}
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-product-collection .wp-block-button__link:hover {
  background-color: #d97b0f;
  border-color: #d97b0f;
  color: #fff;
}

/* ========== FOOTER LINKS: AUSNAHME VON GLOBAL LINK COLOR ========== */
/* Der Footer (Elementor Theme-Builder Template) soll normalen Fliesstext-Farbton haben,
   nicht das site-weite Trainsane-Orange. Beim Hover darf es weiterhin orange werden. */
.elementor-location-footer a {
  color: inherit !important;
}
.elementor-location-footer a:hover,
.elementor-location-footer a:focus {
  color: #F6921D !important;
}

/* ========== HEADER MINI-CART BUTTONS: TEXTFARBE WIEDERHERSTELLEN ========== */
/* Die globale Link-Farbregel (Trainsane Orange) hat versehentlich auch den Text der
   Mini-Cart Buttons "Warenkorb ansehen" und "Kasse" ueberschrieben, was bei orangem
   Hintergrund zu unlesbarem orange-auf-orange Text fuehrte. Hier stellen wir die
   von Elementor Pro selbst definierten CSS-Variablen (mit deren Standard-Fallback #fff)
   wieder her, statt sie durch die globale Link-Farbe ueberschreiben zu lassen. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart {
  color: var(--view-cart-button-text-color, #fff) !important;
}
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--view-cart:hover {
  color: var(--view-cart-button-hover-text-color, #fff) !important;
}
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout {
  color: var(--checkout-button-text-color, #fff) !important;
}
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button--checkout:hover {
  color: var(--checkout-button-hover-text-color, #fff) !important;
}
