/*
 * Luster Negin — modular single-product presentation.
 * Loaded only on product pages and layered over WooCommerce's native markup.
 */

/* Shared product-detail system */
.ln-product-detail .woocommerce div.product {
	--ln-product-panel: #ffffff;
	--ln-product-soft: #f8f5ed;
	--ln-product-line: #e8e0cf;
	--ln-product-accent: var(--ln-gold);
	--ln-product-title: var(--ln-ink);
	--ln-product-muted: #64736e;
	isolation: isolate;
}

.ln-product-detail .woocommerce div.product div.summary {
	position: relative;
	gap: 13px;
}

/* Chandelier specification cards */
.ln-product-specs {
	margin-top: 2px;
	padding: 15px;
	border: 1px solid var(--ln-product-line);
	border-radius: 16px;
	background: var(--ln-product-soft);
}

.ln-product-specs__heading {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 11px;
}

.ln-product-specs__heading > span {
	width: 22px;
	height: 2px;
	border-radius: 999px;
	background: var(--ln-product-accent);
}

.ln-product-specs__heading h2 {
	margin: 0;
	font: 700 13px/1.5 var(--ln-font-primary);
	color: var(--ln-product-title);
}

.ln-product-specs__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
}

.ln-product-spec {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	min-height: 67px;
	padding: 10px 11px;
	border: 1px solid rgba(201,163,92,.18);
	border-radius: 12px;
	background: rgba(255,255,255,.76);
	transition: border-color .2s ease, transform .2s ease, background .2s ease;
}

.ln-product-spec:hover {
	transform: translateY(-1px);
	border-color: rgba(201,163,92,.5);
}

.ln-product-specs.is-empty,
.ln-product-spec.is-empty {
	display: none;
}

.ln-product-spec__icon {
	flex: 0 0 37px;
	display: grid;
	place-items: center;
	width: 37px;
	height: 37px;
	border-radius: 11px;
	background: #f3ead7;
	color: #9a7432;
}

.ln-product-spec__icon svg {
	width: 21px;
	height: 21px;
}

