/* ============================================================
   Beniche Single Product Summary Styles — exact port of React details UI.
   Tailwind classes translated to beautiful, highly optimized CSS.
   ============================================================ */

/* ---------- Layout & Grid ---------- */
.single-product .product {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	padding: 24px 0;
}
@media (min-width: 1024px) {
	.single-product .product {
		grid-template-columns: 1.1fr 1fr;
	}
}

/* ---------- Custom Meta Top (Category & SKU) ---------- */
.bn-single-meta-top {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: #6b7280;
}
.dark .bn-single-meta-top { color: #94a3b8; }
.bn-single-meta-top .category-pill {
	display: inline-block;
	background-color: #f5f3ff;
	color: #6d28d9;
	padding: 2px 10px;
	border-radius: 999px;
	font-weight: 700;
}
.dark .bn-single-meta-top .category-pill {
	background-color: rgb(139 92 246 / .15);
	color: #a78bfa;
}
.bn-single-meta-top .dot-separator {
	color: #d1d5db;
}
.dark .bn-single-meta-top .dot-separator { color: #475569; }

/* ---------- Product Title ---------- */
.single-product .product_title {
	font-size: clamp(20px, 3vw, 28px);
	font-weight: 900;
	line-height: 1.35;
	color: #0f172a;
	margin-top: 12px !important;
	margin-bottom: 0 !important;
}
.dark .single-product .product_title { color: #fff; }

/* ---------- Product Rating & Sales ---------- */
.single-product .woocommerce-product-rating {
	margin-top: 12px !important;
	margin-bottom: 24px !important;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: #f59e0b;
}
.single-product .woocommerce-product-rating .star-rating {
	float: none;
	margin: 0;
}
.single-product .woocommerce-product-rating .dot-separator {
	color: #e5e7eb;
}
.dark .single-product .woocommerce-product-rating .dot-separator { color: #334155; }
.single-product .woocommerce-product-rating .sales-count {
	font-size: 13px;
	font-weight: 500;
	color: #4b5563;
}
.dark .single-product .woocommerce-product-rating .sales-count { color: #cbd5e1; }

/* ---------- Price Box ---------- */
.single-product .price-box-wrapper {
	border-radius: 20px;
	border: 1px solid #e5e7eb;
	background: #fff;
	padding: 20px;
	margin-bottom: 24px;
}
.dark .single-product .price-box-wrapper {
	border-color: #334155;
	background: #1e293b;
}
.single-product .price-box-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
.single-product .price-box-row .old-price {
	display: block;
	font-size: 14px;
	color: #9ca3af;
	text-decoration: line-through;
}
.single-product .price-box-row .new-price {
	display: flex;
	align-items: baseline;
	gap: 6px;
	font-size: 28px;
	font-weight: 900;
	color: #10b981;
	line-height: 1;
	margin-top: 4px;
}
.single-product .price-box-row .new-price small {
	font-size: 13px;
	font-weight: 400;
	color: #6b7280;
}
.dark .single-product .price-box-row .new-price small { color: #94a3b8; }
.single-product .price-box-wrapper .bn-sale-badge {
	float: none;
	position: static;
	background-color: #ffe4e6 !important;
	color: #e11d48 !important;
	border-radius: 10px;
	font-size: 14px;
	font-weight: 900;
	padding: 6px 12px;
	margin: 0;
	display: inline-block;
}
.dark .single-product .price-box-wrapper .bn-sale-badge {
	background-color: rgb(225 29 72 / .15) !important;
	color: #fb7185 !important;
}

/* Price Box bottom info line */
.bn-price-info-line {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dashed #e5e7eb;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	color: #6b7280;
	flex-wrap: wrap;
}
.dark .bn-price-info-line {
	border-color: #334155;
	color: #94a3b8;
}
.bn-price-info-line .dot-separator {
	color: #e5e7eb;
}
.dark .bn-price-info-line .dot-separator { color: #334155; }

/* ---------- Variation Swatches (Color & Size) ---------- */
.single-product .variations select {
	display: none !important; /* Hide native dropdown completely */
}
.single-product .variations td.label {
	width: 80px;
	font-size: 14px;
	font-weight: 700;
	color: #374151;
	padding: 8px 0;
}
.dark .single-product .variations td.label { color: #e5e7eb; }
.single-product .variations td.value {
	padding: 8px 0;
}

.bn-swatches-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.bn-color-swatch {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 2px solid #e5e7eb;
	cursor: pointer;
	position: relative;
	transition: transform 0.2s, border-color 0.2s;
	padding: 0;
	box-shadow: inset 0 2px 4px 0 rgba(0,0,0,0.06);
}
.dark .bn-color-swatch { border-color: #475569; }
.bn-color-swatch:hover {
	transform: scale(1.08);
}
.bn-color-swatch.is-active {
	border-color: #7c3aed;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px #7c3aed;
}
.dark .bn-color-swatch.is-active {
	box-shadow: 0 0 0 2px #1e293b, 0 0 0 4px #a78bfa;
}

.bn-size-swatch {
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #4b5563;
	padding: 8px 16px;
	font-size: 14px;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s;
}
.dark .bn-size-swatch {
	border-color: #475569;
	background: #1e293b;
	color: #d1d5db;
}
.bn-size-swatch:hover {
	border-color: #a78bfa;
	color: #7c3aed;
}
.bn-size-swatch.is-active {
	border-color: #7c3aed;
	background: #f5f3ff;
	color: #7c3aed;
}
.dark .bn-size-swatch.is-active {
	border-color: #a78bfa;
	background: rgb(139 92 246 / .15);
	color: #a78bfa;
}

/* ---------- Quantity & Buy CTA Row ---------- */
.single-product .form-cart,
.single-product form.cart {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 24px;
}
.single-product .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	width: 100%;
}

.single-product .quantity {
	display: inline-flex;
	align-items: center;
	border-radius: 12px;
	border: 1px solid #e5e7eb;
	background: #fff;
	overflow: hidden;
}
.dark .single-product .quantity {
	border-color: #334155;
	background: #1e293b;
}
.single-product .quantity input.qty {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	-moz-appearance: textfield;
}
.single-product .quantity input.qty::-webkit-outer-spin-button,
.single-product .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.bn-qty-btn {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	font-size: 20px;
	font-weight: 700;
	color: #4b5563;
	cursor: pointer;
	transition: background 0.2s;
	padding: 0;
	display: grid;
	place-items: center;
}
.dark .bn-qty-btn { color: #cbd5e1; }
.bn-qty-btn:hover { background: #f8fafc; }
.dark .bn-qty-btn:hover { background: #334155; }

/* Add to cart / Buy now buttons */
.single-product .single_add_to_cart_button {
	flex: 1;
	min-width: 140px;
	height: 44px;
	border-radius: 12px !important;
	background-color: #7c3aed !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
	box-shadow: 0 10px 15px -3px rgba(124,58,237,0.3) !important;
	transition: transform 0.2s, background 0.2s !important;
	border: 0 !important;
}
.single-product .single_add_to_cart_button:hover {
	transform: translateY(-1px);
	background-color: #6d28d9 !important;
}
.bn-btn-buy-now {
	flex: 1;
	min-width: 140px;
	height: 44px;
	border-radius: 12px;
	background: #10b981;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	border: 0;
	cursor: pointer;
	box-shadow: 0 10px 15px -3px rgba(16,185,129,0.3);
	transition: transform 0.2s, background 0.2s;
}
.bn-btn-buy-now:hover {
	transform: translateY(-1px);
	background: #059669;
}

/* ---------- Custom Vendor Card (Priority 35) ---------- */
.bn-single-vendor-card {
	display: flex;
	align-items: center;
	gap: 14px;
	border-radius: 20px;
	border: 1px solid #e5e7eb;
	background: #fff;
	padding: 16px;
	margin-top: 24px;
	text-decoration: none;
	transition: border-color 0.2s;
}
.dark .bn-single-vendor-card {
	border-color: #334155;
	background: #1e293b;
}
.bn-single-vendor-card:hover { border-color: #a78bfa; }
.bn-single-vendor-card .vendor-emoji {
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: linear-gradient(135deg, #ede9fe, #fce7f3);
	font-size: 24px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
}
.dark .bn-single-vendor-card .vendor-emoji {
	background: linear-gradient(135deg, #1e1b4b, #2e1065);
}
.bn-single-vendor-card .vendor-meta {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	text-align: right;
}
.bn-single-vendor-card .vendor-name {
	font-size: 14px;
	font-weight: 700;
	color: #1f2937;
}
.dark .bn-single-vendor-card .vendor-name { color: #fff; }
.bn-single-vendor-card .vendor-details {
	font-size: 11px;
	color: #6b7280;
	margin-top: 2px;
}
.dark .bn-single-vendor-card .vendor-details { color: #94a3b8; }
.bn-single-vendor-card .vendor-goto {
	font-size: 13px;
	font-weight: 700;
	color: #7c3aed;
}
.dark .bn-single-vendor-card .vendor-goto { color: #a78bfa; }

/* Responsive adjustments */
@media (max-width: 480px) {
	.single-product .woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch;
	}
	.single-product .quantity {
		width: 100%;
		justify-content: space-between;
	}
}

/* ============================================================
   PRODUCT TABS — pixel-port of React tabs (lines 182-261)
   Zero template overrides. Pure CSS on WooCommerce's own
   .woocommerce-tabs / .wc-tabs / .woocommerce-Tabs-panel classes,
   plus one custom class .bn-review-avatar injected via the
   woocommerce_review_before hook in inc/woocommerce.php.
   ============================================================ */

/* Tab wrapper spacing — separates tabs cleanly from the summary column */
.single-product .woocommerce-tabs.wc-tabs-wrapper {
	margin-top: 40px;
	margin-bottom: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

/* ---------- Tab Navigation Bar ---------- */
.single-product .woocommerce-tabs ul.tabs.wc-tabs {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	border-bottom: 1px solid #e2e8f0;
	position: relative;
}
.dark .single-product .woocommerce-tabs ul.tabs.wc-tabs {
	border-bottom-color: #334155;
}

/* Kill WooCommerce's default tab pseudo-triangles */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li::before,
.single-product .woocommerce-tabs ul.tabs.wc-tabs li::after {
	display: none !important;
	content: none !important;
	border: 0 !important;
	background: transparent !important;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
	background: transparent !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	border-radius: 0;
	box-shadow: none;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
	display: inline-block;
	padding: 12px 20px;
	font-size: 14px;
	font-weight: 700;
	color: #64748b;
	text-decoration: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	transition: color 0.2s ease;
	line-height: 1.2;
}
.dark .single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
	color: #94a3b8;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover {
	color: #0f172a;
	background: transparent;
}
.dark .single-product .woocommerce-tabs ul.tabs.wc-tabs li a:hover {
	color: #fff;
}

/* Active state — purple text + sliding underline */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
	color: #7c3aed;
	background: transparent;
}
.dark .single-product .woocommerce-tabs ul.tabs.wc-tabs li.active a {
	color: #a78bfa;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active::after {
	content: "";
	position: absolute;
	inset-inline: 12px;
	bottom: -1px;
	height: 2px;
	border-radius: 9999px;
	background: #7c3aed;
	pointer-events: none;
}
.dark .single-product .woocommerce-tabs ul.tabs.wc-tabs li.active::after {
	background: #a78bfa;
}

/* ---------- Tab Panels ---------- */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	padding: 24px;
	border-radius: 16px;
	background: #fff;
	border: 1px solid #e2e8f0;
	margin-top: 24px;
	font-size: 14px;
	line-height: 2;
	color: #334155;
}
.dark .single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	background: #1e293b;
	border-color: #334155;
	color: #cbd5e1;
}

/* Panel internal headings — the title WC renders inside each panel */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	font-size: 18px;
	font-weight: 800;
	color: #0f172a;
	margin: 0 0 16px;
	line-height: 1.3;
}
.dark .single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	color: #fff;
}

/* ---------- Description Tab — Drop cap + paragraphs + lists ---------- */
.single-product .woocommerce-Tabs-panel--description p {
	margin: 0 0 16px;
	color: inherit;
	line-height: 2;
}
.single-product .woocommerce-Tabs-panel--description p:last-child {
	margin-bottom: 0;
}
/* Drop cap only on the very first paragraph of the description */
.single-product .woocommerce-Tabs-panel--description > p:first-of-type::first-letter {
	float: right;
	font-size: 3.75rem;
	font-weight: 900;
	line-height: 1;
	color: #7c3aed;
	margin-inline-start: 12px;
	margin-top: 4px;
}
.dark .single-product .woocommerce-Tabs-panel--description > p:first-of-type::first-letter {
	color: #a78bfa;
}
.single-product .woocommerce-Tabs-panel--description ul,
.single-product .woocommerce-Tabs-panel--description ol {
	list-style: disc;
	padding-inline-start: 20px;
	margin: 0 0 16px;
	color: inherit;
}
.single-product .woocommerce-Tabs-panel--description ul li,
.single-product .woocommerce-Tabs-panel--description ol li {
	margin-bottom: 8px;
	line-height: 1.8;
}

/* ---------- Additional Information Tab — two-column table ---------- */
.single-product .woocommerce-Tabs-panel--additional_information .shop_attributes,
.single-product .woocommerce-Tabs-panel--additional_information table.woocommerce-product-attributes {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	border: 0;
}
.single-product .woocommerce-Tabs-panel--additional_information tr {
	border-bottom: 1px solid #f1f5f9;
}
.dark .single-product .woocommerce-Tabs-panel--additional_information tr {
	border-bottom-color: #334155;
}
.single-product .woocommerce-Tabs-panel--additional_information tr:last-child {
	border-bottom: 0;
}
.single-product .woocommerce-Tabs-panel--additional_information th,
.single-product .woocommerce-Tabs-panel--additional_information td {
	padding: 12px 0;
	vertical-align: top;
	text-align: right;
	border: 0;
	background: transparent;
	line-height: 1.6;
}
.single-product .woocommerce-Tabs-panel--additional_information th p,
.single-product .woocommerce-Tabs-panel--additional_information td p {
	margin: 0;
	padding: 0;
}
.single-product .woocommerce-Tabs-panel--additional_information th {
	width: 38%;
	font-weight: 600;
	color: #64748b;
	font-size: 14px;
}
.dark .single-product .woocommerce-Tabs-panel--additional_information th {
	color: #94a3b8;
}
.single-product .woocommerce-Tabs-panel--additional_information td {
	color: #0f172a;
	font-size: 14px;
}
.dark .single-product .woocommerce-Tabs-panel--additional_information td {
	color: #e2e8f0;
}
/* Strip default woo padding on the <p> inside <th> */
.single-product .woocommerce-Tabs-panel--additional_information th p {
	color: inherit;
	font-weight: inherit;
}

/* ---------- Reviews Tab ---------- */
.single-product .woocommerce-Tabs-panel--reviews {
	padding: 24px;
}
.single-product .woocommerce-Tabs-panel--reviews h2.woocommerce-Reviews-title {
	margin-bottom: 20px;
}

/* Comment list reset */
.single-product #reviews #comments ol.commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.single-product #reviews #comments ol.commentlist li.review {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	position: relative;
}

/* The comment container becomes our card */
.single-product #reviews #comments .comment_container {
	display: flex;
	flex-direction: column;
	gap: 12px;
	border: 1px solid #f1f5f9;
	border-radius: 12px;
	padding: 16px;
	background: transparent;
	position: relative;
}
.dark .single-product #reviews #comments .comment_container {
	border-color: #334155;
}

/* Hide WooCommerce's default gravatar image — we inject .bn-review-avatar via hook */
.single-product #reviews #comments .comment_container > img.avatar {
	display: none !important;
}

/* Custom review avatar injected by woocommerce_review_before hook */
.single-product #reviews #comments .comment_container .bn-review-avatar {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 9999px;
	background: #ede9fe;
	color: #6d28d9;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	flex-shrink: 0;
	line-height: 1;
}
.dark .single-product #reviews #comments .comment_container .bn-review-avatar {
	background: rgb(139 92 246 / .2);
	color: #a78bfa;
}

/* Meta row — name + date side-by-side */
.single-product #reviews #comments .comment-text {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	width: 100%;
}
.single-product #reviews #comments .comment-text .meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 12px;
	padding: 0;
	flex-wrap: wrap;
}
.single-product #reviews #comments .comment-text .meta strong {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 700;
	color: #0f172a;
}
.dark .single-product #reviews #comments .comment-text .meta strong {
	color: #fff;
}
/* Inject our avatar INSIDE the <strong> via CSS order — the hook puts the span as first child of .comment-text, we re-order visually */
.single-product #reviews #comments .comment_container .bn-review-avatar {
	position: absolute;
	top: 16px;
	inset-inline-start: 16px;
}
.single-product #reviews #comments .comment-text {
	padding-inline-start: 44px; /* room for the absolutely-positioned avatar */
}
@media (max-width: 480px) {
	.single-product #reviews #comments .comment-text {
		padding-inline-start: 40px;
	}
}

