/**
Theme Name: kosmetik-onlineshop
Author: Openstream Internet Solutions
Author URI: https://www.openstream.ch/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kosmetik-onlineshop
Template: astra
*/

.ast-separate-container #primary {
	margin-top: 2em;
}

.shop_attributes th,
.shop_attributes td {
	border: none;
	font-style: normal;
	padding: 0.6em 0.75em;
}

.shop_attributes tr {
	border-bottom: 1px solid #e8e8e8;
}

.shop_attributes tr:first-child {
	border-top: 1px solid #e8e8e8;
}

.shop_attributes tr:nth-child(even) {
	background: #f7f7f7;
}

.shop_attributes tr:nth-child(odd) {
	background: #fff;
}

.shop_attributes td a {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

/* product tabs */
.woocommerce #content div.product .woocommerce-tabs ul.tabs li, .woocommerce div.product .woocommerce-tabs ul.tabs li, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li, .woocommerce-page div.product .woocommerce-tabs ul.tabs li {
	border-right: 1px solid #eeeeee;
	
	padding: 0rem 1rem;
	margin-right: 0;
}

.extra_fields .checkmark-icon {
	width: 16px; 
	height: 16px; 
	display: inline-block; 
	margin-right: 3px;
	vertical-align: baseline;
}

header .widget_wishlist_products_counter a:before {
	font-size: 40px !important;
	color: #807c33;
}

header .widget_wishlist_products_counter {
	margin-top: 18px;
}
header .widget_wishlist_products_counter .wishlist_products_counter_number {
	display: none;
}

