/*
Theme Name: Luxus Store (Blocksy Child)
Template: blocksy
Author: Preowned Luxus Store e.U.
Description: Child-Theme von Blocksy für luxus-store.at – übernimmt Design und Anpassungen des bisherigen Rion-Child-Themes.
Version: 1.0.0
Text Domain: blocksy-child
*/

/* ====================================
   Grundlagen: Schriften & Farben (wie bisher mit Rion)
   Farbpalette im Customizer: 1 Braun #75513f, 2 Braun dunkel, 3 Text #868686, 4 Schwarz
   ==================================== */
:root{
	--luxus-gold:#e1c055;
	--luxus-brown:#75513f;
	--luxus-brown-dark:#5b3f30;
	--luxus-serif:"Cormorant Garamond", "Times New Roman", serif;
	--luxus-sans:"Open Sans", Arial, sans-serif;
	--theme-font-family:var(--luxus-sans);
	--theme-font-size:15px;
	--theme-line-height:1.73;
}
body{
	font-family:var(--luxus-sans);
	font-size:15px;
	color:#868686;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .product_title{
	--theme-font-family:var(--luxus-serif);
	font-family:var(--luxus-serif);
	color:#000000;
}
input, textarea, select{
	color:#222222;
}
/* Blocksys "Systemschrift" (Menue, Preise, Formulare, Buttons ...) durch die lokale Open Sans ersetzen */
:root{
	--theme-font-stack-default:"Open Sans", Arial, sans-serif !important;
}

/* ====================================
   Kopfzeile
   ==================================== */
.ct-header [data-row="middle"],
.ct-header [data-row="bottom"]{
	background:#ffffff;
}
/* Suche (FiboSearch) links */
.ct-header .ct-header-text{
	width:240px;
	max-width:100%;
}
.ct-header .luxus-header-search .dgwt-wcas-search-input{
	height:40px;
	font-size:14px;
	border:1px solid #e5e5e5;
	border-radius:3px;
}
/* "Anmelden" */
.ct-header [data-id="menu-secondary"] .menu > li > a{
	font-size:11px !important;
	font-weight:700;
	letter-spacing:2.2px;
	text-transform:uppercase;
	color:#000000;
}
.ct-header [data-id="menu-secondary"] .menu > li > a:hover{
	color:var(--luxus-brown);
}
/* Warenkorb */
.ct-header .ct-cart-item{
	--theme-icon-color:#000000;
	--theme-icon-hover-color:var(--luxus-brown);
}
.ct-header .ct-dynamic-count-cart{
	background:var(--luxus-brown) !important;
	color:#ffffff !important;
}
/* Hauptmenue: zentriert, darf auf zwei Zeilen umbrechen */
.ct-header [data-row="bottom"] [data-column="middle"]{
	max-width:100%;
	flex:1;
}
.ct-header [data-id="menu"]{
	max-width:100%;
}
.ct-header [data-id="menu"] > .menu{
	flex-wrap:wrap;
	justify-content:center;
}
.ct-header [data-id="menu"] > .menu > li > a{
	font-size:14px !important;
	font-weight:700;
	letter-spacing:2.8px;
	text-transform:uppercase;
	color:#000000;
	height:34px !important;
}
.ct-header [data-id="menu"] > .menu > li > a:hover,
.ct-header [data-id="menu"] > .menu > li.current-menu-item > a,
.ct-header [data-id="menu"] > .menu > li.current-menu-ancestor > a{
	color:var(--luxus-brown);
}
/* Unterstrich-Animation beim Darueberfahren (wie bisher bei Rion) */
.ct-header [data-id="menu"] > .menu > li > a{
	position:relative;
}
.ct-header [data-id="menu"] > .menu > li > a::after{
	content:"";
	position:absolute;
	left:7px;
	right:7px;
	bottom:3px;
	height:1px;
	background:currentColor;
	transform:scaleX(0);
	transform-origin:right center;
	transition:transform .3s ease;
}
.ct-header [data-id="menu"] > .menu > li:hover > a::after,
.ct-header [data-id="menu"] > .menu > li > a:focus-visible::after{
	transform:scaleX(1);
	transform-origin:left center;
}
/* Dropdown: heller Hintergrund, etwas Abstand zum Menuepunkt (wie im Live-Shop) */
.ct-header [data-id="menu"]{
	--dropdown-background-color:#ffffff;
	--dropdown-divider:none;
	--dropdown-width:230px;
	--theme-box-shadow:0 8px 40px rgba(0,0,0,.08);
	--theme-border-radius:0;
}
.ct-header [data-id="menu"] > .menu > li > .sub-menu{
	--dropdown-top-offset:22px;
	padding:18px 0;
}
.ct-header [data-id="menu"] .sub-menu .sub-menu{
	--dropdown-top-offset:0px;
	margin-top:-18px;
	padding:18px 0;
}
/* (Farben mit !important, weil Blocksys Customizer-CSS erst nach dem Child-Theme geladen wird) */
.ct-header [data-id="menu"] .sub-menu .ct-menu-link{
	--theme-link-initial-color:#868686 !important;
	--theme-link-hover-color:var(--luxus-brown) !important;
	--theme-link-active-color:var(--luxus-brown) !important;
	padding:5px 18px 5px 22px !important;
	font-family:var(--luxus-sans);
	font-size:14px !important;
	font-weight:400;
	line-height:1.5;
	letter-spacing:.3px;
	text-transform:none;
	transition:color .2s, padding-left .2s;
}
.ct-header [data-id="menu"] .sub-menu .ct-menu-link:hover{
	padding-left:28px !important;
}

