/* ==========================================================
   Assalatbladi — Shop & Product UX polish
   Layered on top of the Darion parent theme; no parent/plugin
   files touched. Brand tokens (--brown/--terracotta/--gold/
   --sand/--beige/--ink) come from style.css.
   ========================================================== */

/* ---- Collapse empty price / cart containers instead of
   leaving dead whitespace when a product has no price yet ---- */
.price:empty,
.price-single:has(.price:empty),
.content-cart:empty,
.woocommerce-loop-product__link .price:empty {
	display: none !important;
}

/* ==================== Shop grid cards ==================== */

.products-entry {
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	border-radius: 4px;
}

.products-entry:hover {
	box-shadow: 0 10px 24px -12px rgba(34, 20, 8, 0.25);
}

.products-thumb {
	overflow: hidden;
}

.products-thumb img {
	transition: transform 0.4s ease;
}

.products-entry:hover .products-thumb img {
	transform: scale(1.05);
}

.product-title a {
	color: var(--ink, #2c1b0e);
	font-weight: 600;
}

/* Wishlist: compact icon-style pill instead of a bare text button */
.woosw-wishlist {
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.products-entry:hover .woosw-wishlist,
.product-button-mobile .woosw-wishlist {
	opacity: 1;
	transform: translateY(0);
}

.product-button-mobile .woosw-wishlist {
	opacity: 1;
	transform: none;
}

.woosw-btn {
	background: #fff;
	border: 1px solid var(--brown, #8a5a3b);
	color: var(--brown, #8a5a3b);
	border-radius: 999px;
	padding: 6px 14px;
	font-size: 12px;
}

.woosw-btn:hover {
	background: var(--brown, #8a5a3b);
	color: #fff;
}

/* "Read more" / view-details CTA revealed on hover */
.btn-atc .button.read_more {
	display: inline-block;
	background: var(--ink, #2c1b0e);
	color: #fff;
	border-radius: 999px;
	padding: 8px 18px;
	font-size: 13px;
	letter-spacing: 0.02em;
	text-decoration: none;
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.products-entry:hover .btn-atc .button.read_more {
	opacity: 1;
	transform: translateY(0);
}

/* Product price, when present, gets brand styling */
.products-content .price {
	color: var(--terracotta, #b56a4a);
	font-weight: 600;
	margin-top: 4px;
}

/* ==================== Category chip strip ==================== */

.list-categories .item-category,
.list-categories a {
	transition: transform 0.2s ease;
}

.list-categories a:hover {
	transform: translateY(-3px);
}

/* ==================== Sidebar filters ==================== */

.widget-area .product-categories,
ul.product-categories {
	max-height: 220px;
	overflow-y: auto;
	-webkit-mask-image: linear-gradient(to bottom, #000 85%, transparent 100%);
	mask-image: linear-gradient(to bottom, #000 85%, transparent 100%);
	padding-right: 4px;
}

/* Color filter: restyle native select as a pill to match Price buttons */
.widget select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	padding: 8px 36px 8px 16px;
	border: 1px solid var(--brown, #8a5a3b);
	border-radius: 999px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a5a3b' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
	color: var(--brown, #8a5a3b);
	font-size: 14px;
	cursor: pointer;
}

/* Brand tag: add breathing room before the count */
.widget .count {
	margin-left: 4px;
}

/* ==================== Product page ==================== */

.product_title.entry-title {
	line-height: 1.25;
}

/* Readable measure for long descriptions */
.description,
.woocommerce-Tabs-panel p {
	max-width: 70ch;
	line-height: 1.7;
}

.woocommerce-Tabs-panel--description ul {
	max-width: 70ch;
}

/* Gallery thumbnail active state: visible brand-colored ring */
.image-thumbnail .img-thumbnail {
	border: 2px solid transparent;
	border-radius: 4px;
	transition: border-color 0.2s ease, opacity 0.2s ease;
	opacity: 0.65;
}

.image-thumbnail .slick-current .img-thumbnail,
.image-thumbnail .img-thumbnail:hover {
	border-color: var(--terracotta, #b56a4a);
	opacity: 1;
}

/* Show the gallery nav arrows even when Slick disables one, so the
   control reads as symmetric (dimmed rather than vanished) */
.image-additional .slick-arrow.slick-disabled {
	opacity: 0.3;
	pointer-events: none;
}

/* Get a Quote button: swap stock teal for brand terracotta */
.wpb-get-a-quote-button-btn-default {
	background: var(--terracotta, #b56a4a) !important;
	border-color: var(--terracotta, #b56a4a) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
}

.wpb-get-a-quote-button-btn-default:hover,
.wpb-get-a-quote-button-btn-default:focus {
	background: var(--brown, #8a5a3b) !important;
	border-color: var(--brown, #8a5a3b) !important;
}

/* Category / tag meta as pills instead of a plain inline list */
.product_meta .posted_in a,
.product_meta .tagged_as a {
	display: inline-block;
	border: 1px solid var(--sand, #f5ede1);
	background: var(--sand, #f5ede1);
	color: var(--brown, #8a5a3b);
	border-radius: 999px;
	padding: 2px 10px;
	font-size: 12px;
	text-decoration: none;
	margin: 2px 2px;
}

.product_meta .posted_in a:hover,
.product_meta .tagged_as a:hover {
	background: var(--brown, #8a5a3b);
	color: #fff;
}

/* ==========================================================
   2026 storefront refinement
   ========================================================== */

:root {
	--ab-ink: #261b14;
	--ab-muted: #74675e;
	--ab-brown: #765039;
	--ab-terracotta: #b76645;
	--ab-gold: #bd9554;
	--ab-ivory: #fcfaf6;
	--ab-sand: #f2eadf;
	--ab-line: rgba(64, 43, 29, 0.13);
	--ab-shadow: 0 18px 50px rgba(54, 35, 22, 0.09);
	--ab-radius: 18px;
}

/* Single product: gallery + information card */
.single-product .bwp-main {
	background: linear-gradient(180deg, var(--ab-ivory), #fff 560px);
}

.single-product div.product .bwp-single-product,
.single-product div.product .product-type-variable,
.single-product div.product .product-type-simple {
	color: var(--ab-ink);
}

.single-product .images,
.single-product .woocommerce-product-gallery,
.single-product .product-images {
	border-radius: 22px;
}

.single-product .woocommerce-product-gallery__wrapper,
.single-product .image-single,
.single-product .image-scroll,
.single-product .image-additional {
	border-radius: 20px;
	background: #f5f0e9;
	overflow: hidden;
}

.single-product .summary,
.single-product .entry-summary {
	padding: clamp(24px, 3.2vw, 44px);
	border: 1px solid var(--ab-line);
	border-radius: 22px;
	background: rgba(255, 255, 255, .92);
	box-shadow: var(--ab-shadow);
}

.single-product .product_title {
	margin-bottom: 14px;
	color: var(--ab-ink);
	font-size: clamp(28px, 3vw, 46px);
	font-weight: 600;
	letter-spacing: -.035em;
}

.single-product .summary .price,
.single-product .price-single .price {
	margin: 12px 0 20px;
	color: var(--ab-terracotta);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 700;
}

.single-product .woocommerce-product-details__short-description {
	margin: 0 0 22px;
	color: var(--ab-muted);
	font-size: 15px;
	line-height: 1.75;
}

.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 22px 0;
	padding: 20px 0;
	border-top: 1px solid var(--ab-line);
	border-bottom: 1px solid var(--ab-line);
}

.single-product form.cart .quantity {
	margin: 0 !important;
	border: 1px solid var(--ab-line);
	border-radius: 999px;
	background: var(--ab-ivory);
	overflow: hidden;
}

.single-product form.cart .quantity input {
	min-height: 48px;
	border: 0;
	background: transparent;
}

.single-product form.cart .single_add_to_cart_button,
.single-product .wpb-get-a-quote-button-btn-default {
	min-height: 50px;
	padding: 0 28px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ab-terracotta) !important;
	color: #fff !important;
	font-weight: 700 !important;
	box-shadow: 0 9px 22px rgba(183, 102, 69, .22);
	transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.single-product form.cart .single_add_to_cart_button:hover,
.single-product .wpb-get-a-quote-button-btn-default:hover {
	transform: translateY(-2px);
	background: var(--ab-brown) !important;
	box-shadow: 0 12px 28px rgba(82, 51, 33, .22);
}

.single-product .product_meta {
	display: grid;
	gap: 8px;
	margin-top: 20px;
	color: var(--ab-muted);
	font-size: 13px;
}

/* Trust/reassurance row injected from the child theme */
.assalatbladi-product-reassurance {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 20px;
}

.assalatbladi-reassurance-item {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 12px 10px;
	border: 1px solid var(--ab-line);
	border-radius: 12px;
	background: var(--ab-ivory);
}

.assalatbladi-reassurance-icon {
	display: grid;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 50%;
	background: var(--ab-sand);
	color: var(--ab-terracotta);
	font-size: 15px;
	font-weight: 700;
}

.assalatbladi-reassurance-item strong,
.assalatbladi-reassurance-item small {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
}

.assalatbladi-reassurance-item strong {
	color: var(--ab-ink);
	font-size: 11px;
	line-height: 1.35;
}

.assalatbladi-reassurance-item small {
	margin-top: 2px;
	color: var(--ab-muted);
	font-size: 9px;
	line-height: 1.3;
}

/* Product tabs and recommendations */
.single-product .woocommerce-tabs {
	margin-top: clamp(48px, 7vw, 90px);
}

.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs::before {
	display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid var(--ab-line) !important;
	border-radius: 999px !important;
	background: #fff !important;
}

.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
	padding: 11px 20px !important;
	color: var(--ab-muted) !important;
	font-size: 13px;
	font-weight: 600 !important;
}

.single-product .woocommerce-tabs ul.tabs li.active {
	border-color: var(--ab-ink) !important;
	background: var(--ab-ink) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: #fff !important;
}

.single-product .woocommerce-Tabs-panel {
	padding: clamp(24px, 4vw, 46px) !important;
	border: 1px solid var(--ab-line);
	border-radius: 18px;
	background: var(--ab-ivory);
	color: var(--ab-muted);
}

.single-product .related > h2,
.single-product .upsells > h2 {
	margin-bottom: 30px;
	color: var(--ab-ink);
	font-size: clamp(24px, 3vw, 38px);
	letter-spacing: -.025em;
}

/* Keyboard users should always see where they are */
.post-type-archive-product a:focus-visible,
.tax-product_cat a:focus-visible,
.single-product a:focus-visible,
.single-product button:focus-visible {
	outline: 3px solid rgba(183, 102, 69, .4);
	outline-offset: 3px;
}

@media (max-width: 991px) {
	.single-product .summary,
	.single-product .entry-summary {
		margin-top: 28px;
		padding: 26px;
	}

}

@media (max-width: 767px) {
	.single-product .summary,
	.single-product .entry-summary {
		padding: 22px 18px;
		border-radius: 16px;
	}

	.single-product .product_title {
		font-size: 28px;
	}

	.single-product form.cart {
		align-items: stretch;
	}

	.single-product form.cart .single_add_to_cart_button,
	.single-product .wpb-get-a-quote-button-btn-default {
		flex: 1 1 190px;
	}

	.assalatbladi-product-reassurance {
		grid-template-columns: 1fr;
	}

	.assalatbladi-reassurance-item strong {
		font-size: 12px;
	}

	.assalatbladi-reassurance-item small {
		font-size: 10px;
	}

	.single-product .woocommerce-Tabs-panel {
		padding: 22px 18px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-product button {
		transition: none !important;
	}
}
