/* ============================================================
 * Anunaki Theme v1.6 — Phase D overlay
 * Branded WC shop + product override styles.
 * Loaded after anunaki-v15.css (see functions.php).
 * Scoped under .site-main--{shop,product} to avoid bleed.
 * ============================================================ */

/* Hero tints ----------------------------------------------------------- */
.page-hero--shop,
.page-hero--product {
	padding: 64px 0 28px;
	text-align: center;
	border-bottom: 1px solid var(--line, #eee);
}
.page-hero--shop {
	background: linear-gradient(180deg, #f7ecd4 0%, #fff 100%);
}
.page-hero--product {
	background: linear-gradient(180deg, #f4ead3 0%, #fff 100%);
	padding: 40px 0 14px;
	text-align: left;
	border-bottom: 0;
}
.page-hero--product .container { max-width: 1200px; }
.page-hero--product .eyebrow { margin-bottom: 0; }
.page-hero--product .eyebrow a { color: inherit; text-decoration: none; }
.page-hero--product .eyebrow a:hover { color: var(--anu-copper); }

.page-hero--shop .page-hero__title {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: clamp(28px, 4vw, 40px);
	margin: 8px 0 10px;
	color: var(--anu-ink);
	letter-spacing: .5px;
}
.page-hero--shop .page-hero__lede {
	max-width: 720px;
	margin: 0 auto;
	color: var(--anu-muted);
	font-size: 15px;
	line-height: 1.7;
}
.page-hero--shop .term-description { color: var(--anu-muted); }

/* Breadcrumb chrome ---------------------------------------------------- */
.anu-crumbs { padding-top: 16px; padding-bottom: 16px; }
.anu-crumbs .woocommerce-breadcrumb {
	color: var(--anu-muted);
	font-size: 13px;
	letter-spacing: .3px;
}
.anu-crumbs .woocommerce-breadcrumb a {
	color: var(--anu-muted);
	text-decoration: none;
	transition: color .15s ease;
}
.anu-crumbs .woocommerce-breadcrumb a:hover { color: var(--anu-copper); }

/* Shop + product main wrappers ---------------------------------------- */
.site-main--shop,
.site-main--product {
	padding: 16px 0 56px;
}
.site-main--shop .shop-main {
	min-width: 0;
}

/* Shop layout scoped refinements -------------------------------------- */
.site-main--shop .shop-layout {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 32px;
	align-items: start;
}
@media (max-width: 900px) {
	.site-main--shop .shop-layout { grid-template-columns: 1fr; }
}
.site-main--shop .shop-sidebar {
	position: sticky;
	top: 100px;
	align-self: start;
}
@media (max-width: 900px) {
	.site-main--shop .shop-sidebar { position: static; }
}
.site-main--shop .shop-filter + .shop-filter { margin-top: 22px; }
.site-main--shop .shop-filter__title {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 14px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--anu-ink);
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--anu-gold);
}
.site-main--shop .shop-filter__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.site-main--shop .shop-filter__list li {
	border-bottom: 1px dashed var(--line, #eee);
}
.site-main--shop .shop-filter__list li:last-child { border-bottom: 0; }
.site-main--shop .shop-filter__list li a {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 9px 2px;
	color: var(--anu-ink);
	text-decoration: none;
	font-size: 14px;
	transition: color .15s ease, padding-left .15s ease;
}
.site-main--shop .shop-filter__list li a:hover {
	color: var(--anu-copper);
	padding-left: 4px;
}
.site-main--shop .shop-filter__list li a small {
	color: var(--anu-muted);
	font-size: 12px;
}
.site-main--shop .shop-filter__list li.is-current a {
	color: var(--anu-copper);
	font-weight: 700;
}

/* WC result count + ordering bar -------------------------------------- */
.site-main--shop .woocommerce-result-count,
.site-main--shop .woocommerce-ordering {
	color: var(--anu-muted);
	font-size: 13px;
	margin-bottom: 18px;
}
.site-main--shop .woocommerce-ordering select {
	background: #fff;
	border: 1px solid var(--line, #eee);
	border-radius: var(--anu-radius-sm);
	padding: 8px 10px;
	font-size: 13px;
	color: var(--anu-ink);
	cursor: pointer;
}
.site-main--shop .woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--anu-gold);
	box-shadow: 0 0 0 3px rgba(201,168,76,.18);
}

/* Product loop grid --------------------------------------------------- */
.site-main--shop ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 22px;
}