/* ====================================
   Startseite
   ==================================== */
/* Slider: volle Breite, Bilder fuellen die Flaeche, Ueberblenden */
.luxus-hero{
	position:relative;
	width:100%;
	height:clamp(380px, 40vw, 680px);
	overflow:hidden;
	background:transparent;
}
.luxus-hero-track,
.luxus-hero-slide{
	position:absolute;
	inset:0;
}
.luxus-hero-slide{
	opacity:0;
	visibility:hidden;
	transition:opacity 1.2s ease, visibility 0s linear 1.2s;
}
.luxus-hero-slide.is-active{
	opacity:1;
	visibility:visible;
	transition:opacity 1.2s ease, visibility 0s;
	z-index:1;
}
.luxus-hero-image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transform:scale(1.06);
	transition:transform 7s ease-out;
}
.luxus-hero-slide.is-active .luxus-hero-image{
	transform:scale(1);
}
/* heller Verlauf oben, damit die Ueberschrift auf jedem Bild lesbar ist */
.luxus-hero-slide::after{
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(to bottom, rgba(255,255,255,.6) 0%, rgba(255,255,255,.25) 28%, rgba(255,255,255,0) 50%);
	pointer-events:none;
}
.luxus-hero-content{
	position:relative;
	z-index:1;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:space-between;
	padding:clamp(28px, 6vw, 90px) 20px clamp(52px, 6vw, 90px);
	text-align:center;
}
.luxus-hero-title{
	max-width:1100px;
	margin:0;
	text-wrap:balance;
	font-family:var(--luxus-serif);
	font-size:clamp(30px, 4.4vw, 66px);
	font-weight:600;
	line-height:1.1;
	letter-spacing:1px;
	color:#000000;
	text-shadow:0 0 24px rgba(255,255,255,.9), 0 0 6px rgba(255,255,255,.8);
}
.luxus-hero-button{
	display:inline-block;
	padding:0 34px;
	line-height:50px;
	background:#efc82c;
	color:#000000;
	font-size:13px;
	font-weight:700;
	letter-spacing:2.6px;
	text-transform:uppercase;
	transition:background-color .25s, color .25s, opacity .9s ease .75s, transform .9s ease .75s;
}
.luxus-hero-button:hover,
.luxus-hero-button:focus-visible{
	background:#ffffff;
	color:#000000;
}
/* Text blendet nach dem Bild sanft von unten ein */
.luxus-hero-title,
.luxus-hero-button{
	opacity:0;
	transform:translateY(24px);
}
.luxus-hero-title{
	transition:opacity .9s ease .45s, transform .9s ease .45s;
}
.luxus-hero-slide.is-active .luxus-hero-title,
.luxus-hero-slide.is-active .luxus-hero-button{
	opacity:1;
	transform:none;
}
.luxus-hero-arrow{
	position:absolute;
	top:50%;
	z-index:2;
	width:52px;
	height:52px;
	margin-top:-26px;
	padding:14px;
	border:0;
	border-radius:50%;
	background:rgba(255,255,255,.75);
	color:#000000;
	cursor:pointer;
	opacity:0;
	transition:opacity .3s, background-color .3s;
}
.luxus-hero-prev{ left:24px; }
.luxus-hero-next{ right:24px; }
.luxus-hero:hover .luxus-hero-arrow,
.luxus-hero-arrow:focus-visible{
	opacity:1;
}
.luxus-hero-arrow:hover{
	background:#ffffff;
}
.luxus-hero-arrow svg{
	display:block;
	width:100%;
	height:100%;
	fill:none;
	stroke:currentColor;
	stroke-width:1.6;
}
.luxus-hero-dots{
	position:absolute;
	left:0;
	right:0;
	bottom:18px;
	z-index:2;
	display:flex;
	justify-content:center;
	gap:10px;
}
.luxus-hero-dot{
	width:28px;
	height:3px;
	padding:0;
	border:0;
	background:rgba(255,255,255,.7);
	box-shadow:0 0 3px rgba(0,0,0,.35);
	cursor:pointer;
	transition:width .3s, background-color .3s;
}
.luxus-hero-dot.is-active{
	width:48px;
	background:#efc82c;
}
@media (hover:none){
	.luxus-hero-arrow{ display:none; }
}
@media (prefers-reduced-motion:reduce){
	.luxus-hero-slide,
	.luxus-hero-image,
	.luxus-hero-title,
	.luxus-hero-button{
		transition-duration:.01s !important;
		transform:none !important;
	}
}
.luxus-home-intro{
	padding-top:60px;
	margin-bottom:50px;
}
.luxus-home-claim{
	margin-bottom:50px;
}
.luxus-title{
	font-family:var(--luxus-serif);
	font-size:30px;
	font-weight:600;
	line-height:1.2;
	letter-spacing:3px;
	text-transform:uppercase;
	color:#000000;
	margin:0 0 12px;
}
.luxus-subtitle{
	font-size:11px;
	letter-spacing:1.5px;
	text-transform:uppercase;
	margin:0 0 30px;
}
.luxus-title-button .wp-block-button__link{
	background:#000000;
	color:#ffffff;
	font-size:12px;
	font-weight:700;
	letter-spacing:2.4px;
	text-transform:uppercase;
	border-radius:0;
	padding:0 30px;
	min-height:48px;
	line-height:48px;
}
.luxus-title-button .wp-block-button__link:hover{
	background:var(--luxus-brown);
	color:#ffffff;
}
.luxus-home-about p{
	margin:0 0 6px;
	color:#868686;
}
.luxus-section-title{
	font-family:var(--luxus-sans);
	font-size:14px;
	font-weight:700;
	letter-spacing:4.2px;
	text-transform:uppercase;
	color:#000000;
	margin:50px 0 30px;
}
.luxus-section-title::after{
	content:"";
	display:block;
	width:1px;
	height:20px;
	margin:12px auto 0;
	background:#000000;
}
.luxus-home-social{
	margin-top:60px;
	margin-bottom:60px;
}