.single-product #reviews #comments .comment-text .meta time,
.single-product #reviews #comments .comment-text .meta .woocommerce-review__published-date {
	font-size: 12px;
	color: #94a3b8;
	font-weight: 400;
}
/* Author link color reset */
.single-product #reviews #comments .comment-text .meta .woocommerce-review__author {
	color: inherit;
	text-decoration: none;
}

/* Star rating inside reviews */
.single-product #reviews #comments .comment-text .star-rating {
	float: none;
	margin: 0 0 8px;
	font-size: 14px;
	color: #f59e0b;
}
.single-product #reviews #comments .comment-text .star-rating::before {
	color: #fbbf24;
}
.single-product #reviews #comments .comment-text .star-rating span::before {
	color: #f59e0b;
}

/* Review body paragraph */
.single-product #reviews #comments .comment-text .description,
.single-product #reviews #comments .comment-text > p {
	margin: 0;
	color: inherit;
	line-height: 1.8;
	font-size: 14px;
}
.dark .single-product #reviews #comments .comment-text > p,
.dark .single-product #reviews #comments .comment-text .description {
	color: #cbd5e1;
}

/* Review form (leave a review) — light touch, keeps WC behaviour */
.single-product #review_form #reply-title {
	font-size: 16px;
	font-weight: 800;
	color: #0f172a;
	margin: 24px 0 12px;
}
.dark .single-product #review_form #reply-title {
	color: #fff;
}
.single-product #review_form .comment-form p {
	margin-bottom: 12px;
}
.single-product #review_form .comment-form label {
	font-size: 13px;
	font-weight: 600;
	color: #334155;
	display: block;
	margin-bottom: 6px;
}
.dark .single-product #review_form .comment-form label {
	color: #cbd5e1;
}
.single-product #review_form .comment-form input[type="text"],
.single-product #review_form .comment-form input[type="email"],
.single-product #review_form .comment-form textarea {
	width: 100%;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #fff;
	padding: 10px 14px;
	font-size: 14px;
	color: #0f172a;
}
.dark .single-product #review_form .comment-form input[type="text"],
.dark .single-product #review_form .comment-form input[type="email"],
.dark .single-product #review_form .comment-form textarea {
	border-color: #334155;
	background: #0f172a;
	color: #e2e8f0;
}
.single-product #review_form .form-submit .submit {
	background: #7c3aed;
	color: #fff;
	border: 0;
	border-radius: 10px;
	padding: 10px 22px;
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
	transition: background 0.2s;
}
.single-product #review_form .form-submit .submit:hover {
	background: #6d28d9;
}