/* product catalog img */
.woocommerce ul.products li.product .woocommerce-loop-product__link, .woocommerce-page ul.products li.product .woocommerce-loop-product__link {
	overflow: hidden;
	width: 100%;
	height: 200px;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap, .woocommerce-page ul.products li.product .astra-shop-thumbnail-wrap {
	margin-top: 1em;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link img, .woocommerce-page ul.products li.product .woocommerce-loop-product__link img {
	height: 100%;
	width: auto;
	margin: 0 auto;
}
.product-subtitle {
	font-size: 0.9em;
	color: #666;
	margin: 5px 0;
	font-style: italic;
	line-height: 1.2;
}

/* product archive */
.archive .woocommerce-pagination {
	margin-bottom: 2em;
}

.product-brand {
	text-align: center;
	font-weight: lighter;
	font-size: .8em;
	color: #999;
	grid-column: 1 / span 2;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title::after, .woocommerce-page ul.products li.product .woocommerce-loop-product__title::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(#b3b3b3), to(transparent));
	background-image: linear-gradient(to right, transparent, #b3b3b3, transparent);
	margin-top: 0.5em;
}

.archive .astra-shop-summary-wrap {
  display: grid;
  grid-template-columns: 1fr auto; /* price left, bag right */
  grid-template-areas:
	"category category"
	"title title"
	"subtitle subtitle"
	"price bag";
  gap: 0.5rem;
}

.woocommerce-page ul.products li.product .ast-woo-product-category {
	text-transform: uppercase;
	font-size: 0.8em;
	color: #999;
}

/* assign grid areas */
.archive .astra-shop-summary-wrap .ast-woo-product-category {
  grid-area: category;
}

.archive .astra-shop-summary-wrap .ast-loop-product__link {
  grid-area: title;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
	font-size: 1em;
	font-family: inherit;
	font-weight: inherit;
}

.archive .astra-shop-summary-wrap .product-subtitle {
  grid-area: subtitle;
  font-size: 0.8em;
}

.archive .astra-shop-summary-wrap .price {
  grid-area: price;
  align-self: end;
}

.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price {
	font-weight: 400;
	font-size: 1.3em;
	text-align: left;
	margin-bottom: .1em;
}

.woocommerce-js ul.products li.product .price del {
	font-size: 0.6em;
	display: block;
}

.archive .astra-shop-summary-wrap .add-to-cart-bag {
  grid-area: bag;
  justify-self: end; 
}

/* 1. Change color when loading (while the request is in flight) */
.add-to-cart-bag.loading {
	opacity: 0.5;
}

/* 2. Change color or add a glow when successfully added */
.add-to-cart-bag.added svg {
	fill: #28a745; /* Green success color */
	filter: drop-shadow(0 0 5px rgba(40, 167, 69, 0.5));
	transition: all 0.3s ease;
}

/* 3. Optional: Hide the default "View Cart" text link WooCommerce injects */
.added_to_cart.wc-forward {
	display: none;
}

.tax-brand .price .woocommerce-price-suffix {
	display: none;
}

.woocommerce-js ul.products li.product .price ins { font-weight: normal; }

/* product single */
.woocommerce-js div.product div.images img {
	max-height: 600px;
	width: auto;
	margin: 0 auto;
	height: auto !important;
}

.in-stock-note {
	color: #66CC99;
	margin-bottom: 0.5rem;
}

.single-product .woocommerce-price-suffix { display: none; }

.woocommerce #content .ast-woocommerce-container div.product div.images, .woocommerce .ast-woocommerce-container div.product div.images, .woocommerce-page #content .ast-woocommerce-container div.product div.images, .woocommerce-page .ast-woocommerce-container div.product div.images { width: 40%; }

.woocommerce #content .ast-woocommerce-container div.product div.summary, .woocommerce .ast-woocommerce-container div.product div.summary, .woocommerce-page #content .ast-woocommerce-container div.product div.summary, .woocommerce-page .ast-woocommerce-container div.product div.summary { width: 56%; }

@media (max-width: 921px) {
	
	.woocommerce #content .ast-woocommerce-container div.product div.images, .woocommerce .ast-woocommerce-container div.product div.images, .woocommerce-page #content .ast-woocommerce-container div.product div.images, .woocommerce-page .ast-woocommerce-container div.product div.images { width: 100%; }
	
	.ast-product-gallery-layout-vertical-slider .flex-viewport .woocommerce-product-gallery__wrapper img {
		object-fit: contain;
	}
	
	.woocommerce #content .ast-woocommerce-container div.product div.summary, .woocommerce .ast-woocommerce-container div.product div.summary, .woocommerce-page #content .ast-woocommerce-container div.product div.summary, .woocommerce-page .ast-woocommerce-container div.product div.summary {
		width: 100%;
	}
}

.related ul.products li.product .price, .tax-brand ul.products li.product .price  {
	text-align: left;
}

.qms-coupon {
	border: 1px solid #6c552a;
	margin-bottom: 1em;
	padding: 0.5em;
	width: fit-content;
}

/* thankyou page */
.woocommerce-order-received .entry-header { display: none; }

/* footer */
footer .widget ul {
	list-style-type: inherit;
	margin-left: 1em;
}
footer .widget .wp-block-separator {
	border-top: 1px solid #807c33;
}
.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
	border-top-width: 0px;
}

/* custom lead time - also check content-product.php and functions.php (pc09, pr24) */
.custom-lead-time-signal {
	display: inline-block;
	height: 12px;
	width: 12px;
	margin-right: 5px;
	background-color: black;
	border-radius: 50%;
}

.archive .custom-lead-time-wrapper {
	padding: 0 1.2em 0;
	text-align: left;
}

.custom-lead-time-text {
	display: inline-block;
}
.signal-in-stock {
	background-color: #0BDA51;
}
.signal-on-backorder {
	background-color: #FF7F50;   
}
.signal-out-of-stock {
	background-color: #D22B2B;
}

/* mobile */
@media (max-width: 921px) {
	.ast-below-header-wrap .ast-below-header-bar { width: 100%; padding: 0 10px 0 20px !important; }
	.ast-below-header-wrap .ast-builder-grid-row {
		display: flex !important;
		flex-direction: row !important;
		align-items: center;
		flex-wrap: nowrap;
		gap: 10px !important;
	}
	.ast-below-header-wrap .ast-below-header-bar {
		overflow: visible;
	}
	.ast-below-header-wrap .site-header-below-section-left {
		flex: 1 1 0% !important;
		min-width: 0 !important;
		width: 0 !important;
		overflow: visible;
	}
	.ast-below-header-wrap .site-header-below-section-left .header-widget-area-inner {
		max-width: 100%;
		padding: 0 !important;
	}
	.ast-below-header-wrap .site-header-below-section-left .jimsoft_search_form,
	.ast-below-header-wrap .site-header-below-section-left form {
		max-width: 100%;
	}
	.ast-below-header-wrap .site-header-below-section-right {
		flex: 0 0 auto;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 8px;
		padding: 0;
		margin-right: 0 !important;
		position: relative;
	}
	.ast-below-header-wrap .site-header-below-section-right::after {
		content: '';
		position: absolute;
		bottom: 18px;
		left: 0;
		right: 0;
		height: 1px;
		background: #807c33;
	}
	.facetwp-flyout-open { display: inherit !important; }

	/* All icon containers: remove extra padding/margin, opacity 79% */
	.ast-below-header-wrap .site-header-below-section-right > * {
		padding: 0 !important;
		margin: 0 !important;
		opacity: 0.79;
	}
	.ast-below-header-wrap .site-header-below-section-right .header-widget-area-inner {
		display: flex;
		align-items: center;
		padding: 0 !important;
	}

	/* Wishlist heart icon — match size to other icons */
	.ast-below-header-wrap a.wishlist_products_counter.top_wishlist-heart {
		display: inline-block;
		line-height: 1;
	}
	.ast-below-header-wrap a.wishlist_products_counter.top_wishlist-heart:before {
		color: #807c33;
		font-size: 26px !important;
		line-height: 1 !important;
		vertical-align: middle !important;
	}
	.ast-below-header-wrap a.wishlist_products_counter .wishlist_products_counter_number {
		display: none;
	}

	/* Account icon */
	.ast-below-header-wrap .ast-header-account-wrap {
		margin: 0 !important;
	}
	.ast-below-header-wrap .ast-header-account-wrap .ahfb-svg-iconset svg {
		height: 22px !important;
		width: 22px !important;
		display: block !important;
	}

	/* Cart icon */
	.ast-below-header-wrap .ast-header-woo-cart,
	.ast-below-header-wrap .ast-site-header-cart,
	.ast-below-header-wrap .ast-site-header-cart-li,
	.ast-below-header-wrap .cart-container,
	.ast-below-header-wrap .ast-addon-cart-wrap {
		overflow: visible !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.ast-below-header-wrap .astra-icon {
		position: relative;
		font-size: 22px !important;
		line-height: 1 !important;
		padding: 0 !important;
	}
	.ast-below-header-wrap .astra-icon::after {
		display: none !important;
	}
	.ast-below-header-wrap .ast-addon-cart-wrap svg {
		width: 22px !important;
		height: 22px !important;
		display: block !important;
		overflow: visible !important;
	}
	.ast-below-header-wrap .ast-woo-header-cart-info-wrap {
		display: none;
	}
	.ast-below-header-wrap .ast-cart-menu-wrap {
		display: none;
	}

	.main-navigation #ast-hf-mobile-menu .ast-mm-widget-item img { display: none; }
}

@media (max-width: 544px) {
	.woocommerce #content div.product .woocommerce-tabs ul.tabs li, .woocommerce-page #content div.product .woocommerce-tabs ul.tabs li {
		border-bottom: 1px solid #eeeeee;
		border-left: 1px solid #eeeeee;
	}
}

/* from theme customizer */
.ast-separate-container.ast-two-container #secondary .widget {
	padding: 1em;
}
#secondary, #secondary button, #secondary input, #secondary select, #secondary textarea {
	font-size: 16px;
	font-size: 0.9rem;
}
.ast-separate-container .ast-woocommerce-container {
	padding: 1em;
}