/* Newsletter */
.luxus-newsletter{
	max-width:760px;
	margin:60px auto;
	text-align:center;
}
.luxus-newsletter-title{
	font-family:var(--luxus-serif);
	font-size:30px;
	font-weight:600;
	letter-spacing:3px;
	color:#000000;
	margin:0 0 24px;
}
.luxus-newsletter-form{
	max-width:440px;
	margin:0 auto;
}
.luxus-newsletter-row{
	display:flex;
	justify-content:center;
	gap:12px;
}
.luxus-newsletter-consent{
	display:flex;
	gap:10px;
	align-items:flex-start;
	margin:16px 0 0;
	text-align:left;
	font-size:12px;
	line-height:1.5;
	color:#555555;
	cursor:pointer;
}
.luxus-newsletter-consent input{
	flex:0 0 auto;
	margin:3px 0 0;
}
.luxus-newsletter-consent a{
	color:inherit;
	text-decoration:underline;
}
.luxus-newsletter-hp{
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	overflow:hidden;
}
.luxus-newsletter-form input[type="email"]{
	flex:1;
	height:40px;
	border:0;
	border-bottom:1px solid #000000;
	border-radius:0;
	padding:0 4px;
	background:transparent;
	font-size:13px;
}
.luxus-newsletter-form button{
	height:40px;
	padding:0 22px;
	background:#000000;
	color:#ffffff;
	border:0;
	border-radius:0;
	font-size:12px;
	font-weight:700;
	letter-spacing:2.4px;
	text-transform:uppercase;
	cursor:pointer;
}
.luxus-newsletter-form button:hover{
	background:var(--luxus-brown);
}
.luxus-newsletter-form.is-loading button{
	opacity:.6;
	cursor:wait;
}
.luxus-newsletter-message{
	margin:14px 0 0;
	min-height:1em;
	font-size:14px;
	color:#3c763d;
}
.luxus-newsletter.is-error .luxus-newsletter-message{
	color:#a94442;
}

/* ====================================
   Produktuebersicht: alle Artikel gleich gross
   ==================================== */
