/*!
Theme Name:  Westwood2026
Author:      Westwood
Author URI:  https://westwood-outdoor.de
Description: New Theme for Westwood from 2026
Version:     1.1.0
License:     GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Template:    page-builder-framework
Text Domain: page-builder-framework-child
*/

:root{
	--space-s: 1rem;
	--space-m: 1.75rem;
	--space-l: 2.25rem;
}

hr{
	border:0;
	border-top: 1px solid #d9d9e0;
	margin: 1rem 0;
}

.page-title{
	margin-bottom: 0;
}

@media (max-width: 600px) {
	html, body{
		font-size:13px;
	}
	
	:root{
		--space-s: 0.5rem;
		--space-m: 1rem;
		--space-l: 1.5rem;
	}
}

@font-face {
    font-family: 'Shaimus';
    src: url('assets/fonts/Shaimus-Rough.otf') format('opentype'),
         url('assets/fonts/Shaimus-Rough.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Code';
    src: url('assets/fonts/fira-code-v27-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Code';
    src: url('assets/fonts/fira-code-v27-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/fira-sans-v18-latin-regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/fira-sans-v18-latin-italic.woff2') format('woff2');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Fira Sans';
    src: url('assets/fonts/fira-sans-v18-latin-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

.fl-photo img,
.fl-post-feed-image img,
.wp-block-image img,
.blocks-gallery-item img,
.fl-photo-content img{
	border-radius: 0.25rem;
}

/* Scrollbare Tabellen im Content */
.wp-block-table,
figure.wp-block-table {
    max-width: 100%;
    position: relative;
}
.wp-block-table::after,
figure.wp-block-table::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 80px;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.95));
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 1;
}
.wp-block-table.ww-scrolled-end::after,
figure.wp-block-table.ww-scrolled-end::after {
    opacity: 0;
}
.wp-block-table .ww-table-scroll,
figure.wp-block-table .ww-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.wp-block-table table,
figure.wp-block-table table {
    min-width: 600px;
    width: auto;
    table-layout: auto !important;
}

.fl-module-content .wp-block-table,
.fl-module-content figure.wp-block-table {
    --ww-table-bg: #ffffff;
    overflow: hidden;
    background: #ffffff;
}

/* Button */
.fl-builder-content .fl-button:is(a, button), .fl-builder-content a.fl-button:visited,
.wp-block-buttons .wp-block-button__link,
.wpbf-button, input[type=submit],
.woocommerce a.button, .woocommerce button.button,
.fl-post-feed-more,
.fl-post-grid-more{
	border: 0;
	border-radius: 0.25rem;
	background-color: var(--accent-color);
	color: var(--base-color) !important;
	transition: background 0.25s ease-in-out;
	padding: 1rem 1.5rem;
	font-size: 1rem !important;
	font-weight: 600 !important;
}

.fl-builder-content .fl-button:is(a, button) span, .fl-builder-content a.fl-button:visited span{
	color: var(--base-color);
}

.fl-builder-content .fl-button:is(a, button):hover, .fl-builder-content a.fl-button:visited:hover,
.wp-block-buttons .wp-block-button__link:hover,
.wpbf-button:hover, input[type=submit]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover,
.fl-post-feed-more:hover,
.fl-post-grid-more:hover{
	background-color: var(--accent-color-alt);
}

.woocommerce a.button.alt, .woocommerce button.button.alt{
	width: 100%;
	padding: 1.25rem;
}

.site-title a{
	font-family: 'Shaimus';
	font-weight: 500;
	font-size: 2rem;
}

.wpbf-navigation,
.wpbf-widget-footer,
.wpbf-page-footer{
	background: none;
}

.wpbf-inner-widget-footer{
	border-top: 1px solid #d9d9e0;
	border-bottom: 1px solid #d9d9e0;
}

.wpbf-page-footer .wpbf-menu a{
    padding: 10px 20px 10px 0;
	font-size: 14px;
}

.wpbf-page-footer .wpbf-menu li:last-child a{
	padding: 10px 0px 10px 0;
}

@media (max-width: 768px) {
	.wpbf-page-footer .wpbf-menu a,
	.wpbf-page-footer .wpbf-menu li:last-child a{
		padding: 4px 8px 4px 8px;
	}
}

body:not(.fl-builder) .wpbf-main{
	max-width: 1400px;
	margin: 0 auto;
	padding: 20px;
}

.gutentoc{
	margin:32px 0;
	padding:16px;
	background: var(--base-color);
	border-radius: 0.25rem;
}

.gutentoc-toc__list{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.gutentoc-toc__list li{
	border-bottom: 1px solid #d9d9e0;
	padding: 0.5rem 0;
	font-weight: 600;
}

.wp-block-paragraph a,
.wp-block-list a{
	font-weight:600;
	text-decoration: underline;
}

/* PhotoSwipe v5 – Zoom-Button ausblenden (Pinch-to-Zoom auf Touch bleibt aktiv) */
.pswp__button--zoom { display: none !important; }

.product button.single_add_to_cart_button{
	width: 100%;
}

/* ── WW Amazon Box ──────────────────────────────────────── */
.ww-amazon-box {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 16px;
    margin: 1.5em 0;
    background: #fff;
    font-family: inherit;
    box-sizing: border-box;
}
.ww-amazon-box__image-link {
    flex: 0 0 auto;
}
.ww-amazon-box__image {
    display: block;
    width: 140px;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
}
.ww-amazon-box__body {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.ww-amazon-box__title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
}
.ww-amazon-box__title a {
    color: inherit;
    text-decoration: none;
}
.ww-amazon-box__title a:hover {
    text-decoration: underline;
}
.ww-amazon-box__price {
    margin: 0;
    font-size: 1.15rem;
    font-weight: 700;
    color: #b12704;
}
.ww-amazon-box__button {
    display: inline-block;
    padding: 8px 16px;
    background: #ff9900;
    color: #111 !important;
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    border-radius: 4px;
    align-self: flex-start;
    transition: background 0.15s;
}
.ww-amazon-box__button:hover {
    background: #e68a00;
}
.ww-amazon-box__features {
    margin: 0;
    padding-left: 18px;
    font-size: 0.88rem;
    line-height: 1.5;
    color: #444;
}
.ww-amazon-box__features li {
    margin-bottom: 4px;
}
.ww-amazon-box__disclaimer {
    margin: 0;
    font-size: 0.75rem;
    color: #888;
}
.ww-amazon-box--unavailable {
    opacity: 0.65;
    filter: grayscale(40%);
}
.ww-amazon-box--unavailable .ww-amazon-box__price {
    display: none;
}
@media (max-width: 480px) {
    .ww-amazon-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .ww-amazon-box__image {
        width: 100%;
        max-width: 200px;
    }
    .ww-amazon-box__button {
        align-self: center;
    }
}

.ww-amz-img {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.ww-amazon-box__button{
	background: var(--accent-color) !important;
	color: var(--base-color) !important;
}

.ww-amazon-box__button:hover{
	background: var(--accent-color-alt) !important;
}

/* Einzelproduktseite: WooCommerce-Galerie steuert Höhe selbst */
.woocommerce-product-gallery .ww-amz-img {
    aspect-ratio: unset;
    width: 100%;
}

/* Warenkorb */
.woocommerce-message{
	border-color: var(--accent-color-alt);
}

.woocommerce-message::before{
	color: var(--accent-color-alt);
}

table th, .wpbf-table th {
    text-align: left;
    background: transparent;
}

.woocommerce-cart table.cart td.actions, .woocommerce-checkout table.cart td.actions, #add_payment_method table.cart td.actions{
	display: none;
}

.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout .cart-collaterals .cart_totals h2, #add_payment_method .cart-collaterals .cart_totals h2{
	background: transparent;
}

table, .wpbf-table,
.woocommerce-cart .cart-collaterals .cart_totals h2, .woocommerce-checkout .cart-collaterals .cart_totals h2, #add_payment_method .cart-collaterals .cart_totals h2{
	border: 1px solid #d9d9e0;
}