/* ---------- Tab bar responsive ---------- */
@media (max-width: 640px) {
	.single-product .woocommerce-tabs ul.tabs.wc-tabs {
		gap: 0;
		overflow-x: auto;
		flex-wrap: nowrap;
		scrollbar-width: none;
	}
	.single-product .woocommerce-tabs ul.tabs.wc-tabs::-webkit-scrollbar {
		display: none;
	}
	.single-product .woocommerce-tabs ul.tabs.wc-tabs li {
		flex-shrink: 0;
	}
	.single-product .woocommerce-tabs ul.tabs.wc-tabs li a {
		padding: 10px 14px;
		font-size: 13px;
		white-space: nowrap;
	}
	.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		padding: 16px;
		margin-top: 16px;
		border-radius: 12px;
	}
	.single-product .woocommerce-Tabs-panel--additional_information th,
	.single-product .woocommerce-Tabs-panel--additional_information td {
		display: block;
		width: 100%;
		padding: 6px 0;
	}
	.single-product .woocommerce-Tabs-panel--additional_information th {
		padding-bottom: 2px;
	}
	.single-product .woocommerce-Tabs-panel--additional_information td {
		padding-top: 0;
		padding-bottom: 12px;
	}
}

/* ============================================================
   TABS POLISH — motion, micro-interactions, verified badge,
   zebra rows, drop-cap depth, focus rings.
   All pure CSS on WooCommerce's own classes. Zero overrides,
   zero demo data. Appended, not overwritten.
   ============================================================ */

