/* ============================================================================
   LUMALUX — Single Product V2 (dark luxury)
   Template generico per prodotti senza landing dedicata.
   ============================================================================ */

:root {
	--lp-bg:        #0d0d0d;
	--lp-bg-2:      #141414;
	--lp-surface:   #1a1a1a;
	--lp-surface-2: #1f1f1f;
	--lp-border:    rgba(186, 153, 63, 0.22);
	--lp-border-2:  rgba(255, 255, 255, 0.06);
	--lp-gold:      #BA993F;
	--lp-gold-2:    #d4b65a;
	--lp-text:      #f5f1e6;
	--lp-text-soft: #e7decf;
	--lp-muted:     #a8a08d;
	--lp-font:      'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
	--lp-serif:     'Cormorant Garamond', 'Playfair Display', Georgia, serif;
}

.lumalux-product-v2 {
	background: var(--lp-bg);
	color: var(--lp-text);
	font-family: var(--lp-font);
	-webkit-font-smoothing: antialiased;
	min-height: 80vh;
}
.lumalux-product-v2 *, .lumalux-product-v2 *::before, .lumalux-product-v2 *::after { box-sizing: border-box; }
.lumalux-product-v2 a { text-decoration: none; color: inherit; }
.lumalux-product-v2 img { max-width: 100%; height: auto; }
.lumalux-product-v2 .lp-eyebrow {
	display: inline-block;
	color: var(--lp-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.lumalux-product-v2 .lp-eyebrow-center { display: block; text-align: center; }
.lumalux-product-v2 .lp-section-title {
	font-family: var(--lp-serif);
	font-size: 42px;
	font-weight: 400;
	line-height: 1.15;
	color: var(--lp-text);
	margin: 0 0 22px;
}
.lumalux-product-v2 .lp-section-title-center { text-align: center; }
.lumalux-product-v2 .lp-section-title em { color: var(--lp-gold); font-style: italic; }

/* ═══════════════════════════════════════════════════════
   BREADCRUMB
   ═══════════════════════════════════════════════════════ */
.lp-breadcrumb {
	background: #0d0d0d;
	border-bottom: 1px solid var(--lp-border-2);
}
.lp-breadcrumb-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 14px 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	color: var(--lp-muted);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.lp-breadcrumb a { color: var(--lp-muted); transition: color 0.2s ease; }
.lp-breadcrumb a:hover { color: var(--lp-gold); }
.lp-breadcrumb span { color: rgba(255, 255, 255, 0.25); }
.lp-breadcrumb-current { color: var(--lp-text-soft); text-transform: none; letter-spacing: 0; font-weight: 500; }

/* ═══════════════════════════════════════════════════════
   HERO PRODUCT
   ═══════════════════════════════════════════════════════ */
.lp-hero {
	position: relative;
	background: linear-gradient(180deg, #0d0d0d 0%, #161616 100%);
	padding: 50px 24px 70px;
	overflow: hidden;
}
.lp-bg { position: absolute; inset: 0; pointer-events: none; }
.lp-glow {
	position: absolute;
	top: -200px;
	right: -150px;
	width: 720px;
	height: 720px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(186, 153, 63, 0.22) 0%, rgba(186, 153, 63, 0.06) 35%, transparent 70%);
	filter: blur(50px);
}
.lp-hero-grid {
	position: relative;
	max-width: 1240px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 60px;
	align-items: start;
}

/* GALLERY */
.lp-gallery { position: relative; }
.lp-gallery-main {
	position: relative;
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #000;
	border: 1px solid var(--lp-border-2);
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.lp-gallery-main img {
	max-width: 88%;
	max-height: 92%;
	width: auto;
	height: auto;
	display: block;
	filter: drop-shadow(0 18px 36px rgba(0, 0, 0, 0.65));
	transition: opacity 0.3s ease;
}
.lp-gallery-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	background: var(--lp-gold);
	color: #0d0d0d;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	padding: 7px 14px;
	z-index: 2;
}
.lp-gallery-badge--sale { background: #c62828; color: #ffffff; letter-spacing: 0.10em; }
.lp-gallery-badge--sale .amount { color: inherit; font-weight: 700; }

.lp-gallery-thumbs {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 10px;
	margin-top: 14px;
}
.lp-thumb {
	background: #000 !important;
	border: 1px solid var(--lp-border-2) !important;
	padding: 6px !important;
	cursor: pointer !important;
	aspect-ratio: 1 / 1;
	transition: border-color 0.2s ease;
	overflow: hidden;
}
.lp-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }
.lp-thumb:hover { border-color: var(--lp-gold) !important; }
.lp-thumb.is-active { border-color: var(--lp-gold) !important; }

/* INFO */
.lp-info { padding-top: 8px; }
.lp-cat {
	display: inline-block;
	color: var(--lp-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin-bottom: 14px;
}
.lp-title {
	font-family: var(--lp-serif);
	font-size: 38px;
	font-weight: 500;
	color: var(--lp-text);
	line-height: 1.15;
	margin: 0 0 20px;
	letter-spacing: 0.005em;
}
.lp-social-proof {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	background: rgba(186, 153, 63, 0.10);
	border: 1px solid var(--lp-border);
	color: var(--lp-text-soft);
	font-size: 13px;
	margin-bottom: 20px;
}
.lp-social-proof svg { color: var(--lp-gold); }
.lp-social-proof strong { color: var(--lp-gold); }

.lp-price {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 14px;
	padding: 18px 0;
	border-top: 1px solid var(--lp-border-2);
	border-bottom: 1px solid var(--lp-border-2);
	margin-bottom: 24px;
}
.lp-price-old {
	font-family: var(--lp-serif);
	font-size: 22px;
	color: var(--lp-muted);
	text-decoration: line-through;
	text-decoration-color: var(--lp-gold);
	text-decoration-thickness: 2px;
}
.lp-price-old .amount { color: inherit; }
.lp-price-now {
	font-family: var(--lp-serif);
	font-size: 44px;
	font-weight: 600;
	color: var(--lp-gold);
	line-height: 1;
}
.lp-price-now .amount { color: inherit; }
.lp-price-save {
	display: inline-block;
	background: rgba(46, 125, 50, 0.18);
	color: #6bbf6f;
	padding: 5px 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.lp-price-save .amount { color: inherit; }

.lp-short {
	color: var(--lp-text-soft);
	font-size: 15px;
	line-height: 1.75;
	margin-bottom: 24px;
}
.lp-short p { margin: 0 0 12px; }

/* Cart form */
.lp-cart-form { margin-bottom: 28px; }
.lp-qty-row {
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex-wrap: wrap;
}
.lp-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--lp-border);
	background: var(--lp-surface);
	height: 56px;
	flex-shrink: 0;
}
.lumalux-product-v2 button.lp-qty-btn {
	width: 44px !important;
	height: 100% !important;
	min-width: 44px !important;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: var(--lp-gold) !important;
	border: 0 !important;
	font-family: var(--lp-serif) !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	cursor: pointer !important;
	padding: 0 !important;
	line-height: 1 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	transition: background 0.2s ease !important;
}
.lumalux-product-v2 button.lp-qty-btn:hover { background: rgba(186, 153, 63, 0.14) !important; }
.lp-qty-input {
	width: 50px;
	height: 100%;
	border: 0;
	border-left: 1px solid var(--lp-border);
	border-right: 1px solid var(--lp-border);
	background: var(--lp-surface-2);
	color: var(--lp-text);
	text-align: center;
	font-family: var(--lp-serif);
	font-size: 20px;
	font-weight: 600;
	outline: none;
	-moz-appearance: textfield;
}
.lp-qty-input::-webkit-outer-spin-button,
.lp-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.lumalux-product-v2 button.lp-add-btn {
	flex: 1 1 280px;
	min-height: 56px;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 0 28px !important;
	background: var(--lp-gold) !important;
	background-color: var(--lp-gold) !important;
	color: #0d0d0d !important;
	border: 1px solid var(--lp-gold) !important;
	font-family: var(--lp-font) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease !important;
}
.lumalux-product-v2 button.lp-add-btn:hover {
	background: var(--lp-gold-2) !important;
	background-color: var(--lp-gold-2) !important;
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(186, 153, 63, 0.32) !important;
}
.lumalux-product-v2 button.lp-add-btn svg { color: #0d0d0d !important; }

/* Trust mini-row */
.lp-trust {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	padding-top: 22px;
	border-top: 1px solid var(--lp-border-2);
}
.lp-trust-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--lp-text-soft);
	font-size: 13px;
}
.lp-trust-item svg { color: var(--lp-gold); flex-shrink: 0; }

/* ═══════════════════════════════════════════════════════
   DESCRIPTION
   ═══════════════════════════════════════════════════════ */
.lp-description {
	background: var(--lp-bg-2);
	padding: 70px 24px;
	border-top: 1px solid var(--lp-border-2);
}
.lp-description-inner { max-width: 860px; margin: 0 auto; text-align: center; }
.lp-description-content {
	margin-top: 30px;
	text-align: left;
	color: var(--lp-text-soft);
	font-size: 16px;
	line-height: 1.8;
}
.lp-description-content h2,
.lp-description-content h3,
.lp-description-content h4 {
	font-family: var(--lp-serif);
	color: var(--lp-text);
	letter-spacing: 0.005em;
	font-weight: 500;
}
.lp-description-content h2 { font-size: 28px; margin: 36px 0 16px; }
.lp-description-content h3 { font-size: 22px; margin: 28px 0 14px; color: var(--lp-gold); }
.lp-description-content p { margin: 0 0 18px; }
.lp-description-content strong { color: var(--lp-text); font-weight: 700; }
.lp-description-content a { color: var(--lp-gold); border-bottom: 1px solid rgba(186, 153, 63, 0.4); }
.lp-description-content ul, .lp-description-content ol { padding-left: 22px; margin: 0 0 18px; }
.lp-description-content li { margin-bottom: 8px; }
.lp-description-content img { display: block; margin: 24px auto; }

/* ═══════════════════════════════════════════════════════
   WHY LUMALUX (sezione comune)
   ═══════════════════════════════════════════════════════ */
.lp-why {
	background: var(--lp-bg);
	padding: 70px 24px;
	border-top: 1px solid var(--lp-border-2);
}
.lp-why-inner { max-width: 1240px; margin: 0 auto; text-align: center; }
.lp-why-lead {
	color: var(--lp-muted);
	font-size: 16px;
	line-height: 1.7;
	max-width: 680px;
	margin: 0 auto 40px;
}
.lp-why-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	text-align: left;
}
.lp-why-card {
	padding: 30px 24px;
	background: var(--lp-surface);
	border: 1px solid var(--lp-border-2);
	transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.lp-why-card:hover {
	transform: translateY(-3px);
	border-color: var(--lp-gold);
	background: var(--lp-surface-2);
}
.lp-why-card svg { color: var(--lp-gold); margin-bottom: 16px; }
.lp-why-card h3 {
	font-family: var(--lp-serif);
	font-size: 20px;
	font-weight: 500;
	color: var(--lp-text);
	margin: 0 0 8px;
}
.lp-why-card p {
	margin: 0;
	color: var(--lp-muted);
	font-size: 13.5px;
	line-height: 1.65;
}

/* ═══════════════════════════════════════════════════════
   REVIEWS Trustindex
   ═══════════════════════════════════════════════════════ */
.lp-reviews {
	background: var(--lp-bg-2);
	padding: 70px 24px;
	border-top: 1px solid var(--lp-border-2);
}
.lp-reviews-inner { max-width: 1240px; margin: 0 auto; text-align: center; }
.lp-reviews-widget { margin-top: 30px; }

/* ═══════════════════════════════════════════════════════
   RELATED PRODUCTS
   ═══════════════════════════════════════════════════════ */
.lp-related {
	background: var(--lp-bg);
	padding: 70px 24px 90px;
	border-top: 1px solid var(--lp-border-2);
}
.lp-related-inner { max-width: 1240px; margin: 0 auto; text-align: center; }
.lp-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 32px;
	text-align: left;
}
.lp-rel-card {
	background: var(--lp-surface);
	border: 1px solid var(--lp-border-2);
	transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
	overflow: hidden;
	display: block;
	color: inherit !important;
}
.lp-rel-card:hover {
	transform: translateY(-4px);
	border-color: var(--lp-gold);
	background: var(--lp-surface-2);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
.lp-rel-img {
	width: 100%;
	aspect-ratio: 1 / 1;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.lp-rel-img img {
	max-width: 80%;
	max-height: 88%;
	width: auto;
	height: auto;
	transition: transform 0.5s ease;
}
.lp-rel-card:hover .lp-rel-img img { transform: scale(1.05); }
.lp-rel-body { padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.lp-rel-body h3 {
	font-family: var(--lp-serif);
	font-size: 19px;
	font-weight: 500;
	color: var(--lp-text);
	margin: 0;
	line-height: 1.25;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.5em;
}
.lp-rel-price { display: flex; align-items: baseline; gap: 10px; margin-top: 4px; }
.lp-rel-old { color: var(--lp-muted); font-size: 13px; text-decoration: line-through; text-decoration-color: var(--lp-gold); }
.lp-rel-old .amount { color: inherit; }
.lp-rel-now { font-family: var(--lp-serif); font-size: 22px; font-weight: 600; color: var(--lp-gold); line-height: 1; }
.lp-rel-now .amount { color: inherit; }
.lp-rel-cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	color: var(--lp-gold);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	transition: gap 0.2s ease;
}
.lp-rel-card:hover .lp-rel-cta { gap: 10px; }

/* WC native reviews (se attive) */
.lp-wc-reviews { background: var(--lp-bg-2); padding: 40px 24px; border-top: 1px solid var(--lp-border-2); color: var(--lp-text-soft); }
.lp-wc-reviews-inner { max-width: 860px; margin: 0 auto; }
.lp-wc-reviews #reviews #comments h2 { font-family: var(--lp-serif); color: var(--lp-text); font-size: 28px; font-weight: 500; }
.lp-wc-reviews #reviews .comment-text { background: var(--lp-surface); padding: 16px 20px; border: 1px solid var(--lp-border-2); }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
	.lp-hero-grid { grid-template-columns: 1fr; gap: 36px; }
	.lp-title { font-size: 32px; }
	.lp-section-title { font-size: 34px; }
	.lp-why-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-related-grid { grid-template-columns: repeat(2, 1fr); }
	.lp-gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 720px) {
	.lp-hero { padding: 30px 16px 50px; }
	.lp-breadcrumb-inner { padding: 12px 16px; font-size: 11px; }
	.lp-title { font-size: 26px; }
	.lp-price-now { font-size: 34px; }
	.lp-price-old { font-size: 18px; }
	.lp-section-title { font-size: 26px; }
	.lp-why-grid { grid-template-columns: 1fr; }
	.lp-why-card { padding: 24px 22px; }
	.lp-related-grid { grid-template-columns: 1fr; }
	.lp-description { padding: 50px 16px; }
	.lp-why { padding: 50px 16px; }
	.lp-reviews { padding: 50px 16px; }
	.lp-related { padding: 50px 16px 60px; }
	.lp-trust { grid-template-columns: 1fr; }
	.lp-qty-row { flex-direction: column; }
	.lumalux-product-v2 button.lp-add-btn { width: 100%; }
	.lp-qty { width: 100%; justify-content: space-between; }
	.lp-qty-input { flex: 1; }
}