/* Product card -------------------------------------------------------- */
li.product-card.anu-card {
	margin: 0;
	padding: 0;
	list-style: none;
	background: #fff;
	border: 1px solid var(--line, #eee);
	border-radius: var(--anu-radius);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	position: relative;
}
li.product-card.anu-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--anu-shadow);
	border-color: var(--anu-gold);
}
.product-card__link {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
	height: 100%;
}
.product-card__media {
	position: relative;
	aspect-ratio: 1 / 1;
	background: #faf6ec;
	overflow: hidden;
}
.product-card__media img,
.product-card__img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	transition: transform .4s ease;
}
li.product-card.anu-card:hover .product-card__media img {
	transform: scale(1.04);
}
.product-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--anu-muted);
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 20px;
	letter-spacing: 2px;
}
.product-card__body {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1;
}
.product-card__cat {
	display: block;
	font-size: 11px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--anu-muted);
}
.product-card__cat a {
	color: inherit;
	text-decoration: none;
}
.product-card__title {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 16px;
	line-height: 1.35;
	color: var(--anu-ink);
	margin: 2px 0 2px;
	min-height: 2.7em;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-card__specs {
	margin: 0;
	font-size: 13px;
	color: var(--anu-muted);
	line-height: 1.5;
	min-height: 2.4em;
}
.product-card__rating {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	color: var(--anu-muted);
}
.product-card__stars {
	--r: 0;
	position: relative;
	color: #e7dfcd;
	font-size: 13px;
	letter-spacing: 1px;
}
.product-card__stars::before {
	content: '★★★★★';
	position: absolute;
	top: 0;
	left: 0;
	color: var(--anu-gold);
	overflow: hidden;
	width: calc(var(--r) / 5 * 100%);
}
.product-card__footer {
	margin-top: auto;
	padding-top: 10px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	border-top: 1px dashed var(--line, #eee);
}
.product-card__price {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 17px;
	color: var(--anu-copper);
	font-weight: 600;
}
.product-card__price del,
.product-card__price .woocommerce-Price-amount del {
	color: var(--anu-muted);
	font-size: 13px;
	font-weight: 400;
	margin-right: 4px;
}
.product-card__price ins {
	text-decoration: none;
	color: var(--anu-copper);
}
.product-card__cta { flex-shrink: 0; }

/* Ghost button variant (used by product card CTA) --------------------- */
.btn--ghost {
	background: #fff;
	color: var(--anu-ink);
	border: 1px solid var(--anu-gold);
	padding: 7px 14px;
	border-radius: 999px;
	font-size: 12px;
	letter-spacing: .8px;
	text-transform: uppercase;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}
li.product-card.anu-card:hover .btn--ghost {
	background: linear-gradient(135deg, var(--anu-copper), var(--anu-gold));
	color: #fff;
	border-color: transparent;
}

/* Badge system -------------------------------------------------------- */
.anu-badges {
	position: absolute;
	top: 10px;
	left: 10px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	z-index: 2;
	pointer-events: none;
}
.anu-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 9px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	background: #fff;
	color: var(--anu-ink);
	border: 1px solid var(--line, #eee);
	box-shadow: 0 2px 4px rgba(0,0,0,.06);
}
.anu-badge--sale {
	background: var(--anu-copper);
	color: #fff;
	border-color: transparent;
}
.anu-badge--new {
	background: var(--anu-success);
	color: #fff;
	border-color: transparent;
}
.anu-badge--low {
	background: #fff;
	color: var(--anu-copper);
	border-color: var(--anu-copper);
}
.anu-badge--out {
	background: var(--anu-ink);
	color: #fff;
	border-color: transparent;
}

/* Single-product body refinements ------------------------------------- */
.site-main--product div.product {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	margin-top: 8px;
}
@media (min-width: 860px) {
	.site-main--product div.product {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
		gap: 48px;
		align-items: start;
	}
}
.site-main--product div.product .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0;
}
.site-main--product div.product .entry-summary {
	width: 100% !important;
	float: none !important;
	margin: 0;
}
.site-main--product .product_title.entry-title {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: clamp(24px, 3.5vw, 34px);
	color: var(--anu-ink);
	line-height: 1.2;
	margin: 0 0 14px;
}
.site-main--product .woocommerce-product-details__short-description {
	color: var(--anu-muted);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 16px;
}
.site-main--product p.price,
.site-main--product span.price {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 24px;
	color: var(--anu-copper);
	font-weight: 600;
	margin-bottom: 14px;
}
.site-main--product p.price del,
.site-main--product span.price del {
	color: var(--anu-muted);
	font-size: 16px;
	font-weight: 400;
	margin-right: 6px;
}
.site-main--product .quantity .qty {
	height: 44px;
	padding: 0 10px;
	border: 1px solid var(--line, #eee);
	border-radius: var(--anu-radius-sm);
	font-size: 15px;
	text-align: center;
}
.site-main--product .quantity .qty:focus {
	outline: none;
	border-color: var(--anu-gold);
	box-shadow: 0 0 0 3px rgba(201,168,76,.18);
}
.site-main--product .single_add_to_cart_button.button {
	background: linear-gradient(135deg, var(--anu-copper), var(--anu-gold)) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 13px 26px !important;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	border-radius: 999px !important;
	box-shadow: 0 6px 18px rgba(184,115,51,.25);
	transition: transform .15s ease, box-shadow .18s ease;
}
.site-main--product .single_add_to_cart_button.button:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(184,115,51,.32);
}
.site-main--product .product_meta {
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px dashed var(--line, #eee);
	color: var(--anu-muted);
	font-size: 13px;
}
.site-main--product .product_meta > span {
	display: block;
	margin-bottom: 4px;
}
.site-main--product .product_meta a {
	color: var(--anu-copper);
	text-decoration: none;
}
.site-main--product .product_meta a:hover { text-decoration: underline; }

/* Tabs (description / additional / reviews) --------------------------- */
.site-main--product .woocommerce-tabs {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--line, #eee);
}
.site-main--product .woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	border-bottom: 1px solid var(--line, #eee);
}
.site-main--product .woocommerce-tabs ul.tabs::before,
.site-main--product .woocommerce-tabs ul.tabs::after { display: none; }
.site-main--product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.site-main--product .woocommerce-tabs ul.tabs li a {
	display: inline-block;
	padding: 12px 18px;
	color: var(--anu-muted);
	text-decoration: none;
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 13px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	border-bottom: 2px solid transparent;
	transition: color .15s ease, border-color .15s ease;
}
.site-main--product .woocommerce-tabs ul.tabs li.active a {
	color: var(--anu-ink);
	border-bottom-color: var(--anu-gold);
}
.site-main--product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--anu-ink);
}
.site-main--product .woocommerce-Tabs-panel {
	color: var(--anu-ink);
	font-size: 15px;
	line-height: 1.75;
}