.woocommerce table.shop_table tbody:first-child tr th, .woocommerce table.shop_table tbody:first-child tr td {
    border-bottom: 1px solid #d9d9e0;
}

.fl-woocommerce-cart,
.woocommerce-checkout main .woocommerce{
	padding: 2.5rem 2rem 2.5rem 2rem !important;
	border-radius: 0.25rem;
	background-color: var(--base-color);
	margin: 0 20px;
}

.woocommerce table.shop_table tr{
	border-bottom: 1px solid #d9d9e0;
}

.woocommerce-cart table.cart img, .woocommerce-checkout table.cart img, #add_payment_method table.cart img{
	width: 128px;
}

.woocommerce .cart-subtotal td,
.woocommerce .order-total td{
	text-align: right;
}

.woocommerce-checkout-review-order{
	margin-bottom:1rem;
}

textarea,select,input[type=text],input[type=password],input[type=email],input[type=url],input[type=search],input[type=tel],input[type=number],input[type=datetime] {
    -webkit-appearance: none;
    border: 1px solid #d9d9e0;
    background: #fff;
    outline: none;
    width: 100%;
    padding: 13px 15px;
    line-height: 1
}

.woocommerce-checkout .shop_table{
	background: transparent !important; 
}

.woocommerce-checkout main .woocommerce{
	margin: 0;
}