/* Stronger type contrast: active tab keeps 700, inactive drops to 600 */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li:not(.active) a {
	font-weight: 600;
	letter-spacing: 0.01em;
}

/* Hover micro-lift on inactive tabs */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li:not(.active) a {
	transition: color 0.2s ease, transform 0.2s ease;
}
.single-product .woocommerce-tabs ul.tabs.wc-tabs li:not(.active):hover a {
	transform: translateY(-1px);
}

/* Active underline fade-in via @starting-style (modern browsers) */
.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active::after {
	transition: opacity 0.25s ease, transform 0.25s ease;
	transform-origin: center;
}
@supports selector(::starting-style) {
	.single-product .woocommerce-tabs ul.tabs.wc-tabs li.active::after {
		@starting-style {
			opacity: 0;
			transform: scaleX(0.3);
		}
	}
}

/* Panel entrance — WC toggles display:none/block, @starting-style catches it */
.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	transition: opacity 0.3s ease;
}
@supports selector(::starting-style) {
	.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
		@starting-style {
			opacity: 0;
		}
	}
}

/* Description drop-cap depth — subtle offset shadow for a crafted feel */
.single-product .woocommerce-Tabs-panel--description > p:first-of-type::first-letter {
	text-shadow: 2px 2px 0 rgba(124, 58, 237, 0.12);
}
.dark .single-product .woocommerce-Tabs-panel--description > p:first-of-type::first-letter {
	text-shadow: 2px 2px 0 rgba(167, 139, 250, 0.18);
}