[data-products] .product figure img{
	width:100% !important;
	height:auto !important;
	aspect-ratio:1 / 1;
	object-fit:contain;
	background:#ffffff;
}
[data-products] .product .woocommerce-loop-product__title{
	font-family:var(--luxus-sans);
	font-size:14px;
	font-weight:700;
	letter-spacing:4.2px;
	text-transform:uppercase;
	color:#232529;
	white-space:normal;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
	line-height:1.45;
	min-height:2.9em;
	max-height:2.9em;
}
[data-products] .product .woocommerce-loop-product__title a{
	color:inherit;
}
[data-products] .product .woocommerce-loop-product__title a:hover{
	color:var(--luxus-brown);
}
[data-products] .product .price{
	font-size:12px;
	font-weight:700;
	letter-spacing:2.4px;
	color:#868686;
}
/* Sortierung: schlicht wie im Live-Shop (ohne Rahmen, graue Schrift, Pfeil rechts) */
.woocommerce-ordering select.orderby{
	width:auto;
	min-width:170px;
	height:38px;
	padding:0 26px 0 12px;
	border:0;
	border-bottom:1px solid transparent;
	border-radius:0;
	background-color:transparent;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%23868686' stroke-width='1.4'/%3E%3C/svg%3E");
	background-position:right 4px center;
	background-repeat:no-repeat;
	background-size:12px;
	color:#868686;
	font-size:14px;
	text-align:right;
	text-align-last:right;
	cursor:pointer;
	box-shadow:none;
	transition:color .2s, border-color .2s;
}
.woocommerce-ordering select.orderby:hover,
.woocommerce-ordering select.orderby:focus{
	color:#000000;
	border-bottom-color:#000000;
	outline:none;
}
.woocommerce-ordering .ct-sort-icon{
	display:none !important;
}
.woocommerce-ordering select.orderby option{
	color:#222222;
	text-align:left;
}
/* Taschen-Button im Artikelbild (wie bisher bei Rion: erscheint beim Darueberfahren unten rechts) */
[data-products] .product figure{
	position:relative;
	overflow:hidden;
}
.luxus-quick-add{
	position:absolute;
	right:18px;
	bottom:18px;
	z-index:2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:42px;
	height:42px;
	background:#ffffff;
	color:#000000;
	box-shadow:0 15px 25px rgba(0,0,0,.08);
	opacity:0;
	transform:translateX(60px);
	transition:opacity .25s, transform .25s, background-color .25s, color .25s;
}
.luxus-quick-add svg{
	width:20px;
	height:20px;
	fill:none;
	stroke:currentColor;
	stroke-width:1.5;
	stroke-linejoin:round;
}
[data-products] .product:hover .luxus-quick-add,
.luxus-quick-add:focus-visible{
	opacity:1;
	transform:none;
}
.luxus-quick-add:hover{
	background:var(--luxus-brown);
	color:#ffffff;
}
.luxus-quick-add.is-loading{
	opacity:1;
	transform:none;
	pointer-events:none;
}
.luxus-quick-add.is-loading svg{
	animation:luxus-pulse .8s ease-in-out infinite alternate;
}
@keyframes luxus-pulse{
	to{ opacity:.3; }
}
/* Touch-Geraete ohne Hover: Button immer sichtbar */
@media (hover:none){
	.luxus-quick-add{
		opacity:1;
		transform:none;
		width:38px;
		height:38px;
		right:10px;
		bottom:10px;
	}
}

/* ====================================
   Produktseite
   ==================================== */
.product_title{
	font-size:28px;
	font-weight:400;
	line-height:1.3;
}
.summary .price{
	font-size:22px !important;
	font-weight:700;
	letter-spacing:2.2px;
	color:var(--luxus-brown) !important;
}
.woocommerce-product-details__short-description{
	color:#868686;
	line-height:26px;
}
.single_add_to_cart_button{
	min-height:56px;
	padding:0 40px !important;
	font-size:14px !important;
	font-weight:600 !important;
	letter-spacing:2.8px;
	text-transform:uppercase;
	border-radius:0 !important;
}
.stock.in-stock{
	color:#5cb85c;
}
.woocommerce-tabs .tabs a{
	font-size:14px;
	font-weight:600;
	letter-spacing:4.2px;
	text-transform:uppercase;
}
.woocommerce-tabs .tabs li.active a{
	color:var(--luxus-brown);
}
.sku_wrapper,
.posted_in,
.tagged_as,
.product_meta{
	display:none !important;
}
.variations .variation select{
	display:inline-block;
}
.woocommerce-info{
	border-color:var(--luxus-brown);
}
/* Fehlermeldung beim schnellen "In den Warenkorb" */
.luxus-atc-notice{
	margin-bottom:15px;
}

/* ====================================
   Warenkorb & Kasse: bessere Lesbarkeit
   ==================================== */
.woocommerce-cart,
.woocommerce-checkout{
	color:#333333;
}
.woocommerce-cart .shop_table td.product-name a,
.woocommerce-checkout .shop_table td.product-name{
	color:#222222;
	letter-spacing:1px;
}
.woocommerce-cart .shop_table td.product-name a:hover{
	color:var(--luxus-brown);
}
.woocommerce-cart .shop_table th,
.woocommerce-cart .cart_totals h2{
	color:#222222;
}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals small,
.woocommerce-cart .cart_totals p{
	color:#444444;
}
.woocommerce-cart .coupon input.input-text::placeholder{
	color:#666666;
}
/* Mini-Warenkorb (Seitenbereich) */
#woo-cart-panel .woocommerce-mini-cart-item a:not(.remove){
	color:#222222;
	letter-spacing:1px;
	word-break:break-word;
}
#woo-cart-panel .woocommerce-mini-cart-item a:not(.remove):hover{
	color:var(--luxus-brown);
}
#woo-cart-panel .quantity,
#woo-cart-panel .amount{
	color:#333333;
}

/* ====================================
   Fusszeile (goldene Leiste wie bisher)
   ==================================== */
