/*
 * Department landing page styles — shared visual language across
 * Jewelry, Plants, Books, Beauty, and Home Goods & Decor.
 */

.ie-department-article-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ie-department-article-list li {
	padding: 0.5em 0;
	border-bottom: 1px solid rgba(44, 26, 14, 0.1);
}

.ie-department-article-list a {
	font-family: var(--ie-font-heading);
	text-transform: none;
	letter-spacing: normal;
}

/* ----------------------------------------------------------------------- */
/* Product cards — woocommerce/content-product.php override               */
/* ----------------------------------------------------------------------- */

ul.products {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Neutralize WooCommerce's legacy float-clearfix pseudo-elements — inside a
   flex container these become real zero-width flex items and consume a
   gap, shifting the first row out of alignment with subsequent rows. */
ul.products::before,
ul.products::after {
	content: none !important;
	display: none !important;
}

ul.products li.product:only-child,
ul.products li.ie-product-card:only-child {
	margin: 0 auto !important;
}

ul.products li.product,
ul.products li.ie-product-card {
	margin: 0 !important;
	padding: 0;
	width: auto !important;
	float: none !important;
	flex: 0 1 260px;
	min-width: 240px;
	max-width: 300px;
}

.ie-product-card__frame {
	position: relative;
	height: 100%;
	background-color: #FBF9F4;
	border: 1px solid rgba(44, 26, 14, 0.18);
	padding: 1.5rem 1.5rem 2rem;
	transition: border-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
	overflow: hidden;
}

.ie-product-card__frame:hover {
	border-color: var(--ie-terracotta);
	transform: translateY(-3px);
	box-shadow: 0 10px 24px rgba(44, 26, 14, 0.12);
}

/* Windmill watermark in the corner of every card, brand mark on hover */
.ie-product-card__frame::after {
	content: "";
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	width: 2rem;
	height: 2rem;
	background-image: url("../images/ILOCOS_singleline_transparent.svg");
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 0.08;
	transition: opacity 0.25s ease;
	pointer-events: none;
}

.ie-product-card__frame:hover::after {
	opacity: 0.22;
}

.ie-product-card__frame > a img {
	display: block;
	margin: 0 auto 1.25rem;
	border: 1px solid rgba(44, 26, 14, 0.1);
}

.ie-product-card__body {
	text-align: center;
}

.ie-product-card__body .woocommerce-loop-product__title {
	font-size: 1.05rem;
	margin: 0 0 0.5rem;
}

.ie-product-card__frame .price {
	font-family: var(--ie-font-heading);
	color: var(--ie-terracotta);
	font-size: 1.15rem;
	letter-spacing: 0.03em;
}

.ie-product-card__frame .price del {
	color: rgba(44, 26, 14, 0.45);
}

.ie-product-card__frame .price ins {
	text-decoration: none;
}

.ie-product-card__frame .star-rating {
	margin: 0 auto 0.5rem;
}

.ie-product-card__frame .onsale {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	background-color: var(--ie-terracotta);
	color: var(--ie-cream);
	font-family: var(--ie-font-heading);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.7rem;
	min-height: 0;
	min-width: 0;
	line-height: 1;
	border-radius: 0;
	padding: 0.4em 0.7em;
	margin: 0;
	z-index: 1;
}

.ie-product-card__frame .button {
	display: inline-block;
	margin-top: 1rem;
	font-size: 0.8rem;
	padding: 0.6em 1.2em;
}

/* ----------------------------------------------------------------------- */
/* Single product page — woocommerce/content-single-product.php override  */
/* ----------------------------------------------------------------------- */

.ie-single-product {
	display: flex !important;
	flex-wrap: wrap;
	gap: 3rem;
	align-items: flex-start;
	padding: 2rem 0;
}

.ie-single-product .woocommerce-product-gallery {
	order: 1;
	flex: 1 1 480px;
	min-width: 0;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	border: 1px solid rgba(44, 26, 14, 0.18);
	background-color: #FBF9F4;
	padding: 1rem;
	box-sizing: border-box;
}

.ie-single-product .summary.entry-summary {
	order: 2;
	flex: 1 1 420px;
	min-width: 0;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

/* Everything after the gallery/summary (tabs, related products, the
   windmill divider, department articles, pagination, notices, etc.) must
   sort after them in the flex order — otherwise an element with the
   default order:0 (like the windmill divider) sorts ahead of the
   order:1 gallery in flex-wrap's line-packing and steals row-1 space,
   forcing the summary onto its own line. */
.ie-single-product > *:not(.woocommerce-product-gallery):not(.summary) {
	order: 10;
	flex: 1 1 100%;
}

.ie-single-product .summary.entry-summary {
	padding-top: 0.5rem;
}

.ie-single-product .product_title {
	font-size: 2rem;
	margin-bottom: 0.5rem;
}

.ie-single-product .woocommerce-product-details__short-description {
	font-family: var(--ie-font-body);
	text-transform: none;
	letter-spacing: normal;
	color: rgba(44, 26, 14, 0.85);
	margin: 1rem 0;
}

.ie-single-product .price {
	font-family: var(--ie-font-heading);
	color: var(--ie-terracotta);
	font-size: 1.4rem;
	letter-spacing: 0.03em;
	display: block;
	margin: 0.5rem 0 1rem;
}

.ie-single-product .price del {
	color: rgba(44, 26, 14, 0.45);
}

.ie-single-product .price ins {
	text-decoration: none;
}

.ie-single-product form.cart {
	margin-top: 1.5rem;
}

.ie-single-product .single_add_to_cart_button {
	font-size: 0.9rem;
	padding: 0.8em 2em;
}

.ie-single-product .woocommerce-tabs {
	border-top: 1px solid rgba(44, 26, 14, 0.18);
	margin-top: 2rem;
	padding-top: 2rem;
}

.ie-single-product .woocommerce-tabs ul.tabs {
	list-style: none;
	display: flex;
	gap: 2rem;
	margin: 0 0 2rem;
	padding: 0;
	border-bottom: 1px solid rgba(44, 26, 14, 0.18);
}

.ie-single-product .woocommerce-tabs .panel {
	float: none !important;
	width: 100% !important;
	margin: 0 !important;
	clear: both;
}

.ie-single-product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0 0 0.75rem;
}

.ie-single-product .woocommerce-tabs ul.tabs li a {
	font-family: var(--ie-font-heading);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ie-espresso);
}