/* Additional-info zebra + hover — only on real WC rows */
.single-product .woocommerce-Tabs-panel--additional_information tr:nth-child(even) {
	background: rgba(15, 23, 42, 0.018);
}
.dark .single-product .woocommerce-Tabs-panel--additional_information tr:nth-child(even) {
	background: rgba(255, 255, 255, 0.02);
}
.single-product .woocommerce-Tabs-panel--additional_information tr {
	transition: background 0.15s ease;
}
.single-product .woocommerce-Tabs-panel--additional_information tr:hover {
	background: rgba(124, 58, 237, 0.04);
}
.dark .single-product .woocommerce-Tabs-panel--additional_information tr:hover {
	background: rgba(167, 139, 250, 0.06);
}

/* Review card hover lift */
.single-product #reviews #comments .comment_container {
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.single-product #reviews #comments .comment_container:hover {
	border-color: #c4b5fd;
	transform: translateY(-1px);
	box-shadow: 0 4px 14px -6px rgba(124, 58, 237, 0.18);
}
.dark .single-product #reviews #comments .comment_container:hover {
	border-color: #7c3aed;
	box-shadow: 0 4px 14px -6px rgba(167, 139, 250, 0.25);
}

/* Verified-owner badge — WC adds .woocommerce-review__verified.verified on approved reviews */
.single-product #reviews #comments .comment-text .meta .woocommerce-review__verified.verified {
	font-style: normal;
	font-size: 11px;
	font-weight: 700;
	color: #10b981;
	background: #ecfdf5;
	padding: 2px 8px;
	border-radius: 999px;
	margin-inline-start: 8px;
}
.dark .single-product #reviews #comments .comment-text .meta .woocommerce-review__verified.verified {
	background: rgb(16 185 129 / .15);
	color: #34d399;
}
.single-product #reviews #comments .comment-text .meta .woocommerce-review__verified.verified::before {
	content: "✓ ";
	font-weight: 900;
}