.woocommerce-checkout main .entry-content,
.woocommerce-checkout main .woocommerce{
    height: 100%;
}

body:has(.woocommerce-checkout) .wpbf-widget-footer{
	display: none;
}

body.woocommerce-checkout {
    overflow-x: hidden;
}

table.woocommerce-checkout-review-order-table tr.wc-gzd-cart-item-has-thumbnail .wc-gzd-cart-item-name-wrapper .wc-gzd-cart-item-thumbnail{
	min-width: 128px;
}

/* Produkt Singlepage Digitale Produkte */
#inner-content{
	padding: 0 !important;
}

.wpbf-woo-product-wrapper{
	display:grid;
	align-content: start;
}

.product p.wc-gzd-additional-info{
	order:4;
	font-size:0.75rem !important;
	align-self: end;
}

.wpbf-woo-loop-thumbnail-wrapper img{
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.woocommerce ul.products li.product h3, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product .woocommerce-loop-category__title{
	font-size: 1.5rem;
}

.woocommerce span.onsale{
	font-size:0.75rem;
	width:60px;
	line-height:60px;
	height:60px;
}

.woocommerce-tabs{
	max-width: 920px;
	margin: 0 auto;
	padding-top: 5vh;
}

#ship-to-different-address, #order_review_heading, .woocommerce-billing-fields h3{
	font-size: 24px;
    border-bottom: 1px solid #d9d9e0;
}

#order_review_heading{
	float: none;
	width: 100%;
	margin-top:3rem;
}

.woocommerce form .form-row.woocommerce-validated .select2-container, .woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce form .form-row.woocommerce-validated select{
	border-color: #d9d9e0;
}

.wpbf-woo-product-wrapper{
	background: var(--base-color);
	border-radius: 0.25rem;
	height: 100%;
}

.wpbf-woo-loop-summary,
.product_list_widget .wc-gzd-additional-info, .products .wc-gzd-additional-info{
	padding: 1rem !important;
	margin: 0 !important;
}

.wpbf-woo-product-wrapper:before{
	display: none;
}

.woocommerce-result-count{
	display: none;
}

.woocommerce div.product span.price ins, .woocommerce div.product p.price ins,
.woocommerce ul.products li.product .price ins{
	color: var(--accent-color-alt);
	font-weight: 600;
}

.woocommerce ul.products li.product .onsale, .woocommerce span.onsale{
	font-weight: 600;
}

.related.products{
	display:none;
}

.ww-sales-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 1rem;
	font-weight: 600;
    color: var(--accent-color);
    margin: 0.5rem 0 0;
	flex-wrap: wrap;
}

.ww-sales-badge span:not(.ww-sales-badge__sep)::before {
    content: "✓ ";
    font-weight: 700;
}

.woocommerce div.product .woocommerce-tabs ul.tabs{
	display:none;
}

/* Ausruestung Archiv */
.fl-post-grid-post{
	border: 0;
	border-radius: 0.25rem;
}

.fl-post-more-link{
	position: absolute;
	bottom: var(--space-m);
	margin-right: 20px;
}

.fl-post-more-link a:not(.fl-button){
	display: block;
	margin-top: 0.5rem;
}

a.fl-button sup{
	color: var(--base-color) !important;
	margin-left:10px;
}

.product_cat-outdoor-ausruestung .product p.wc-gzd-additional-info{
	display: none;
}

.fl-post-column .fl-post-grid-post{
	border-radius: 0.25rem;
	overflow: hidden;
	padding-bottom: 75px;
	position: relative;
}

