/* -------------------------------------------------------------------------
 * Single product — mockup layout
 * ------------------------------------------------------------------------- */
.single-product .product-image-summary {
	align-items: flex-start;
}

.single-product .woocommerce-product-gallery {
	border-radius: 8px;
	overflow: hidden;
	background: var(--db-white);
}

.single-product .woocommerce-product-gallery img {
	border-radius: 8px;
}

.single-product .wd-gallery-thumb img,
.single-product .flex-control-thumbs img {
	border-radius: 6px;
	border: 1px solid var(--db-border);
}

.single-product .summary .product_title {
	font-size: clamp(28px, 2.4vw, 36px);
	font-weight: 600;
	letter-spacing: -0.02em;
	margin-bottom: 8px;
	color: var(--db-primary);
}

.single-product .summary .woocommerce-product-rating {
	margin-bottom: 10px;
}

.single-product .summary .price {
	font-size: 28px;
	font-weight: 700;
	color: var(--db-primary);
	margin: 8px 0 12px;
}

.single-product .summary > .stock,
.single-product .summary .wd-product-stock {
	margin: 4px 0 12px;
	font-weight: 600;
}

.single-product .summary .stock.in-stock,
.single-product .summary .wd-product-stock.in-stock {
	color: #2f6b3c;
}

.single-product form.cart .stock {
	display: none;
}

.single-product .summary .woocommerce-product-details__short-description {
	color: var(--db-text);
	line-height: 1.65;
	margin-bottom: 18px;
}

.single-product .cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.single-product .cart .quantity {
	margin: 0;
}

.single-product .summary .single_add_to_cart_button.button,
.single-product .related.products .button,
.single-product .upsells.products .button,
.single-product .wd-carousel-container.related .button {
	border-radius: 6px !important;
	min-height: 48px;
	padding: 0 22px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	flex: 1 1 220px;
}

.wd-header-compare,
.wd-action-btn.wd-compare-icon,
.wd-action-btn.wd-compare-btn,
.wd-compare-btn,
.wd-loop-prod-btn.wd-compare-icon,
.wd-single-compare-btn,
.single-product .product-share,
.single-product .wd-product-share {
	display: none !important;
}

.single-product .wd-wishlist-btn > a,
.single-product .wd-action-btn.wd-wishlist-btn a {
	color: var(--db-text);
	font-size: 14px;
}

.db-sp-extras {
	margin-top: 18px;
	padding-top: 4px;
}

.db-sp-shipping {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 16px 18px;
	border: 1px solid var(--db-border);
	border-radius: 8px;
	background: var(--db-white);
}

.db-sp-shipping-icon {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	margin-top: 2px;
	background-color: var(--db-primary);
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h13v9h-3.5v2H16l3-4h2v6h-2.2a2.5 2.5 0 0 1-4.6 0H9.8a2.5 2.5 0 0 1-4.6 0H3V4zm3.5 13.5A1.5 1.5 0 1 0 7 19.5a1.5 1.5 0 0 0-.5-2zm10 0A1.5 1.5 0 1 0 17 19.5a1.5 1.5 0 0 0-.5-2zM14 6H5v7h9V6z'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3 4h13v9h-3.5v2H16l3-4h2v6h-2.2a2.5 2.5 0 0 1-4.6 0H9.8a2.5 2.5 0 0 1-4.6 0H3V4zm3.5 13.5A1.5 1.5 0 1 0 7 19.5a1.5 1.5 0 0 0-.5-2zm10 0A1.5 1.5 0 1 0 17 19.5a1.5 1.5 0 0 0-.5-2zM14 6H5v7h9V6z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.db-sp-shipping-copy strong {
	display: block;
	color: var(--db-primary);
	margin-bottom: 4px;
}

.db-sp-shipping-copy p {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--db-text);
}

.db-sp-shipping-links {
	font-size: 13px;
}

.db-sp-shipping-links a {
	color: var(--db-primary);
	text-decoration: underline;
}

.db-sp-payments {
	margin-top: 16px;
}

.db-sp-payments-label {
	display: block;
	font-size: 12px;
	color: var(--db-muted);
	margin-bottom: 10px;
}

.db-sp-payment-list {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 12px 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.db-sp-payment-list li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
}

.db-sp-payment-list img {
	display: block;
	height: 32px;
	width: auto;
	max-width: 56px;
	object-fit: contain;
}

.db-sp-payment-list span {
	max-width: 72px;
	font-size: 9px;
	line-height: 1.2;
	text-align: center;
	color: var(--db-muted);
	font-weight: 500;
}

.db-cart-payment-list {
	margin: 0 0 16px;
}

.single-product .woocommerce-tabs {
	margin-top: 36px;
}

.single-product .woocommerce-tabs .wd-nav-tabs,
.single-product .woocommerce-tabs ul.wc-tabs,
.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 8px 28px;
	border-bottom: 1px solid var(--db-border);
	margin: 0 0 28px;
	padding: 0;
	text-align: left;
}

.single-product .woocommerce-tabs .wd-nav-tabs li a,
.single-product .woocommerce-tabs ul.tabs li a {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 0 14px !important;
	margin: 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: none;
	color: var(--db-muted);
}

.single-product .woocommerce-tabs .wd-nav-tabs li.active a,
.single-product .woocommerce-tabs .wd-nav-tabs li.wd-active a,
.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--db-primary) !important;
	box-shadow: inset 0 -2px 0 var(--db-primary) !important;
}

.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child {
	display: none;
}

.single-product .related.products,
.single-product .upsells.products {
	margin-top: 48px;
}

.single-product .related.products .title,
.single-product .related.products .slider-title,
.single-product .related.products .element-title {
	font-size: 28px;
	margin-bottom: 24px;
	color: var(--db-primary);
}

.single-product .related.products .wd-add-btn,
.single-product .related.products .wd-buttons,
.single-product .related.products .product-grid-item .wd-add-btn {
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	position: static !important;
}

.single-product .related.products .wd-add-btn a,
.single-product .related.products .button {
	width: 100%;
	justify-content: center;
	border-radius: 6px;
}

@media (max-width: 767px) {
	.single-product .single_add_to_cart_button {
		flex: 1 1 100%;
	}

	.db-sp-shipping {
		padding: 14px;
	}
}