.site-header-focus-item .customize-partial-edit-shortcut, .site-footer-focus-item .customize-partial-edit-shortcut, .customizer-item-block-preview .customize-partial-edit-shortcut {
	opacity: 0;
	transition: all 0.2s;
	top: 5px;
}
.customize-partial-edit-shortcut, .widget .customize-partial-edit-shortcut {
	position: absolute;
	float: left;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px 0 0 -1px;
	border: 0;
	background: 0 0;
	color: transparent;
	box-shadow: none;
	outline: 0;
	z-index: 5;
}
*, :after, :before {
	box-sizing: inherit;
}

.ast-footer-social-1-wrap .ast-social-color-type-custom .social-item-label {
font-weight: 600;
}
/* Beispiel: Vertikale Scrollbar für FacetWP-Checkbox-Listen */
.facetwp-facet {
	max-height: 260px; /* gewünschte Höhe in Pixel anpassen */
	overflow-y: auto;  /* Scrollbar aktivieren */
	overflow-x: hidden; /* verhindert horizontales Scrollen */
	padding: 0 1em 0 0;
	margin-bottom: 10px !important;
}

/* Optional: hübschere Scrollbar für Webkit-Browser */
.facetwp-facet::-webkit-scrollbar {
	width:4px;
}
.facetwp-facet::-webkit-scrollbar-thumb {
	background-color: #ccc;
	border-radius: 3px;
}