.fl-post-column .fl-post-grid-post.category-lagerfeuer-rezepte img{
	aspect-ratio: 16 / 9;
}

.fl-post-column .fl-post-grid-post.category-lagerfeuer-rezepte h3{
	font-size: 1.75rem;
	line-height: 1.2;
}

@media screen and (max-width: 768px) {
	.fl-post-column {
		padding-bottom: 16px !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.fl-post-grid {
		margin-left: -8px !important;
		margin-right: -8px !important;
	}
}

/* TOC / Gutentoc */

.gutentoc-toc-wrap .toggletwo{
	display:none;
}

.gutentoc-toc-title{
	font-family: "Shaimus", sans-serif;
	font-size: 1.5rem;
}

blockquote{
	margin-left: 0 !important;
	border-left: 3px solid var(--accent-color);
}

.comment {
	border: 0;
    padding: 0;
    border-bottom: 1px solid #d9d9e0;
    margin-bottom: 2rem;
}

.comment .comment{
	border:0;
}

/* Blog Archiv */
.fl-post-feed-post {
	margin-bottom: 2rem !important;
	padding-bottom: 2rem;
	border-bottom: 1px solid #d9d9e0 !important;
}

.fl-post-feed-post:last-child {
	border-bottom: none !important;
}

.fl-post-feed-post.fl-post-feed-image-beside, .fl-post-feed-post.fl-post-feed-image-beside-content, .fl-post-feed-post.fl-post-feed-image-beside-right, .fl-post-feed-post.fl-post-feed-image-beside-content-right{
	max-width: 100%;
}


/* Blog Single */

.fl-post-info-terms a{
	border: 0;
	border-radius: 0.25rem;
	background-color: var(--accent-color);
	color: var(--base-color) !important;
	transition: background 0.25s ease-in-out;
	padding: 0.5rem 1rem;
	font-size: 1rem !important;
	font-weight: 600 !important;
}

.fl-post-info-terms a:hover{
	background-color: var(--accent-color-alt);
}

.single-post .fl-builder-content p,
.single-post .fl-builder-content ul:not(.gutentoc-toc__list) li,
.single-post .fl-builder-content ol:not(.gutentoc-toc__list) li,
.single-post .fl-builder-content td,
.single-post .fl-builder-content th,
.single-post .fl-builder-content .ww-product-card .ww-pc__desc,
.single-product #content p:not(.price),
.single-product #content li,
.fl-accordion p,
.fl-testimonial p,
.wpbf-kasse label,
.wpbf-kasse p{
    font-family: 'Fira Sans', sans-serif !important;
}

.single-post .fl-builder-content blockquote p{
    font-family: 'Fira Code', sans-serif !important;
	font-style: normal;
}


/* Warenkorb: Entfernen-Button */
.woocommerce a.remove {
    font-size: 2rem;
    color: var(--accent-color-alt) !important;
    line-height: 1;
}

.woocommerce a.remove:hover {
    color: var(--base-color) !important;
    background-color: var(--accent-color-alt) !important;
}

/* Checkout + Warenkorb: Beträge rechtsbündig */
.woocommerce-checkout-review-order-table td,
.woocommerce-checkout-review-order-table .woocommerce-Price-amount,
.cart_totals table td,
.cart_totals table .woocommerce-Price-amount {
    text-align: right;
}

.woocommerce-cart table.cart .product-quantity,
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-checkout table.cart .product-quantity,
.woocommerce-checkout table.cart th.product-quantity {
	display: none !important;
}

/* Checkout: Gesamtsumme hervorheben */
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    border-top: 2px solid var(--accent-color-alt);
    padding-top: 0.75rem;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td .woocommerce-Price-amount,
.cart_totals table .order-total th,
.cart_totals table .order-total td .woocommerce-Price-amount {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--accent-color-alt);
}

/* Checkout + Warenkorb: "Du sparst"-Zeile */
.ww-savings-row th,
.ww-savings-row td {
    color: var(--accent-color);
    font-weight: 600;
}

/* Original WooCommerce Coupon-Toggle komplett ausblenden */
.woocommerce-form-coupon-toggle,
.woocommerce-form-coupon { display: none !important; }

/* Gutschein-Box in die rechte Spalte floaten (gleiche Werte wie #order_review_heading) */
.ww-coupon-box {
    float: right;
    width: 42%;
    margin-bottom: var(--space-m);
    padding-bottom: var(--space-m);
    border-bottom: 1px solid #d9d9e0;
}