/* Related products ---------------------------------------------------- */
.site-main--product .related.products,
.site-main--product .upsells.products {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--line, #eee);
}
.site-main--product .related.products > h2,
.site-main--product .upsells.products > h2 {
	font-family: var(--font-display, 'Cinzel', serif);
	font-size: 22px;
	color: var(--anu-ink);
	margin: 0 0 20px;
	letter-spacing: .5px;
}
.site-main--product .related.products ul.products,
.site-main--product .upsells.products ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 18px;
}

/* WC notices inside product / shop scope ------------------------------ */
.site-main--shop .woocommerce-message,
.site-main--shop .woocommerce-info,
.site-main--product .woocommerce-message,
.site-main--product .woocommerce-info {
	background: #faf8f3;
	border-top-color: var(--anu-gold);
	color: var(--anu-ink);
}
.site-main--shop .woocommerce-error,
.site-main--product .woocommerce-error {
	background: #fdf4f3;
	border-top-color: var(--anu-error);
	color: var(--anu-ink);
}

/* Mobile tightening --------------------------------------------------- */
@media (max-width: 820px) {
	.page-hero--shop { padding: 44px 0 20px; }
	.page-hero--product { padding: 28px 0 10px; }
	.site-main--shop,
	.site-main--product { padding: 12px 0 40px; }
	.site-main--shop ul.products {
		grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
		gap: 14px;
	}
	.product-card__title { font-size: 15px; min-height: 2.4em; }
	.product-card__price { font-size: 15px; }
	.product-card__body { padding: 12px 13px 14px; }
	.anu-badges { top: 8px; left: 8px; }
	.anu-badge { font-size: 9px; padding: 2px 7px; }
}
@media (max-width: 480px) {
	.site-main--shop ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}
	.product-card__cta { display: none; }
	.product-card__footer { justify-content: flex-start; }
}