.sidebar-main hr,
.sidebar-main h3  {
	margin-bottom: 0;
	margin-top: 10px;
}

.facetwp-type-checkboxes .facetwp-expand:before {
	  content: "";
	  width: 14px;
	  height: 14px;
	  display: inline-block;
	  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32V224H48c-17.7 0-32 14.3-32 32s14.3 32 32 32H192V432c0 17.7 14.3 32 32 32s32-14.3 32-32V288H400c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z'/%3E%3C/svg%3E") no-repeat center;
	  background-size: 14px 14px;
	
	  /* Transition needs to be on the normal state */
	  transition: transform 0.2s ease-in-out;
	  transform-origin: center center;
}
	
.facetwp-type-checkboxes .facetwp-expand.opened:before {
	transform: rotate(-45deg);
}

.woocommerce-pagination .facetwp-pager a {
	border: 1px solid;
	padding: 0.5em 1em;
}
.woocommerce-pagination .facetwp-pager a.active {
	background-color: #fbf8f1;
	color: #1e1e1e;
}

/* live search */
.site-header .ast-inline-search.ast-search-menu-icon .search-form { width: 500px; border: none; }
.site-header .ast-inline-search.ast-search-menu-icon .search-field { font-size: 16px; }
.aws-container .aws-search-form .aws-form-btn { background: none; border-left: none; }
.aws-container .aws-search-form .aws-search-btn_icon { fill: #807c33; }
.aws-search-result .aws_result_title {
	color: #6c552a;
	font-size: 15px;
	font-weight: bold;
}
.aws-search-result .aws_result_excerpt {
	font-size: 13px;
}
.aws-search-result .aws_result_price {
	color: #6c552a;
	font-size: 15px;
	font-weight: bold;
}

ul.products li.product img {
	object-fit: contain;
	width: 100%;
	height: 300px; /* z. B. gleiche Boxhöhe */
}

/* Brand header image */
.kp-cat-image-header img {
	width: 100%;
	height: auto;
}

/* Brands page - vertically center brand logos in grid */
.page .is-layout-grid {
	align-items: center;
	gap: 1.8rem 3rem !important; /* vertical 1.8rem (40% reduction), horizontal 3rem */
}

.page .is-layout-grid .wp-block-image {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	transition: box-shadow 0.3s ease;
}

.page .is-layout-grid .wp-block-image:hover {
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* Mobile: reduce gap */
@media (max-width: 768px) {
	.page .is-layout-grid {
		gap: 1.2rem 2rem !important; /* vertical 1.2rem (40% reduction), horizontal 2rem */
	}
}

/* Make product card a vertical flex container */
.woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
}

/* Let summary take remaining space */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
	flex: 1;
}