/* Menge (×1) im Checkout-Review ausblenden */
.woocommerce-checkout-review-order-table .product-quantity {
    display: none !important;
}

@media screen and (max-width: 768px) {
    /* Checkout: gesamtes Layout auf Single-Column */
    .woocommerce-checkout form.checkout,
    .woocommerce-checkout .col2-set,
    .woocommerce-checkout .col2-set .col-1,
    .woocommerce-checkout .col2-set .col-2,
    .ww-coupon-box,
    .woocommerce-checkout-review-order,
    #order_review_heading {
        float: none !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Kein horizontales Überlaufen */
    .woocommerce-checkout main .woocommerce {
        padding: 1rem !important;
        margin: 0 !important;
        overflow-x: hidden !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-checkout-review-order-table,
    .cart_totals table {
        width: 100% !important;
        table-layout: fixed !important;
    }

    /* Tabellenzellen umbrechen */
    .woocommerce-checkout-review-order-table td,
    .woocommerce-checkout-review-order-table th,
    .cart_totals table td,
    .cart_totals table th {
        word-break: break-word !important;
        white-space: normal !important;
        overflow: hidden !important;
    }

    /* Inputs box-sizing damit padding nicht überläuft */
    .woocommerce-checkout input,
    .woocommerce-checkout select,
    .woocommerce-checkout textarea,
    .ww-coupon-fields,
    .ww-coupon-fields .input-text,
    #ww-coupon-btn {
        box-sizing: border-box !important;
        max-width: 100% !important;
    }
}

#ww-coupon-msg {
    margin-top: 0.5rem;
    font-size: 0.9rem;
}

#ww-coupon-msg .woocommerce-error,
#ww-coupon-msg .woocommerce-message,
#ww-coupon-msg .woocommerce-info {
    margin: 0;
    padding: 0.5rem 0.75rem;
    list-style: none;
    border-radius: 0.25rem;
    border-top: none;
    display: block;
}

#ww-coupon-msg .woocommerce-error::before,
#ww-coupon-msg .woocommerce-message::before,
#ww-coupon-msg .woocommerce-info::before {
    display: none;
}

.ww-coupon-heading {
    font-size: 24px;
    border-bottom: 1px solid #d9d9e0;
    margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
}

.ww-coupon-fields {
    display: flex;
    gap: 0.5rem;
}

.ww-coupon-fields .input-text {
    flex: 1;
    width: auto;
	min-width: 180px;
}

#billing_address_1_field .required,
#billing_postcode_field .required,
#billing_city_field .required {
    display: none;
}

.woocommerce-billing-fields__field-wrapper{
	margin-bottom: 2rem;
}

.woocommerce-product-gallery__wrapper{
	border-radius: 0.25rem;
	overflow: hidden;
}

.woocommerce-products-header{
	margin-bottom: 50px;
}


/* WP Recipe Maker */
.fl-module-content:has(.wprm-recipe) .wp-block-spacer{
	display:none;
}

/* ── WordPress Galerie ────────────────────────────────────────────────────── */
.gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1rem !important;
    margin: 1.5rem 0 !important;
}

.gallery::before {
    display: none !important;
}

.gallery-item {
    margin: 0 !important;
    padding: 0 !important;
    width: auto !important;
    float: none !important;
}

.gallery-item img {
    width: 100% !important;
    height: 280px !important;
    object-fit: cover !important;
    border-radius: 0.25rem !important;
    display: block !important;
    border: none !important;
}

.gallery-item img:hover {
    opacity: 0.9;
}

.gallery-caption {
    display: none;
}