[data-footer] .ct-footer [data-row="middle"]{
	background:var(--luxus-gold) !important;
	border-top:2px solid var(--luxus-brown);
	border-bottom:2px solid var(--luxus-brown);
	margin-top:15px;
	color:#000000;
	--theme-text-color:#000000;
	--theme-link-initial-color:#000000;
	--theme-link-hover-color:#ffffff;
}
.ct-footer [data-row="middle"] > .ct-container{
	padding-top:25px;
	padding-bottom:20px;
	align-items:start;
}
.ct-footer .widget-title{
	font-family:var(--luxus-sans);
	font-size:12px;
	font-weight:700;
	letter-spacing:3.6px;
	text-transform:uppercase;
	color:#000000;
	position:relative;
	padding-bottom:14px;
	margin-bottom:14px;
}
.ct-footer .widget-title::before{
	content:"";
	position:absolute;
	left:0;
	bottom:4px;
	width:30px;
	height:2px;
	background:#000000;
}
.ct-footer .widget_nav_menu ul{
	list-style:none;
	margin:0;
	padding:0;
}
.ct-footer .widget_nav_menu li{
	margin:0 0 8px;
}
.ct-footer .widget_nav_menu a{
	font-size:14px;
	color:#000000;
}
.ct-footer .widget_nav_menu a:hover{
	color:#ffffff;
}
.ct-footer [data-column="widget-area-3"]{
	text-align:right;
}
.ct-footer [data-column="widget-area-3"] .widget-title::before{
	left:auto;
	right:0;
}
.ct-footer .luxus-footer-logo{
	margin:0 0 6px;
}
.ct-footer .luxus-footer-logo img{
	max-width:170px;
	height:auto;
}
.ct-footer .luxus-footer-shop-title{
	font-family:var(--luxus-sans);
	font-size:18px;
	font-weight:400;
	color:#000000;
	margin:0 0 6px;
}
.ct-footer [data-column="widget-area-2"] p{
	color:#000000;
	font-size:14px;
	line-height:1.6;
}
.ct-footer [data-row="bottom"]{
	background:#ffffff;
	font-size:14px;
	color:#868686;
}
.ct-footer [data-row="bottom"] p{
	margin:0;
}
@media (max-width:689.98px){
	.ct-footer [data-column="widget-area-3"],
	.ct-footer [data-column="widget-area-1"],
	.ct-footer [data-row="bottom"] p{
		text-align:center !important;
	}
	.ct-footer [data-column="widget-area-1"] .widget-title::before,
	.ct-footer [data-column="widget-area-3"] .widget-title::before{
		left:50%;
		right:auto;
		margin-left:-15px;
	}
}

/* ====================================
   Widerrufsbutton
   ==================================== */
.luxus-widerruf-bar{
	text-align:center;
	padding:18px 15px;
	background:#ffffff;
	border-top:1px solid #e5e5e5;
}
.luxus-widerruf-button,
.luxus-widerruf-form .luxus-widerruf-confirm{
	display:inline-block;
	padding:12px 26px;
	background:var(--luxus-brown);
	color:#ffffff !important;
	font-size:13px;
	font-weight:600;
	letter-spacing:1px;
	text-transform:uppercase;
	border:0;
	border-radius:0;
	line-height:1.4;
}
.luxus-widerruf-button:hover,
.luxus-widerruf-form .luxus-widerruf-confirm:hover{
	background:var(--luxus-brown-dark);
	color:#ffffff !important;
}
.luxus-widerruf{
	max-width:680px;
	color:#333333;
}
.luxus-widerruf-form .form-row{
	display:block !important;
	width:100% !important;
	margin-bottom:16px;
}
.luxus-widerruf-form label{
	display:block !important;
	width:100% !important;
	margin-bottom:4px;
	color:#222222;
	font-weight:600;
}
.luxus-widerruf-form input[type="text"],
.luxus-widerruf-form input[type="email"],
.luxus-widerruf-form textarea{
	width:100% !important;
	max-width:100%;
	border:1px solid #cccccc;
	padding:10px 12px;
}
.luxus-widerruf-form .description{
	display:block;
	font-size:13px;
	color:#555555;
	margin-top:4px;
}
.luxus-widerruf-hp{
	position:absolute !important;
	left:-9999px !important;
}
.luxus-widerruf table th,
.luxus-widerruf table td{
	padding:8px 10px;
	border:1px solid #e5e5e5;
	color:#333333;
	vertical-align:top;
}

/* ====================================
   Filter in den Kategorien: einheitlich & modern
   ==================================== */