/* Create a bottom bar */
.woocommerce ul.products li.product .custom-lead-time-wrapper {
	display: flex;
	align-items: center;
	margin-top: auto;
	padding-top: 8px;
	padding-right: 48px;
}

/* Pull add-to-cart into the same visual row */
.woocommerce ul.products li.product .add-to-cart-bag {
	position: absolute;
	right: 16px;
	bottom: 16px;
}

/* Style upsells to match category listing card design */
.upsells.products ul.products li.product {
	display: flex;
	flex-direction: column;
}

.upsells.products ul.products li.product .astra-shop-summary-wrap {
	flex: 1;
}

/* Ensure product titles have consistent height for proper alignment */
.upsells.products ul.products li.product .woocommerce-loop-product__title {
	height: 60px;
	display: block;
	position: relative;
	margin-bottom: 16px;
}

/* Position divider line at bottom of fixed-height title area */
.upsells.products ul.products li.product .woocommerce-loop-product__title:after {
	position: absolute !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	margin-top: 0 !important;
}

/* Add whitespace above price */
.upsells.products ul.products li.product .price {
	margin-top: 12px;
}

/* Fix availability circle left spacing to match price above */
.upsells.products ul.products li.product .custom-lead-time-wrapper {
	padding-left: 19.2px;
}

/* Ensure bag icon displays properly on upsells */
.upsells.products ul.products li.product .add-to-cart-bag {
	display: block;
	position: absolute;
	right: 16px;
	bottom: 20px;
	width: 40px;
	height: 40px;
	padding: 0;
	overflow: visible;
	line-height: 0;
	font-size: 0;
	background: transparent;
	border: none;
}

.upsells.products ul.products li.product .add-to-cart-bag .ast-icon {
	display: inline-block;
	width: 40px;
	height: 40px;
	line-height: 0;
	text-indent: 0;
}

.upsells.products ul.products li.product .add-to-cart-bag svg {
	display: inline-block;
	width: 40px;
	height: 40px;
	vertical-align: top;
}

.upsells.products ul.products li.product .add-to-cart-bag svg path {
	fill: #807c33;
}

.upsells.products ul.products li.product .add-to-cart-bag:hover svg path {
	fill: #6a6629;
}

/* home */
.home .image-container {
	position: relative;
}

.home .sub-category-list {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: white;
	opacity: 0;
	transition: opacity 0.3s ease;
	padding: 50px;
	border: 1px solid #ccc;
	border-radius: 5px;
	list-style: none;
	margin: 0;
}

.home .image-container:hover .sub-category-list {
	opacity: 1;
}

.home .sub-category-item {
	margin-bottom: 5px;
}

@media screen and (max-width: 767px) {
	.home .sub-category-list {
		display: none;
		/* Hide the menu on small screens */
	}
}

/* Smaller lead time text and bag icon on mobile archive pages */
@media (max-width: 544px) {
	.woocommerce ul.products li.product .custom-lead-time-wrapper {
		font-size: 10px;
		line-height: 1.3;
		padding-top: 12px;
		padding-left: 18px;
		white-space: nowrap;
	}
	.woocommerce ul.products li.product .custom-lead-time-signal {
		height: 8px;
		width: 8px;
	}
	.woocommerce ul.products li.product .add-to-cart-bag {
		bottom: 10px;
		right: 10px;
	}
	.woocommerce ul.products li.product .add-to-cart-bag svg {
		width: 28px;
		height: 28px;
	}
}

/* Fix footer Info section list alignment to match other footer lists */
.site-footer .ast-builder-html-element ul {
	margin-left: 16px;
}