@media (max-width: 600px) {
    .gallery {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    .gallery-item img {
        height: 150px !important;
    }
}

.wpbf-navigation{
	transition: background 0.25s ease-in-out;
}

.wpbf-navigation:not(.wpbf-navigation-active) .wpbf-mobile-nav-wrapper{
	background: transparent;
}

.wpbf-navigation:has(.wpbf-mobile-menu-container.active){
	background: #ffffff;
}

.home .wpbf-navigation:not(.wpbf-navigation-active) .wpbf-mobile-nav-wrapper{
	background: #ffffff;
}

.ww-pc__coupon{
    padding: 0.75rem 1.5rem;
}

/* WW Product Card */
.ww-product-card {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    background: #fff;
    border-radius: 0.25rem;
    overflow: hidden;
    padding: 1.5rem;
    box-sizing: border-box;
    margin: 1.5rem 0;
}

.ww-pc__image {
    flex: 0 0 220px;
    display: flex;
    align-items: flex-start;
}

.ww-pc__img {
    width: 100%;
    height: auto;
    border-radius: 0.25rem;
    display: block;
    object-fit: cover;
}

.ww-pc__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.ww-pc__title {
    font-family: "Shaimus", sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0;
    line-height: 1.2;
}

.ww-pc__title a {
    color: inherit;
    text-decoration: none;
}

.ww-pc__title a:hover {
    color: var(--accent-color, #5e5e40);
}

.ww-pc__desc {
    font-size: 0.95rem;
    line-height: 1.6;
    color: inherit;
    margin: 0;
}

.ww-pc__desc p {
    margin: 0 0 0.5rem;
}

.ww-pc__price {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ww-pc__price-regular {
    text-decoration: line-through;
    color: #999;
    font-size: 1rem;
}

.ww-pc__price-sale {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--accent-color-alt, #c17f24);
}

.ww-pc__price-sale .woocommerce-Price-currencySymbol {
    font-size: 1rem;
}

.ww-pc__tax-info {
    font-size: 0.75rem;
    color: #888;
    margin: 0;
}

.ww-pc__action {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.ww-pc__coupon {
    display: inline-block;
    background: #fff;
    border: 1px solid #d9d9e0;
    border-radius: 0.25rem;
    padding: 0.4rem 0.85rem;
    font-size: 0.9rem;
    color: var(--brand-color, #5e5e40);
}

.ww-pc__coupon-code {
    letter-spacing: 0.05em;
    font-size: 1rem;
    color: var(--brand-color, #5e5e40);
}

.ww-pc__btn.button {
    display: inline-block;
    background: var(--accent-color, #5e5e40);
    color: #fff !important;
    border: 0;
    border-radius: 0.25rem;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.ww-pc__btn.button:hover {
    background: var(--accent-color-alt, #c17f24);
    color: #fff !important;
}

/* Editor-Vorschau */
.ww-product-card-editor-preview {
    padding: 1rem;
    background: #f5f5f5;
    border: 2px dashed #ccc;
    border-radius: 0.25rem;
    font-family: sans-serif;
}

/* Responsive */
@media (max-width: 600px) {
    .ww-product-card {
        flex-direction: column;
        padding: 1rem;
        gap: 1rem;
    }

    .ww-pc__image {
        flex: 0 0 auto;
    }

    .ww-pc__img {
        max-height: 250px;
        object-fit: contain;
    }

    .ww-pc__btn.button {
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}


/* Sticky Add-to-Cart Bar */
.ww-sticky-atc {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
    border-top: 1px solid #d9d9e0;
    box-shadow: 0 -2px 12px rgba(0,0,0,.08);
    transform: translateY(100%);
    transition: transform 0.25s ease;
    padding: 0.75rem 1rem;
}
.ww-sticky-atc--visible {
    transform: translateY(0);
}
.ww-sticky-atc__inner {
    max-width: 920px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.ww-sticky-atc__info {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}
.ww-sticky-atc__title {
    font-family: "Shaimus", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    color: #1d1d1b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ww-sticky-atc__price ins{
    font-size: 0.9rem;
    color: var(--accent-color-alt);
    font-weight: 600;
}
.ww-sticky-atc__form {
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
}
.ww-sticky-atc__btn {
    background: var(--accent-color) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0.25rem !important;
    padding: 0.65rem 1.5rem !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease;
}
.ww-sticky-atc__btn:hover {
    background: var(--accent-color-alt) !important;
}
@media (max-width: 600px) {
    .ww-sticky-atc {
        padding: 1rem 1rem 1.25rem 1rem;
    }
    .ww-sticky-atc__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }
    .ww-sticky-atc__title {
        font-size: 1.05rem;
    }
    .ww-sticky-atc__price {
        font-size: 1rem;
    }
    .ww-sticky-atc__btn {
        width: 100%;
        text-align: center;
        padding: 0.9rem 1.5rem !important;
        font-size: 1.05rem !important;
    }
}

@media (min-width: 1025px) {
    .wpbf-grid-large-1-4>* {
        width: 33.33%;
    }
}