.ie-single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ie-terracotta);
}

.ie-single-product .related.products {
	margin-top: 2rem;
}

.ie-single-product .related.products > h2 {
	text-align: center;
}

@media (max-width: 768px) {
	.ie-single-product .woocommerce-product-gallery,
	.ie-single-product .summary.entry-summary {
		flex-basis: 100%;
	}
}

/* ----------------------------------------------------------------------- */
/* Single blog post — content-single.php override                        */
/* ----------------------------------------------------------------------- */

.ie-single-post .entry-title {
	font-size: 2.25rem;
	max-width: 38rem;
}

.ie-single-post .entry-content {
	font-family: var(--ie-font-body);
	font-size: 1.05rem;
	line-height: 1.7;
	max-width: 38rem;
}

.ie-department-badge {
	display: inline-block;
	font-family: var(--ie-font-heading);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
	color: var(--ie-terracotta);
	border: 1px solid var(--ie-terracotta);
	padding: 0.3em 0.9em;
	margin-bottom: 1rem;
}

.ie-department-badge:hover {
	background-color: var(--ie-terracotta);
	color: var(--ie-cream);
}

.ie-department-shop,
.ie-department-articles {
	margin: 2.5rem 0;
}

.ie-department-shop h3,
.ie-department-articles h3 {
	font-family: var(--ie-font-heading);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 1.1rem;
	border-bottom: 1px solid rgba(44, 26, 14, 0.18);
	padding-bottom: 0.5rem;
	margin-bottom: 1.25rem;
}

.ie-department-shop ul.products li.product {
	flex-basis: 200px;
	max-width: 240px;
}

/* ----------------------------------------------------------------------- */
/* Department brand block — featured-brand callout above the product grid */
/* ----------------------------------------------------------------------- */

.ie-brand-block {
	max-width: 700px;
	margin: 0 auto 2.5rem;
	padding: 0 2rem;
	text-align: center;
}

.ie-brand-block__name {
	font-family: var(--ie-font-heading);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ie-espresso);
	font-size: 1.75rem;
	margin: 0 0 0.5rem;
}

.ie-brand-block__tagline {
	font-family: var(--ie-font-heading);
	color: var(--ie-terracotta);
	font-size: 1.1rem;
	letter-spacing: 0.03em;
	margin: 0 0 1rem;
}

.ie-brand-block__description {
	font-family: var(--ie-font-body);
	text-transform: none;
	letter-spacing: normal;
	color: rgba(44, 26, 14, 0.85);
	font-size: 1rem;
	line-height: 1.7;
	margin: 0;
}

/* ── Share button ─────────────────────────────────────────────────── */
.ie-share {
	position: relative;
	display: inline-block;
	margin: 0.5rem 0 1rem;
}
.ie-share__trigger {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	border: 1.5px solid var(--ie-espresso);
	background: transparent;
	color: var(--ie-espresso);
	cursor: pointer;
	padding: 0;
	transition: color 0.2s, border-color 0.2s, background 0.2s;
}
.ie-share__trigger:hover,
.ie-share__trigger:focus-visible {
	color: var(--ie-terracotta);
	border-color: var(--ie-terracotta);
	background: var(--ie-cream);
	outline: none;
}
.ie-share__popover {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 0.25rem;
	background: #fff;
	border: 1px solid rgba(44,26,14,0.15);
	border-radius: 2rem;
	padding: 0.4rem 0.6rem;
	box-shadow: 0 4px 16px rgba(44,26,14,0.12);
	white-space: nowrap;
	z-index: 100;
}
.ie-share__popover[hidden] { display: none; }
.ie-share__option {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: var(--ie-espresso);
	cursor: pointer;
	text-decoration: none;
	padding: 0;
	transition: color 0.2s, background 0.2s;
	position: relative;
}
.ie-share__option:hover,
.ie-share__option:focus-visible {
	color: var(--ie-terracotta);
	background: var(--ie-cream);
	outline: none;
}
.ie-share__copy { font-family: inherit; }
.ie-share__copy-confirm {
	position: absolute;
	top: -1.75rem;
	left: 50%;
	transform: translateX(-50%);
	font-size: 0.7rem;
	font-family: var(--ie-font-body);
	color: var(--ie-terracotta);
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s;
}
.ie-share__copy-confirm--visible { opacity: 1; }