#sidebar .berocket_single_filter_widget{
	margin:0;
}
#sidebar .bapf_sfilter{
	padding:20px 0 22px;
	margin:0 !important;
	border-bottom:1px solid #ececec;
}
#sidebar .ct-widget:first-child .bapf_sfilter{
	padding-top:0;
}
#sidebar .bapf_sfilter .bapf_head h3{
	font-family:var(--luxus-sans) !important;
	font-size:13px !important;
	font-weight:700 !important;
	letter-spacing:2px;
	text-transform:uppercase;
	color:#222222 !important;
	margin:0 0 14px !important;
	padding:0 !important;
	line-height:1.4;
}
#sidebar .bapf_sfilter .bapf_head h3::after{
	content:"";
	display:block;
	width:28px;
	height:2px;
	margin-top:8px;
	background:var(--luxus-gold);
}
#sidebar .bapf_ckbox .bapf_body > ul{
	max-height:280px;
	overflow-y:auto;
	margin:0 !important;
	padding:0 6px 0 0 !important;
	list-style:none;
	scrollbar-width:thin;
	scrollbar-color:#c9c9c9 transparent;
}
#sidebar .bapf_ckbox ul li{
	display:flex !important;
	align-items:center;
	flex-wrap:wrap;
	margin:0 !important;
	padding:5px 0 !important;
	line-height:1.4;
	list-style:none;
}
#sidebar .bapf_ckbox ul li > ul{
	flex-basis:100%;
	margin:4px 0 0 26px !important;
	padding:0 !important;
}
#sidebar .bapf_ckbox ul li > ul li{
	padding:3px 0 !important;
}
#sidebar .bapf_ckbox ul li > ul label{
	font-size:13px !important;
	color:#555555 !important;
}
#sidebar .bapf_ckbox input[type="checkbox"]{
	-webkit-appearance:none;
	appearance:none;
	flex:0 0 16px;
	width:16px;
	height:16px;
	margin:0 10px 0 0 !important;
	border:1px solid #b5b5b5;
	border-radius:2px;
	background:#ffffff;
	cursor:pointer;
	position:relative;
	transition:background .15s, border-color .15s;
}
#sidebar .bapf_ckbox input[type="checkbox"]:hover{
	border-color:var(--luxus-brown);
}
#sidebar .bapf_ckbox input[type="checkbox"]:checked{
	background:var(--luxus-brown);
	border-color:var(--luxus-brown);
}
#sidebar .bapf_ckbox input[type="checkbox"]:checked::after{
	content:"";
	position:absolute;
	left:5px;
	top:1px;
	width:4px;
	height:9px;
	border:solid #ffffff;
	border-width:0 2px 2px 0;
	transform:rotate(45deg);
}
#sidebar .bapf_ckbox input[type="checkbox"]:focus-visible{
	outline:2px solid var(--luxus-gold);
	outline-offset:2px;
}
#sidebar .bapf_ckbox label{
	flex:1;
	margin:0 !important;
	padding:0 !important;
	font-size:14px !important;
	color:#333333 !important;
	cursor:pointer;
}
#sidebar .bapf_ckbox input[type="checkbox"]:checked + label{
	color:var(--luxus-brown) !important;
	font-weight:600;
}
#sidebar .bapf_ckbox .pcs{
	margin-left:8px;
	font-size:12px;
	color:#999999;
}
#sidebar .bapf_ckbox .bapf_hide_mobile + span,
#sidebar .bapf_ckbox .bapf_show_hide{
	color:var(--luxus-brown);
}
/* Preis-Slider */
#sidebar .bapf_slidr .bapf_body{
	padding:6px 8px 0;
}
#sidebar .bapf_slidr .ui-slider{
	height:3px !important;
	background:#e5e5e5 !important;
	border:0 !important;
}
#sidebar .bapf_slidr .ui-slider-range{
	background:var(--luxus-brown) !important;
}
#sidebar .bapf_slidr .ui-slider-handle{
	width:14px !important;
	height:14px !important;
	top:-6px !important;
	margin-left:-7px !important;
	border-radius:50% !important;
	border:2px solid var(--luxus-brown) !important;
	background:#ffffff !important;
	cursor:pointer;
}
#sidebar .bapf_slidr .bapf_from,
#sidebar .bapf_slidr .bapf_to{
	font-size:13px;
	color:#333333;
}
#sidebar .bapf_sfilter[data-taxonomy="pa_groesse"] .bapf_body > ul{
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:16px;
	max-height:none;
	overflow:visible;
}

/* ====================================
   Leere Kategorien
   ==================================== */
.luxus-empty-category .woocommerce-ordering,
.luxus-empty-category .woocommerce-result-count,
.luxus-empty-category .woo-listing-top,
.luxus-empty-category .term-description,
.luxus-empty-category .luxus-filter-toggle{
	display:none !important;
}
.luxus-empty-notice{
	max-width:640px;
	margin:40px auto 60px;
	padding:48px 32px;
	text-align:center;
	border-top:2px solid var(--luxus-gold);
	border-bottom:1px solid #ececec;
}
.luxus-empty-notice h2{
	font-size:26px;
	color:#222222;
	margin:0 0 16px;
}
.luxus-empty-notice p{
	color:#444444;
	font-size:15px;
	line-height:1.7;
	margin:0 0 28px;
}
.luxus-empty-notice .button{
	display:inline-block;
	padding:13px 30px;
	background:var(--luxus-brown) !important;
	color:#ffffff !important;
	font-size:13px;
	font-weight:600;
	letter-spacing:1px;
	text-transform:uppercase;
}
.luxus-empty-notice .button:hover{
	background:var(--luxus-brown-dark) !important;
}

/* ====================================
   Designer-Uebersicht
   ==================================== */