.ln-product-spec__copy {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.ln-product-spec__copy small {
	font-size: 10.5px;
	color: var(--ln-product-muted);
}

.ln-product-spec__copy strong {
	display: block;
	font-size: 12.5px;
	font-weight: 750;
	line-height: 1.65;
	color: var(--ln-product-title);
	word-break: break-word;
}


/* Branded long-description and full chandelier detail sections. */
.ln-product-story,
.ln-chandelier-details {
	grid-column: 1 / -1;
	min-width: 0;
	border: 1px solid var(--ln-product-line);
	border-radius: 22px;
	background: var(--ln-product-panel);
	box-shadow: 0 16px 46px rgba(8,42,37,.06);
	overflow: hidden;
}

.ln-product-story {
	margin-top: 34px;
}

.ln-chandelier-details {
	margin-top: 18px;
	border-color: #e8e1d4;
	box-shadow: 0 11px 34px rgba(8,42,37,.045);
}

.ln-product-section-heading {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 24px 28px;
	background:
		radial-gradient(420px 170px at 8% 20%, rgba(215,181,105,.18), transparent 62%),
		linear-gradient(135deg, #0a332d, #124d43);
}

.ln-product-section-heading__mark {
	flex: 0 0 49px;
	display: grid;
	place-items: center;
	width: 49px;
	height: 49px;
	border: 1px solid rgba(234,205,141,.42);
	border-radius: 15px;
	background: rgba(255,255,255,.07);
	color: #e4c67f;
}

.ln-product-section-heading__mark svg {
	width: 25px;
	height: 25px;
}

.ln-product-section-heading span {
	display: block;
	margin-bottom: 2px;
	font-size: 10.5px;
	font-weight: 650;
	color: #d4b86f;
}

.ln-product-section-heading h2 {
	margin: 0;
	font: 650 clamp(27px, 3vw, 36px)/1.35 var(--ln-font-display);
	color: #fffaf0;
}

.ln-product-story__content {
	position: relative;
	padding: clamp(26px, 4vw, 44px);
	color: #465852;
	font-size: 14px;
	line-height: 2.15;
	background:
		linear-gradient(90deg, transparent 0, transparent calc(100% - 5px), rgba(202,164,91,.78) calc(100% - 5px)),
		linear-gradient(180deg, #fff, #fffcf6);
}

.ln-product-story__content > :first-child {
	margin-top: 0;
}

.ln-product-story__content > :last-child {
	margin-bottom: 0;
}

.ln-product-story__content h2,
.ln-product-story__content h3,
.ln-product-story__content h4 {
	color: var(--ln-product-title);
}

.ln-product-story__content a {
	color: var(--ln-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.ln-product-story__content img {
	max-width: 100%;
	height: auto;
	border-radius: 16px;
}

/* Technical details use a cleaner, more readable stacked layout. */
.ln-product-section-heading--details {
	position: relative;
	gap: 14px;
	padding: 22px 26px;
	border-bottom: 1px solid #ebe2d2;
	background:
		radial-gradient(320px 120px at 100% 0%, rgba(201, 163, 92, .12), transparent 70%),
		linear-gradient(180deg, #fffdf8, #f8f2e6);
}

.ln-product-section-heading--details:after {
	content: '';
	position: absolute;
	right: 26px;
	bottom: -1px;
	width: 74px;
	height: 3px;
	border-radius: 99px;
	background: linear-gradient(90deg, #b78d3d, #e2c989);
}

.ln-product-section-heading--details .ln-product-section-heading__mark {
	flex-basis: 48px;
	width: 48px;
	height: 48px;
	border-color: #eadbbc;
	border-radius: 16px;
	background: linear-gradient(180deg, #f8f0df, #f2e6cf);
	color: #8c6b2f;
}

.ln-product-section-heading--details .ln-product-section-heading__mark svg {
	width: 23px;
	height: 23px;
}

.ln-product-section-heading--details span {
	margin-bottom: 3px;
	font-size: 12.5px;
	font-weight: 700;
	color: #9b7a3c;
}

.ln-product-section-heading--details h2 {
	font-size: clamp(26px, 2.8vw, 34px);
	color: #183b35;
}

.ln-chandelier-details__groups {
	display: block;
	padding: 18px;
	background: linear-gradient(180deg, #fcfaf5, #f7f3eb);
}

.ln-chandelier-spec-group {
	min-width: 0;
	border: 1px solid #e7ddcd;
	border-radius: 22px;
	background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(252, 248, 241, .96));
	box-shadow: 0 12px 28px rgba(8, 42, 37, .05);
	overflow: hidden;
}

.ln-chandelier-spec-group + .ln-chandelier-spec-group {
	margin-top: 16px;
}

.ln-chandelier-details.is-empty,
.ln-chandelier-spec-group.is-empty,
.ln-chandelier-spec-row.is-empty {
	display: none;
}

.ln-chandelier-spec-group__head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 18px 20px 16px;
	border-bottom: 1px solid #efe7d8;
	background:
		radial-gradient(240px 110px at 0% 0%, rgba(40, 84, 74, .06), transparent 68%),
		linear-gradient(180deg, rgba(255,255,255,.96), rgba(250,246,237,.88));
}

.ln-chandelier-spec-group__icon {
	flex: 0 0 44px;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid #d8e4df;
	border-radius: 15px;
	background: #f1f7f5;
	color: #2b5b51;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}

.ln-chandelier-spec-group--technical .ln-chandelier-spec-group__icon {
	border-color: #eadfca;
	background: #faf5e9;
	color: #9a7432;
}

.ln-chandelier-spec-group__icon svg {
	width: 21px;
	height: 21px;
}

.ln-chandelier-spec-group__head h3 {
	margin: 0 0 4px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.6;
	color: #1f443d;
}

.ln-chandelier-spec-group__head p {
	margin: 0;
	font-size: 13px;
	line-height: 1.9;
	color: #6b7b75;
}

.ln-chandelier-spec-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 18px 20px 20px;
}

.ln-chandelier-spec-row {
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-width: 0;
	min-height: 0;
	padding: 15px 18px;
	border: 1px solid #efe7d8;
	border-radius: 16px;
	background: #fff;
}

.ln-chandelier-spec-row:nth-child(-n+2) {
	border-top: 1px solid #efe7d8;
}

.ln-chandelier-spec-row[data-ln-detail-key="dimensions"],
.ln-chandelier-spec-row[data-ln-detail-key="suitable_for"] {
	grid-column: auto;
}

.ln-chandelier-spec-row dt,
.ln-chandelier-spec-row dd {
	margin: 0;
}

.ln-chandelier-spec-row dt {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.9;
	color: #6f7d79;
}

.ln-chandelier-spec-row dd {
	font-size: 15.5px;
	font-weight: 800;
	line-height: 2;
	color: #23453e;
	word-break: break-word;
}

/* Variable product controls — native select remains in the DOM as the source of truth. */
.ln-product-detail .woocommerce div.product form.cart.variations_form {
	display: block;
	margin-top: 2px;
	padding: 14px;
	border: 1px solid var(--ln-product-line);
	border-radius: 15px;
	background: var(--ln-product-panel);
}

.ln-product-detail .woocommerce div.product form.cart .variations {
	display: block;
	margin: 0;
}

.ln-product-detail .woocommerce div.product form.cart .variations tbody,
.ln-product-detail .woocommerce div.product form.cart .variations tr,
.ln-product-detail .woocommerce div.product form.cart .variations th,
.ln-product-detail .woocommerce div.product form.cart .variations td {
	display: block;
	width: 100%;
}

.ln-product-detail .woocommerce div.product form.cart .variations tr + tr {
	margin-top: 13px;
}

.ln-product-detail .woocommerce div.product form.cart .variations th,
.ln-product-detail .woocommerce div.product form.cart .variations td {
	padding: 0;
}

.ln-product-detail .woocommerce div.product form.cart .variations label {
	display: block;
	margin-bottom: 7px;
	font-size: 11.5px;
	font-weight: 750;
	color: var(--ln-product-title);
}

.ln-product-detail .woocommerce div.product form.cart .variations select {
	min-height: 45px;
}

.ln-product-detail .ln-variation-select--enhanced {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.ln-variation-options {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.ln-variation-option {
	min-height: 39px;
	padding: 7px 13px;
	border: 1px solid var(--ln-product-line);
	border-radius: 10px;
	background: var(--ln-product-soft);
	color: var(--ln-product-title);
	font-family: inherit;
	font-size: 11.5px;
	font-weight: 650;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.ln-variation-option:hover:not(:disabled) {
	border-color: var(--ln-product-accent);
}

.ln-variation-option.is-selected {
	border-color: var(--ln-product-accent);
	background: var(--ln-primary);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(201,163,92,.16);
}

.ln-variation-option:disabled {
	opacity: .35;
	cursor: not-allowed;
	text-decoration: line-through;
}

.ln-product-detail .woocommerce div.product form.cart .reset_variations {
	display: inline-flex;
	align-items: center;
	margin-top: 8px;
	font-size: 10.5px;
	color: #8a6d36;
	text-decoration: none;
}

.ln-product-detail .woocommerce div.product .single_variation_wrap {
	margin-top: 12px;
}

.ln-product-detail .woocommerce div.product .woocommerce-variation-description {
	margin-bottom: 9px;
	font-size: 11.5px;
	line-height: 1.9;
	color: var(--ln-product-muted);
}

.ln-product-detail .woocommerce div.product .woocommerce-variation-price {
	margin-bottom: 10px;
}

.ln-product-detail .woocommerce div.product .woocommerce-variation-availability {
	font-size: 11px;
}

.ln-product-detail .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
	align-items: stretch;
}

.ln-product-detail .woocommerce div.product form.cart .single_add_to_cart_button {
	min-height: 48px;
	transition: transform .18s ease, background .18s ease, opacity .18s ease;
}

.ln-product-detail .woocommerce div.product form.cart .single_add_to_cart_button:hover:not(:disabled) {
	transform: translateY(-1px);
}

.ln-product-detail .woocommerce div.product form.cart .single_add_to_cart_button.disabled,
.ln-product-detail .woocommerce div.product form.cart .single_add_to_cart_button:disabled {
	opacity: .48;
	cursor: not-allowed;
}

/* Shared responsive behavior */
@media (max-width: 1120px) {
	.ln-product-specs__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.ln-product-detail .ln-single-product {
		width: min(100% - 22px, var(--ln-container));
	}

	.ln-product-specs {
		padding: 12px;
	}

	.ln-product-specs__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ln-product-spec {
		min-height: 79px;
		padding: 9px;
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.ln-product-spec__icon {
		width: 31px;
		height: 31px;
		flex-basis: 31px;
	}

	.ln-product-spec__icon svg {
		width: 18px;
		height: 18px;
	}

	.ln-product-spec__copy strong {
		font-size: 11.5px;
	}

	.ln-product-detail .woocommerce div.product form.cart.variations_form {
		padding: 12px;
	}

	.ln-variation-option {
		min-height: 37px;
		padding: 7px 11px;
	}

	.ln-product-detail .woocommerce div.product form.cart .woocommerce-variation-add-to-cart {
		flex-wrap: wrap;
	}

	.ln-product-detail .woocommerce div.product form.cart .single_add_to_cart_button {
		min-width: 180px;
	}
}

@media (max-width: 420px) {
	.ln-product-specs__grid {
		grid-template-columns: 1fr;
	}

	.ln-product-spec {
		min-height: 58px;
		flex-direction: row;
		align-items: center;
	}
}


@media (max-width: 700px) {
	.ln-product-story {
		margin-top: 24px;
	}

	.ln-product-section-heading {
		padding: 19px 17px;
	}

	.ln-product-section-heading__mark {
		width: 42px;
		height: 42px;
		flex-basis: 42px;
		border-radius: 13px;
	}

	.ln-product-section-heading h2 {
		font-size: 28px;
	}

	.ln-product-story__content {
		padding: 24px 19px;
		font-size: 13px;
	}

	.ln-product-section-heading--details {
		padding: 18px 16px;
	}

	.ln-product-section-heading--details:after {
		right: 16px;
		width: 58px;
	}

	.ln-product-section-heading--details span {
		font-size: 12px;
	}

	.ln-chandelier-details__groups {
		padding: 12px;
	}

	.ln-chandelier-spec-group {
		border-radius: 18px;
	}

	.ln-chandelier-spec-group + .ln-chandelier-spec-group {
		margin-top: 12px;
	}

	.ln-chandelier-spec-group__head {
		padding: 15px 14px;
		align-items: flex-start;
	}

	.ln-chandelier-spec-group__icon {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.ln-chandelier-spec-group__head h3 {
		font-size: 16px;
	}

	.ln-chandelier-spec-group__head p {
		font-size: 12px;
		line-height: 1.8;
	}

	.ln-chandelier-spec-list {
		padding: 14px;
		gap: 8px;
	}
}

@media (max-width: 640px) {
	.ln-chandelier-spec-row {
		grid-template-columns: 1fr;
		gap: 4px;
		padding: 13px 14px;
	}

	.ln-chandelier-spec-row dt {
		font-size: 13.5px;
	}

	.ln-chandelier-spec-row dd {
		font-size: 14.5px;
		line-height: 1.95;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ln-product-detail .woocommerce div.product div.images img,
	.ln-product-spec,
	.ln-variation-option,
	.ln-product-detail .woocommerce div.product form.cart .single_add_to_cart_button {
		transition: none;
	}
}
