/*
Theme Name: The Linen Lounge
Theme URI: https://linen.eu
Description: Custom child theme for The Linen Lounge — premium European linen and home textiles. Replaces the legacy rankeffect child theme.
Author: The Linen Lounge
Author URI: https://linen.eu
Template: hello-elementor
Version: 1.0.0
Text Domain: linen-lounge
*/


/* =============================================================
 *  Custom Site CSS
 *  (übernommen aus Customizer → Zusätzliches CSS, 2026-04)
 *  Editierbare Variablen oben im :root-Block.
 * ============================================================= */

:root {
	/* Link colors */
	--color-link: #455644;
	--color-link-hover: #000;

	/* Spacing */
	--space-s: 0.25rem;
	--space-m: 0.75rem;
	--space-l: 1.25rem;
	--space-xl: 2.25rem;
	--space-xxl: 2.5rem;

	/* Image border radius */
	--radius-m: 0.75rem;

	/* Link transition */
	--transition-default: 0.2s ease-in-out;

	/* Typography */
	--font-weight-light: 300;
	--font-weight-regular: 400;
	--font-weight-medium: 500;
	--font-weight-bold: 700;
	--font-size-xs: .85rem;
	--font-size-p: 1.15rem;
	--mobile-font-size-p: 1.15rem;
	--font-size-m: 1.5rem;
	--mobile-font-size-m: 1.5rem;
	--font-size-l: 2rem;
	--mobile-font-size-l: 2rem;
	--line-height-body: 1.75em;
	--line-height-heading: 1.25em;
	--line-height-list: 1.2em;
}


/* ---- Product Content – Headings ---- */
.product-content h2,
.product-content h3,
.product-content h4,
.product-content h5,
.product-content h6 {
	padding-top: var(--space-xxl);
	padding-bottom: var(--space-s);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-heading);
}

.product-content h2 {
	font-size: var(--font-size-l);
}

.product-content h3,
.product-content h4,
.product-content h5,
.product-content h6 {
	font-size: var(--font-size-m);
}

/* ---- Product Content – Paragraphs ---- */
.product-content p {
	padding-bottom: var(--space-l);
	margin-bottom: 0;
	line-height: var(--line-height-body);
}

/* ---- Product Content – Links ---- */
.product-content p a {
	color: var(--color-link);
	font-weight: var(--font-weight-medium);
	text-decoration: underline;
	transition: color var(--transition-default);
}

.product-content p a:hover {
	color: var(--color-link-hover);
}

/* ---- Product Content – Lists ---- */
.product-content ul,
.product-content ol {
	font-size: var(--font-size-p);
	font-weight: var(--font-weight-medium);
	padding-bottom: var(--space-xl);
}

.product-content ul li {
	line-height: var(--line-height-list);
	margin-bottom: var(--space-l);
}

.c-product-meta ul li:nth-child(2) {
	font-weight: var(--font-weight-regular) !important;
}

/* ---- Product Content – Images ---- */
.product-content .wp-block-image img {
	margin: var(--space-xxl) 0;
	border-radius: var(--radius-m);
}

/* ---- Mobile responsiveness ---- */
@media screen and (max-width: 767px) {
	.product-content p {
		font-size: var(--mobile-font-size-p);
	}

	.product-content h2 {
		font-size: var(--mobile-font-size-l);
	}

	.product-content h3,
	.product-content h4,
	.product-content h5,
	.product-content h6 {
		font-size: var(--mobile-font-size-m);
	}
}

/* ---- Hide PayPal iframes (credit-presentment / merchant content) ---- */
iframe[title^="PayPal Message"],
iframe[src*="paypal"][src*="message"],
iframe[src*="credit-presentment"],
iframe[src*="merchant-content"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin-top: 30px !important;
}

/* ---- Express checkout spacing ---- */
.woocommerce .type-product .wcpay-express-checkout-wrapper,
.wp-block-add-to-cart-form .wcpay-express-checkout-wrapper,
.wc-proceed-to-checkout .wcpay-express-checkout-wrapper {
	margin-top: 2em;
}

/* ---- PayPal payment label – text left, logo right ---- */
.wc_payment_method.payment_method_ppcp-gateway label {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.wc_payment_method.payment_method_ppcp-gateway label img {
	height: 24px;
	width: auto;
	margin-left: 10px;
}

/* ---- Payment methods spacing ---- */
.wc_payment_methods.payment_methods.methods > li {
	margin-bottom: 6px;
	transition: margin 0.2s ease;
}

.wc_payment_methods.payment_methods.methods > li:not(:has(.payment_box[style*="display: block"])) {
	margin-bottom: 10px !important;
}

.wc_payment_methods.payment_methods.methods > li:not(.is-active) {
	margin-bottom: 10px;
}

.wc_payment_methods.payment_methods.methods > li.is-active {
	margin-bottom: 6px;
}

#payment ul.payment_methods li img {
	float: right;
}

/* ---- Hide WooCommerce variation description ---- */
.woocommerce-variation-description {
	display: none;
}

/* ---- Product image background ---- */
.product img {
	background: transparent !important;
}

/* =============================================================
 *  Checkout + Fixed Header — sauberer Offset ohne Weißraum
 * ============================================================= */
body.woocommerce-checkout {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page {
	margin-top: 140px; /* Headerhöhe Desktop */
}

@media (max-width: 767px) {
	body.woocommerce-checkout .elementor-widget-woocommerce-checkout-page {
		margin-top: 110px; /* Headerhöhe Mobile */
	}
}

body.woocommerce-checkout .woocommerce-checkout,
body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-shipping-fields,
body.woocommerce-checkout .form-row {
	position: relative;
	z-index: 1;
}

/* =============================================================
 *  Variation Buttons (TA Custom Product Tables)
 * ============================================================= */
ul.button-variable-items-wrapper li.variable-item {
	min-width: 190px !important;
	text-align: center !important;
	box-sizing: border-box !important;
	border: 1px solid #455644 !important;
	border-radius: 0 !important;
	background-color: #fff !important;
	color: #212121 !important;
	font-size: 13px !important;
	padding: 8px 12px !important;
	transition: all 0.25s ease !important;
	cursor: pointer !important;
}

/* Hover */
ul.button-variable-items-wrapper li.variable-item:hover {
	border-color: #8CA28B !important;
	background-color: #f4f7f4 !important;
	color: #212121 !important;
}

/* Selected */
ul.button-variable-items-wrapper li.variable-item.selected,
ul.button-variable-items-wrapper li.variable-item[aria-checked="true"] {
	border-color: #455644 !important;
	background-color: #455644 !important;
	color: #fff !important;
}

/* Out of stock */
ul.button-variable-items-wrapper li.variable-item.out-of-stock {
	opacity: 0.4 !important;
	pointer-events: none !important;
}