/* Larger, more legible star rating inside each review */
.single-product #reviews #comments .comment-text .star-rating {
	font-size: 16px;
	letter-spacing: 2px;
}

/* Review form star selector — bigger stars with hover feedback */
.single-product #review_form .comment-form-rating .stars {
	font-size: 20px;
	letter-spacing: 3px;
}
.single-product #review_form .comment-form-rating .stars a {
	color: #cbd5e1;
	transition: color 0.15s ease, transform 0.15s ease;
}
.dark .single-product #review_form .comment-form-rating .stars a {
	color: #475569;
}
.single-product #review_form .comment-form-rating .stars a:hover,
.single-product #review_form .comment-form-rating .stars a.active {
	color: #f59e0b;
	transform: scale(1.1);
}

/* Review form focus rings — visible keyboard focus */
.single-product #review_form .comment-form input[type="text"]:focus,
.single-product #review_form .comment-form input[type="email"]:focus,
.single-product #review_form .comment-form textarea:focus {
	border-color: #7c3aed;
	box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
	outline: none;
}
.dark .single-product #review_form .comment-form input[type="text"]:focus,
.dark .single-product #review_form .comment-form input[type="email"]:focus,
.dark .single-product #review_form .comment-form textarea:focus {
	border-color: #a78bfa;
	box-shadow: 0 0 0 3px rgba(167, 139, 250, 0.2);
}

/* Review form submit micro-interaction */
.single-product #review_form .form-submit .submit {
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}
.single-product #review_form .form-submit .submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -6px rgba(124, 58, 237, 0.4);
}
.single-product #review_form .form-submit .submit:active {
	transform: translateY(0);
}
