/*
Theme Name: Lyra Shade Shop
Theme URI: https://lyra-shade.de
Description: Erweiterung des Themes Lyra Shade um den Shop. Bringt WooCommerce – Produktseiten, Warenkorb und Kasse – in den dunklen Look der Seite und übernimmt beim Wechsel alle bisherigen Einstellungen aus dem Hauptthema.
Author: für Lyra Shade gebaut
Template: lyra-shade
Version: 1.0.3
License: GNU General Public License v2 or later
Text Domain: lyra-shade-shop
*/

/* ──────────────────────────────────────────────
   Shop-Rahmen
   ────────────────────────────────────────────── */
.shop-wrap{max-width:1200px;margin:0 auto;padding:72px 28px 96px}
main > .shop-wrap{padding-left:0;padding-right:0}

.woocommerce-products-header{margin-bottom:38px}
.woocommerce-products-header__title,
.shop-wrap h1.product_title,
.shop-wrap .woocommerce-loop-product__title{
	font-family:var(--serif);font-weight:300;letter-spacing:-.01em;color:#fff
}
.woocommerce-products-header__title{font-size:clamp(36px,6vw,64px);line-height:1.05}
.term-description,.woocommerce-result-count{color:var(--muted);font-size:14px}

.woocommerce-breadcrumb{
	font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:26px
}
.woocommerce-breadcrumb a{color:var(--lilac2);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:#fff}

/* ──────────────────────────────────────────────
   Produktraster
   ────────────────────────────────────────────── */
.shop-wrap ul.products{
	display:grid;grid-template-columns:repeat(3,1fr);gap:38px 32px;list-style:none;margin:0;padding:0
}
.shop-wrap ul.products::before,.shop-wrap ul.products::after{display:none}
.shop-wrap ul.products li.product{width:auto!important;margin:0!important;float:none!important;text-align:left;position:relative}
.shop-wrap ul.products li.product a img{
	width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;margin:0;border-radius:4px;
	border:1px solid var(--line);background:linear-gradient(160deg,#1d0733,#07030d 48%,#2b0a1e);
	box-shadow:0 22px 56px rgba(0,0,0,.6);transition:.45s
}
.shop-wrap ul.products li.product:hover a img{
	transform:translateY(-6px);border-color:rgba(160,110,215,.5);box-shadow:0 30px 70px rgba(80,15,180,.4)
}
.shop-wrap ul.products li.product .woocommerce-loop-product__title{
	font-size:23px;margin:20px 0 6px;padding:0
}
.shop-wrap ul.products li.product a{text-decoration:none;color:inherit}

.shop-wrap .price,.shop-wrap .woocommerce-Price-amount{
	color:var(--rose);font-size:17px;font-family:var(--sans);font-weight:300;letter-spacing:.02em
}
.shop-wrap .price del{color:var(--muted);opacity:.7;margin-right:8px}
.shop-wrap .price ins{text-decoration:none;color:var(--rose)}

/* Etiketten */
.shop-wrap span.onsale,.shop-wrap .wc-block-components-product-sale-badge{
	position:absolute;top:14px;left:14px;z-index:3;margin:0;min-height:0;min-width:0;line-height:1;
	background:var(--lilac);color:#12061f;border-radius:100px;padding:7px 15px;
	font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:500
}
.shop-wrap .out-of-stock,.shop-wrap .stock.out-of-stock{color:var(--rose2)}
.shop-wrap .stock.in-stock{color:#8fd6a8;font-size:13px}

/* ──────────────────────────────────────────────
   Buttons – wie die Buttons der Seite
   ────────────────────────────────────────────── */
.shop-wrap .button,
.shop-wrap button.button,
.shop-wrap input.button,
.shop-wrap a.button,
.shop-wrap .wc-block-components-button,
.woocommerce-message .button,
.woocommerce-info .button{
	display:inline-flex;align-items:center;gap:10px;
	background:linear-gradient(135deg,#a259e8,#3f1178)!important;color:#120a19!important;
	padding:14px 30px;border-radius:100px;border:0;text-decoration:none;
	font-family:var(--sans);font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
	line-height:1.2;cursor:pointer;transition:.35s;box-shadow:0 10px 30px rgba(120,35,210,.4)
}
.shop-wrap .button:hover,.shop-wrap button.button:hover,.shop-wrap a.button:hover,
.shop-wrap input.button:hover,.woocommerce-message .button:hover{
	transform:translateY(-2px);box-shadow:0 18px 44px rgba(120,35,210,.6);color:#120a19!important
}
.shop-wrap .button.alt{background:linear-gradient(135deg,#a259e8,#3f1178)!important}
.shop-wrap ul.products li.product .button{margin-top:14px;padding:11px 24px;font-size:11px}
.shop-wrap .added_to_cart{
	display:inline-block;margin-left:12px;color:var(--lilac2);font-size:11.5px;
	letter-spacing:.14em;text-transform:uppercase;text-decoration:none
}
.shop-wrap .button:disabled,.shop-wrap .button.disabled{opacity:.45;box-shadow:none;transform:none}

/* ──────────────────────────────────────────────
   Einzelnes Produkt
   ────────────────────────────────────────────── */
.shop-wrap div.product{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}
.shop-wrap div.product .woocommerce-product-gallery{width:auto!important;float:none!important;margin:0!important;position:relative}
.shop-wrap div.product .woocommerce-product-gallery__image img{
	border-radius:4px;border:1px solid var(--line);
	filter:drop-shadow(0 30px 60px rgba(0,0,0,.7))
}
.shop-wrap div.product .summary{width:auto!important;float:none!important;margin:0!important}
.shop-wrap div.product h1.product_title{font-size:clamp(32px,4.4vw,50px);line-height:1.1;margin-bottom:16px}
.shop-wrap div.product .summary .price{font-size:26px;display:block;margin-bottom:22px}
.shop-wrap .woocommerce-product-details__short-description{color:#ddd2ea;font-size:16px;line-height:1.75}
.shop-wrap .woocommerce-product-details__short-description p{margin-bottom:16px}
.shop-wrap .product_meta{
	margin-top:30px;padding-top:22px;border-top:1px solid rgba(160,110,215,.14);
	font-size:12px;letter-spacing:.1em;color:var(--muted)
}
.shop-wrap .product_meta a{color:var(--lilac2);text-decoration:none}
.shop-wrap .product_meta > span{display:block;margin-bottom:7px}

/* Mengenfeld */
.shop-wrap .quantity{display:inline-flex;margin-right:14px;vertical-align:middle}
.shop-wrap .quantity input.qty{
	width:76px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:4px;
	color:#fff;font-family:var(--sans);font-size:15px;padding:13px 10px;text-align:center
}
.shop-wrap form.cart{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:26px 0}

/* Reiter und Bewertungen */
.shop-wrap .woocommerce-tabs{grid-column:1/-1;margin-top:70px}
.shop-wrap .woocommerce-tabs ul.tabs{
	list-style:none;display:flex;gap:30px;padding:0 0 14px;margin:0 0 32px;
	border-bottom:1px solid rgba(160,110,215,.16)
}
.shop-wrap .woocommerce-tabs ul.tabs::before,.shop-wrap .woocommerce-tabs ul.tabs li::before,
.shop-wrap .woocommerce-tabs ul.tabs li::after{display:none!important}
.shop-wrap .woocommerce-tabs ul.tabs li{background:none!important;border:0!important;padding:0!important;margin:0!important;border-radius:0}
.shop-wrap .woocommerce-tabs ul.tabs li a{
	color:var(--muted)!important;font-size:12px;letter-spacing:.18em;text-transform:uppercase;
	text-decoration:none;padding:0 0 6px;display:block;border-bottom:1px solid transparent;transition:.3s
}
.shop-wrap .woocommerce-tabs ul.tabs li.active a,.shop-wrap .woocommerce-tabs ul.tabs li a:hover{
	color:#fff!important;border-bottom-color:var(--lilac)
}
.shop-wrap .woocommerce-tabs .panel h2{font-family:var(--serif);font-weight:300;font-size:30px;margin-bottom:18px}
.shop-wrap .woocommerce-tabs .panel{color:#ddd2ea}
.shop-wrap .related.products,.shop-wrap .upsells.products{grid-column:1/-1;margin-top:80px}
.shop-wrap .related > h2,.shop-wrap .upsells > h2,.shop-wrap .cross-sells > h2{
	font-family:var(--serif);font-weight:300;font-size:34px;margin-bottom:28px;color:#fff
}
.shop-wrap .star-rating span{color:var(--rose)}
.shop-wrap #reviews .comment_container{
	border:1px solid var(--line);border-radius:5px;padding:22px;background:rgba(255,255,255,.03)
}

/* ──────────────────────────────────────────────
   Warenkorb und Kasse
   ────────────────────────────────────────────── */
.shop-wrap table.shop_table,.shop-wrap table.cart,.shop-wrap table.woocommerce-checkout-review-order-table{
	width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:5px;overflow:hidden;
	background:rgba(255,255,255,.025)
}
.shop-wrap table.shop_table th{
	background:rgba(162,89,232,.12);color:var(--lilac2);font-weight:400;
	font-size:11px;letter-spacing:.2em;text-transform:uppercase;padding:16px 18px;text-align:left
}
.shop-wrap table.shop_table td{padding:18px;border-top:1px solid rgba(160,110,215,.12);color:#ddd2ea;font-size:15px}
.shop-wrap table.shop_table img{width:62px;height:auto;border-radius:3px;border:1px solid var(--line)}
.shop-wrap table.shop_table a{color:#fff;text-decoration:none}
.shop-wrap table.shop_table a:hover{color:var(--lilac2)}
.shop-wrap .cart_totals h2,.shop-wrap #order_review_heading,.shop-wrap .woocommerce-billing-fields h3,
.shop-wrap .woocommerce-shipping-fields h3,.shop-wrap .woocommerce-additional-fields h3{
	font-family:var(--serif);font-weight:300;font-size:28px;margin:0 0 20px;color:#fff
}
.shop-wrap .cart-collaterals{margin-top:50px;display:flex;justify-content:flex-end}
.shop-wrap .cart_totals{width:100%;max-width:460px}
.shop-wrap .remove{
	color:var(--rose2)!important;font-size:20px;text-decoration:none;display:inline-block;line-height:1
}
.shop-wrap .remove:hover{color:var(--rose)!important;background:none!important}

/* Formularfelder */
.shop-wrap .form-row{margin-bottom:18px}
.shop-wrap label{
	font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);
	display:block;margin-bottom:8px
}
.shop-wrap input[type=text],.shop-wrap input[type=email],.shop-wrap input[type=tel],
.shop-wrap input[type=password],.shop-wrap input[type=number],.shop-wrap input[type=search],
.shop-wrap textarea,.shop-wrap select,.shop-wrap .select2-container--default .select2-selection--single{
	width:100%;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:4px;
	padding:14px 16px;color:#fff;font-family:var(--sans);font-size:15px;font-weight:300;
	height:auto;transition:.3s
}
.shop-wrap input:focus,.shop-wrap textarea:focus,.shop-wrap select:focus{
	outline:none;border-color:var(--lilac);background:rgba(162,89,232,.09);
	box-shadow:0 0 0 4px rgba(162,89,232,.1)
}
.shop-wrap .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff;line-height:1.6;padding:0}
.select2-dropdown{background:#0e0913;border:1px solid var(--line);color:#fff}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--deep)}
.shop-wrap .required{color:var(--rose2);text-decoration:none}

/* Hinweise */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,
.shop-wrap .wc-block-components-notice-banner{
	background:rgba(162,89,232,.12)!important;border:1px solid var(--line)!important;border-top:0!important;
	border-left:2px solid var(--lilac)!important;border-radius:4px;color:#f2ecf9!important;
	padding:18px 22px!important;margin:0 0 26px!important;font-size:15px;list-style:none;display:flex;
	align-items:center;gap:14px;flex-wrap:wrap
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{display:none!important}
.woocommerce-error{background:rgba(122,18,51,.3)!important;border-left-color:var(--rose2)!important}
.woocommerce-error li{list-style:none}

/* Konto und Bestellübersicht */
.shop-wrap .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;display:grid;gap:4px}
.shop-wrap .woocommerce-MyAccount-navigation a{
	display:block;padding:12px 16px;border:1px solid transparent;border-radius:4px;
	color:var(--muted);text-decoration:none;font-size:14px;transition:.3s
}
.shop-wrap .woocommerce-MyAccount-navigation a:hover,
.shop-wrap .woocommerce-MyAccount-navigation .is-active a{
	color:#fff;border-color:var(--line);background:rgba(162,89,232,.1)
}
.shop-wrap .woocommerce-order-overview,.shop-wrap .woocommerce-customer-details{list-style:none;padding:0}
.shop-wrap .woocommerce-customer-details address{
	border:1px solid var(--line);border-radius:5px;padding:20px;color:#ddd2ea;font-style:normal
}

/* ──────────────────────────────────────────────
   Germanized – Pflichtangaben lesbar halten
   ────────────────────────────────────────────── */
.shop-wrap .wc-gzd-additional-info,
.shop-wrap .wc-gzd-additional-info-loop,
.shop-wrap .product_unit_price,
.shop-wrap .wc-gzd-item-desc,
.shop-wrap .woocommerce-shipping-destination,
.shop-wrap .includes_tax,
.shop-wrap small.tax_label,
.shop-wrap .price small{
	color:var(--muted)!important;font-size:12.5px!important;line-height:1.6;display:block;margin-top:6px
}
.shop-wrap .wc-gzd-additional-info a,.shop-wrap .woocommerce-terms-and-conditions-link,
.shop-wrap .wc-gzd-checkbox-placeholder a{color:var(--lilac2)}
.shop-wrap .wc-gzd-checkbox-placeholder,.shop-wrap .woocommerce-terms-and-conditions-wrapper{
	border:1px solid var(--line);border-radius:4px;padding:18px 20px;margin:22px 0;
	background:rgba(255,255,255,.03)
}
.shop-wrap .wc-gzd-checkbox-placeholder label,.shop-wrap .woocommerce-form__label-for-checkbox{
	text-transform:none;letter-spacing:.01em;font-size:13.5px;color:#d4c8e0;line-height:1.65;
	display:flex;gap:12px;align-items:flex-start
}
.shop-wrap input[type=checkbox],.shop-wrap input[type=radio]{
	accent-color:var(--lilac);width:17px;height:17px;flex:none;margin-top:2px
}
.shop-wrap .wc-gzd-order-submit{margin-top:24px}
.shop-wrap #place_order{width:100%;justify-content:center;font-size:13px;padding:18px 30px}

/* Zahlungsarten */
.shop-wrap ul.wc_payment_methods{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.shop-wrap ul.wc_payment_methods li{
	border:1px solid var(--line);border-radius:4px;padding:16px 20px;background:rgba(255,255,255,.03)
}
.shop-wrap ul.wc_payment_methods label{
	text-transform:none;letter-spacing:.01em;font-size:15px;color:#fff;margin:0;display:inline
}
.shop-wrap .payment_box{
	background:rgba(162,89,232,.08)!important;border-radius:4px;padding:14px 18px!important;
	margin-top:12px!important;color:#ddd2ea;font-size:13.5px
}
.shop-wrap .payment_box::before{display:none!important}

/* Download-Bereich für E-Books */
.shop-wrap .woocommerce-table--order-downloads td{font-size:14px}

/* Seitenleiste raus, Shop läuft über die volle Breite */
.shop-wrap .widget-area,.shop-wrap #secondary{display:none}

@media(max-width:960px){
	.shop-wrap ul.products{grid-template-columns:repeat(2,1fr);gap:26px 20px}
	.shop-wrap div.product{grid-template-columns:1fr;gap:38px}
	.shop-wrap{padding:52px 20px 70px}
	.shop-wrap table.shop_table th{display:none}
	.shop-wrap table.shop_table td{display:block;border-top:0;padding:10px 16px}
	.shop-wrap table.shop_table tr{display:block;border-top:1px solid rgba(160,110,215,.14);padding:12px 0}
	.shop-wrap .cart-collaterals{justify-content:stretch}
}
@media(max-width:560px){
	.shop-wrap ul.products{grid-template-columns:1fr}
}

/* ──────────────────────────────────────────────
   WooCommerce Blocks – Warenkorb und Kasse
   Die Blockvarianten bringen eigene helle Stile mit,
   die nichts vom dunklen Thema wissen.
   ────────────────────────────────────────────── */
.wp-block-woocommerce-checkout,
.wp-block-woocommerce-cart,
.wc-block-checkout,
.wc-block-cart{color:var(--cream)}

.wc-block-components-title,
.wc-block-components-checkout-step__title,
.wc-block-components-order-summary__title,
.wp-block-woocommerce-checkout h1,
.wp-block-woocommerce-cart h1{
	font-family:var(--serif)!important;font-weight:300!important;color:#fff!important;letter-spacing:.01em
}
.wc-block-components-checkout-step__description,
.wc-block-components-checkout-step__heading-content{color:var(--muted)!important}

/* Seitenspalte mit der Bestellübersicht */
.wc-block-components-sidebar .wc-block-components-panel,
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-components-order-summary,
.wc-block-components-totals-wrapper,
.wc-block-components-panel,
.wc-block-components-sidebar{
	background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015))!important;
	border-color:var(--line)!important;color:var(--cream)!important
}
.wc-block-components-sidebar{border:1px solid var(--line)!important;border-radius:5px}

.wc-block-components-order-summary-item__description,
.wc-block-components-product-name,
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item,
.wc-block-components-order-summary-item__total-price{
	color:var(--cream)!important
}
.wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item__description p{color:#c6b8d6!important;font-size:13.5px}
.wc-block-components-product-name{font-family:var(--serif);font-size:18px!important;line-height:1.3}

.wc-block-components-formatted-money-amount,
.wc-block-components-product-price,
.wc-block-formatted-money-amount{color:var(--rose)!important}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
	font-size:22px!important;color:#fff!important
}
.wc-block-components-totals-item{border-color:rgba(160,110,215,.14)!important}
.wc-block-components-panel__button,
.wc-block-components-panel__button *{color:var(--lilac2)!important}

/* Produktbild im Warenkorb */
.wc-block-components-order-summary-item__image img,
.wc-block-cart-item__image img{
	border:1px solid var(--line);border-radius:3px;background:#0c0714
}
.wc-block-components-order-summary-item__quantity span{
	background:var(--lilac)!important;color:#12061f!important;border-color:var(--lilac)!important
}

/* Eingabefelder */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container,
.wc-block-components-combobox-control input,
.wp-block-woocommerce-checkout input[type=text],
.wp-block-woocommerce-checkout input[type=email],
.wp-block-woocommerce-checkout input[type=tel],
.wc-block-components-address-form input{
	background:rgba(255,255,255,.05)!important;
	border:1px solid var(--line)!important;
	color:#fff!important;border-radius:4px!important
}
.wc-block-components-text-input label,
.wc-block-components-combobox-control label,
.wc-block-components-select__label,
.wc-block-components-checkout-step label{color:var(--muted)!important}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label{color:var(--lilac2)!important}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus{
	border-color:var(--lilac)!important;box-shadow:0 0 0 3px rgba(162,89,232,.18)!important;outline:none!important
}
.wc-block-components-select select,
.wc-block-components-country-input select,
.wc-block-components-state-input select{
	background:rgba(255,255,255,.05)!important;color:#fff!important;border:1px solid var(--line)!important
}
.wc-block-components-select select option{background:#0e0913;color:#fff}

/* Kästchen und Hinweise */
.wc-block-components-checkbox__label,
.wc-block-components-checkout-return-to-cart-button,
.wc-block-components-address-card{color:#d4c8e0!important}
.wc-block-components-address-card{border-color:var(--line)!important}
.wc-block-components-checkbox__input{accent-color:var(--lilac)}
.wc-block-components-notice-banner{
	background:rgba(162,89,232,.14)!important;border-color:var(--line)!important;color:#f2ecf9!important
}
.wc-block-components-notice-banner.is-error{background:rgba(122,18,51,.3)!important}

/* Bestellknopf */
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-button,
.wc-block-components-button:not(.is-link){
	background:linear-gradient(135deg,#a259e8,#3f1178)!important;
	color:#120a19!important;border:0!important;border-radius:100px!important;
	font-family:var(--sans)!important;letter-spacing:.14em!important;text-transform:uppercase!important;
	font-size:12.5px!important;font-weight:500!important;padding:16px 32px!important
}
.wc-block-components-button:not(.is-link):hover{transform:translateY(-2px)}
.wc-block-components-button.is-link{color:var(--lilac2)!important}

/* Trennlinien und Panels */
.wc-block-checkout__form .wc-block-components-checkout-step{border-color:rgba(160,110,215,.14)!important}
.wc-block-components-radio-control__option{border-color:var(--line)!important;color:var(--cream)!important}
.wc-block-components-radio-control__option-checked{background:rgba(162,89,232,.12)!important}

/* Express-Kasse abtrennen */
.wc-block-components-express-payment{
	border:1px solid var(--line)!important;border-radius:5px;padding:18px!important;
	background:rgba(255,255,255,.03)!important
}
.wc-block-components-express-payment__title-container,
.wc-block-components-express-payment-continue-rule{color:var(--muted)!important}
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after{border-color:var(--line)!important}

/* ──────────────────────────────────────────────
   Warenkorb in der Hauptnavigation
   ────────────────────────────────────────────── */
.menu-item-warenkorb a{display:inline-flex!important;align-items:center;gap:8px}
.ls-cart{position:relative;display:inline-flex;align-items:center;gap:8px}
.ls-cart svg{width:19px;height:19px;flex:none;stroke:currentColor;fill:none;stroke-width:1.3}
.ls-cart-count{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:19px;height:19px;padding:0 6px;border-radius:100px;
	background:var(--lilac);color:#12061f;
	font-size:10.5px;font-weight:500;letter-spacing:0;line-height:1
}
.ls-cart-count.leer{background:transparent;color:var(--muted);border:1px solid var(--line)}
@media(max-width:960px){
	.ls-cart{gap:10px}
}

/* Bestellübersicht: WooCommerce setzt hier ein helles Grau mit zwei Klassen */
.wc-block-components-order-summary,
.wc-block-components-order-summary.is-large,
.wc-block-components-order-summary.is-medium,
.wc-block-components-order-summary.is-small,
.wc-block-components-totals-wrapper,
.wc-block-components-panel.is-large{
	background:rgba(255,255,255,.045)!important;
	border-radius:4px;color:var(--cream)!important
}
.wc-block-components-order-summary__content{background:transparent!important}