.luxus-designers{
	margin:0 0 40px;
	padding-bottom:36px;
	border-bottom:1px solid #ececec;
	width:100%;
}
.luxus-designers-title{
	font-size:24px;
	color:#222222;
	text-align:center;
	margin:0 0 24px;
}
.luxus-designers-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(170px, 1fr));
	gap:14px;
}
.luxus-designer{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height:120px;
	padding:18px 14px;
	background:#ffffff;
	border:1px solid #e6e6e6;
	text-align:center;
	transition:border-color .2s, box-shadow .2s, transform .2s;
}
.luxus-designer:hover,
.luxus-designer:focus-visible{
	border-color:var(--luxus-gold);
	box-shadow:0 6px 18px rgba(0,0,0,.06);
	transform:translateY(-2px);
}
.luxus-designer-logo{
	display:flex;
	align-items:center;
	justify-content:center;
	height:52px;
	width:100%;
}
.luxus-designer-logo img{
	max-height:52px;
	max-width:150px;
	width:auto;
	height:auto;
	object-fit:contain;
}
.luxus-designer-wordmark{
	font-family:var(--luxus-serif);
	font-size:19px;
	letter-spacing:3px;
	text-transform:uppercase;
	color:#555555;
	line-height:1.2;
}
.luxus-designer-count{
	font-size:12px;
	color:#888888;
	letter-spacing:.5px;
}
.luxus-designer:hover .luxus-designer-count{
	color:var(--luxus-brown);
}
@media (max-width:767px){
	.luxus-designers-grid{
		grid-template-columns:repeat(2, 1fr);
		gap:10px;
	}
	.luxus-designer{
		min-height:100px;
		padding:14px 10px;
	}
}

/* Lange Woerter, Links und E-Mail-Adressen in Seiteninhalten umbrechen */
.entry-content,
.term-description{
	overflow-wrap:anywhere;
}

/* ====================================
   Mobile/Tablet: Filter als ausklappbares Panel
   ==================================== */
.luxus-filter-toggle{
	display:none;
	align-items:center;
	gap:8px;
	margin:0 0 18px;
	padding:10px 18px;
	background:#ffffff;
	border:1px solid var(--luxus-brown);
	color:var(--luxus-brown);
	font-size:13px;
	font-weight:700;
	letter-spacing:2px;
	text-transform:uppercase;
	line-height:1;
	cursor:pointer;
}
.luxus-filter-head,
.luxus-filter-foot,
.luxus-filter-overlay{
	display:none;
}
@media (max-width:999.98px){
	.luxus-filter-toggle{
		display:inline-flex;
	}
	.luxus-filter-overlay:not([hidden]){
		display:block;
		position:fixed;
		inset:0;
		background:rgba(0,0,0,.45);
		z-index:100000;
	}
	:is(.tax-product_cat, .post-type-archive-product) aside#sidebar{
		position:fixed;
		top:0;
		left:0;
		bottom:0;
		width:86vw;
		max-width:340px;
		display:flex;
		flex-direction:column;
		background:#ffffff;
		box-shadow:6px 0 24px rgba(0,0,0,.15);
		transform:translateX(-105%);
		visibility:hidden;
		transition:transform .3s ease, visibility .3s;
		z-index:100001;
		padding:0;
		margin:0;
	}
	.luxus-filter-open :is(.tax-product_cat, .post-type-archive-product) aside#sidebar{
		transform:none;
		visibility:visible;
	}
	:is(.tax-product_cat, .post-type-archive-product) aside#sidebar .ct-sidebar{
		flex:1;
		overflow-y:auto;
		padding:16px 20px;
		position:static;
	}
	.luxus-filter-open,
	.luxus-filter-open body{
		overflow:hidden;
	}
	.luxus-filter-panel .luxus-filter-head{
		display:flex;
		align-items:center;
		justify-content:space-between;
		padding:16px 20px;
		border-bottom:1px solid #ececec;
		font-size:14px;
		font-weight:700;
		letter-spacing:2px;
		text-transform:uppercase;
		color:#222222;
	}
	.luxus-filter-head .luxus-filter-close{
		background:none;
		border:0;
		font-size:28px;
		line-height:1;
		color:#222222;
		padding:0 4px;
		cursor:pointer;
	}
	.luxus-filter-panel .luxus-filter-foot{
		display:block;
		padding:14px 20px;
		border-top:1px solid #ececec;
	}
	.luxus-filter-apply{
		width:100%;
		padding:14px;
		background:var(--luxus-brown);
		color:#ffffff;
		border:0;
		font-size:13px;
		font-weight:700;
		letter-spacing:1px;
		text-transform:uppercase;
		cursor:pointer;
	}
}

/* ====================================
   Mobil
   ==================================== */
@media (max-width:999.98px){
	.ct-header .ct-header-text{
		width:auto;
	}
}
@media (max-width:689.98px){
	.luxus-title,
	.luxus-newsletter-title{
		font-size:22px;
		letter-spacing:2px;
	}
	.luxus-newsletter-form{
		flex-direction:column;
	}
	[data-products] .product .woocommerce-loop-product__title{
		font-size:12px;
		letter-spacing:2px;
	}
}

/* ====================================
   Warenkorb-Seitenbereich (von rechts)
   ==================================== */