/* ============================================================
 * Phase J — [hidden] attribute enforcement on floating UI
 * -----------------------------------------------------------
 * Fix for stuck cookie banner + announce bar: `.anu-cookie` and
 * `.anu-announce` set `display: flex` which clobbered the browser
 * default `[hidden] { display: none }`, so `box.hidden = true`
 * from the JS ack() handler appeared to do nothing visually.
 *
 * Attribute selectors naturally trump plain class selectors, but
 * we keep !important as belt-and-suspenders against any future
 * optimizer/minifier that might re-order rules.
 * ============================================================ */
.anu-cookie[hidden],
.anu-announce[hidden],
[data-anu="cookie"][hidden],
[data-anu="announce"][hidden] {
	display: none !important;
}

/* ============================================================
 * Phase N — Dark-mystical header (2026-04-24, per Tawan)
 * -----------------------------------------------------------
 * Site brand is dark mystical (#0a0a0a / gold #c9a84c / copper
 * #b87333) but v15.css defaults `.site-header` bg to `var(--anu-bg,
 * #fff)` which rendered as white — clashing with brand. This section
 * forces dark header across all states + flips nav link + icon
 * colors to light/gold for contrast. Gold CTA + logo untouched.
 *
 * Covers:
 *   1. Base & sticky header bg → deep ink
 *   2. Top-level nav anchor text → warm off-white
 *   3. Nav anchor hover + current-menu → gold
 *   4. Icon/utility buttons (cart, search) → off-white stroke
 *   5. Site logo text link → gold (if text logo vs image)
 *   6. Dropdown/mega-panel background matches header
 *   7. Cart count badge → copper bg
 * ============================================================ */
.site-header,
.has-sticky-header .site-header {
	background: #0a0a0a !important;
	border-bottom-color: rgba(201,168,76,.18) !important;
}
.site-header,
.site-header * {
	color-scheme: dark;
}
.site-header a:not(.btn):not(.site-logo):not(.site-logo-link),
.site-header nav a,
.site-header .main-nav a,
.site-header .menu > li > a,
.site-header__inner a:not(.btn) {
	color: #e8e0d0;
}
.site-header a:not(.btn):hover,
.site-header nav a:hover,
.site-header .main-nav a:hover,
.site-header .menu > li > a:hover,
.site-header .menu > li.current-menu-item > a,
.site-header .menu > li.current-menu-parent > a,
.site-header .menu > li.current-menu-ancestor > a {
	color: var(--anu-gold, #c9a84c);
}
.site-header .site-logo,
.site-header .site-logo a,
.site-header .site-logo-text {
	color: var(--anu-gold, #c9a84c);
}
/* SVG icons in header (search magnifier, cart, hamburger) inherit stroke from text color */
.site-header svg:not(.site-logo svg) {
	color: #e8e0d0;
	stroke: currentColor;
	fill: currentColor;
}
.site-header svg:hover {
	color: var(--anu-gold, #c9a84c);
}
/* Cart count badge — copper circle on dark */
.site-header .header-cart-count {
	background: var(--anu-copper, #b87333);
	color: #fff;
	border: 0;
}
/* Mobile nav drawer inherits dark tone */
.site-header #primary-nav.is-open,
.site-header .primary-nav.is-open,
.has-sticky-header .site-header.is-stuck .mega-panel {
	background: #0a0a0a;
	color: #e8e0d0;
}
/* Mega menu panel (dropdown from header) */
.site-header .mega-panel,
.site-header .sub-menu {
	background: #141414;
	border: 1px solid rgba(201,168,76,.18);
	color: #e8e0d0;
}
.site-header .mega-panel a,
.site-header .sub-menu a {
	color: #cfc5ae;
}
.site-header .mega-panel a:hover,
.site-header .sub-menu a:hover {
	color: var(--anu-gold, #c9a84c);
	background: rgba(201,168,76,.06);
}
/* Keep the gold CTA button pill readable — solid gold bg + dark text */
.site-header .btn,
.site-header .btn--solid,
.site-header .btn--primary {
	/* inherits from base theme; just ensure the pill doesn't get flipped */
	color: #0a0a0a;
}
/* When sticky scrolled, add subtle gold underline border */
.site-header.is-stuck {
	box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
}