.luxus-cart-overlay:not([hidden]){
	position:fixed;
	inset:0;
	background:rgba(0,0,0,.45);
	z-index:100000;
}
.luxus-cart-panel{
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	width:88vw;
	max-width:380px;
	display:flex;
	flex-direction:column;
	background:#ffffff;
	box-shadow:-6px 0 24px rgba(0,0,0,.15);
	transform:translateX(105%);
	visibility:hidden;
	transition:transform .3s ease, visibility .3s;
	z-index:100001;
	outline:none;
}
.luxus-cart-open .luxus-cart-panel{
	transform:none;
	visibility:visible;
}
.luxus-cart-open,
.luxus-cart-open body{
	overflow:hidden;
}
.luxus-cart-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:18px 22px;
	border-bottom:1px solid #ececec;
	font-size:14px;
	font-weight:700;
	letter-spacing:2.8px;
	text-transform:uppercase;
	color:#000000;
}
.luxus-cart-close{
	background:none;
	border:0;
	font-size:28px;
	line-height:1;
	color:#222222;
	padding:0 4px;
	cursor:pointer;
}
.luxus-cart-body{
	flex:1;
	overflow-y:auto;
	padding:18px 22px;
}
.luxus-cart-panel .woocommerce-mini-cart{
	list-style:none;
	margin:0;
	padding:0;
}
.luxus-cart-panel .woocommerce-mini-cart-item{
	position:relative;
	display:block;
	min-height:80px;
	padding:0 26px 16px 86px;
	margin:0 0 16px;
	border-bottom:1px solid #f0f0f0;
	font-size:14px;
}
.luxus-cart-panel .woocommerce-mini-cart-item img{
	position:absolute;
	left:0;
	top:0;
	width:70px;
	height:70px;
	object-fit:contain;
	background:#ffffff;
}
.luxus-cart-panel .woocommerce-mini-cart-item a:not(.remove){
	display:block;
	color:#222222;
	font-weight:600;
	letter-spacing:1px;
	text-transform:uppercase;
	font-size:12px;
	line-height:1.5;
	word-break:break-word;
}
.luxus-cart-panel .woocommerce-mini-cart-item a:not(.remove):hover{
	color:var(--luxus-brown);
}
.luxus-cart-panel .woocommerce-mini-cart-item .remove{
	position:absolute;
	right:0;
	top:0;
	font-size:20px;
	line-height:1;
	color:#999999;
	text-decoration:none;
}
.luxus-cart-panel .woocommerce-mini-cart-item .remove:hover{
	color:var(--luxus-brown);
}
.luxus-cart-panel .quantity{
	display:block;
	margin-top:4px;
	color:#333333;
	font-size:13px;
}
.luxus-cart-panel .woocommerce-mini-cart__total{
	display:flex;
	justify-content:space-between;
	padding:12px 0;
	margin:0 0 14px;
	color:#222222;
	font-size:15px;
}
.luxus-cart-panel .woocommerce-mini-cart__buttons{
	display:flex;
	flex-direction:column;
	gap:10px;
	margin:0;
}
.luxus-cart-panel .woocommerce-mini-cart__buttons .button{
	display:block;
	width:100%;
	text-align:center;
	padding:14px;
	background:#000000;
	color:#ffffff;
	font-size:12px;
	font-weight:700;
	letter-spacing:2.4px;
	text-transform:uppercase;
	border-radius:0;
}
.luxus-cart-panel .woocommerce-mini-cart__buttons .button.checkout{
	background:var(--luxus-brown);
}
.luxus-cart-panel .woocommerce-mini-cart__buttons .button:hover{
	background:var(--luxus-brown-dark);
}
.luxus-cart-panel .woocommerce-mini-cart__empty-message{
	text-align:center;
	color:#444444;
	margin:30px 0;
}
/* "Warenkorb anzeigen" neben dem Button nicht anzeigen - der Seitenbereich oeffnet sich */
.single-product .summary .added_to_cart{
	display:none !important;
}
.single_add_to_cart_button{
	text-transform:uppercase !important;
	letter-spacing:2.8px !important;
}
.luxus-cart-panel .woocommerce-mini-cart-item .ct-media-container{
	position:absolute;
	left:0;
	top:0;
	width:70px;
	height:70px;
}
.luxus-cart-panel .woocommerce-mini-cart-item .ct-media-container img{
	position:static;
}

/* ===== Authentifizierungskurse (Liste4) ===== */
.luxus-meine-kurse { list-style: none; margin: 0; padding: 0; }
.luxus-meine-kurse li { display: flex; align-items: center; gap: 20px; padding: 16px 0; border-bottom: 1px solid #e5e5e5; }
.luxus-meine-kurse .luxus-kurs-bild img { width: 90px; height: auto; display: block; }
.luxus-meine-kurse li > div { flex: 1; }
.luxus-meine-kurse .luxus-kurs-titel { font-weight: 600; text-decoration: none; }
.luxus-kurs-fortschritt { height: 6px; background: #eee; margin: 8px 0 4px; max-width: 320px; }
.luxus-kurs-fortschritt span { display: block; height: 100%; background: var(--luxus-brown); }
.luxus-kurs-verzicht { margin-bottom: 1em; font-size: 0.9em; }
@media (max-width: 600px) { .luxus-meine-kurse li { flex-wrap: wrap; } }
