/* PureChem Lab — supplemental styles (theme.json handles most of the design). */

:root {
	--pcl-radius: 14px;
	--pcl-radius-lg: 22px;
}

body { -webkit-font-smoothing: antialiased; }

/* ---------- Header ---------- */
.pcl-announce p { margin: 0; }
.pcl-header {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: saturate(1.4) blur(8px);
	background: rgba(251, 250, 247, 0.92) !important;
}
.admin-bar .pcl-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pcl-header { top: 46px; } }

.pcl-logo-mark {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-weight: 800;
	font-size: 15px;
	line-height: 1;
	flex: none;
}
.pcl-header .wp-block-search__input {
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	padding: 0.55rem 1rem;
	min-width: 0;
}
.pcl-header .wp-block-search__button {
	border-radius: 999px;
	padding: 0.55rem 0.9rem;
	margin-left: 6px;
}
@media (max-width: 900px) {
	.pcl-header .pcl-header-search { display: none; }
}

/* ---------- Generic cards ---------- */
.pcl-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--pcl-radius);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.pcl-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--soft);
	border-color: #c6d6d0;
}
.pcl-card a { text-decoration: none; }
.pcl-rounded { border-radius: var(--pcl-radius-lg); overflow: hidden; }

.pcl-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.75rem !important;
	font-weight: 700;
	color: var(--wp--preset--color--primary);
}

/* Icon chips used in trust strip / category tiles */
.pcl-icon {
	display: inline-grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--primary);
	font-size: 22px;
	line-height: 1;
}

/* Hero decoration */
.pcl-hero { position: relative; overflow: hidden; }
.pcl-hero-visual {
	position: relative;
	aspect-ratio: 1 / 1;
	max-width: 460px;
	margin-inline: auto;
	border-radius: 40% 60% 55% 45% / 45% 45% 55% 55%;
	background:
		radial-gradient(circle at 30% 30%, rgba(255,255,255,.55), transparent 45%),
		linear-gradient(145deg, #CFE6DD 0%, #9CCBBB 55%, #0E6B5E 130%);
}
.pcl-hero-visual::before,
.pcl-hero-visual::after {
	content: "";
	position: absolute;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--wp--preset--shadow--soft);
}
/* capsule */
.pcl-hero-visual::before {
	width: 46%;
	height: 18%;
	left: 22%;
	top: 34%;
	transform: rotate(-28deg);
	background: linear-gradient(90deg, #fff 50%, #E9963F 50%);
}
/* tablet */
.pcl-hero-visual::after {
	width: 18%;
	height: 18%;
	right: 18%;
	bottom: 22%;
	background: radial-gradient(circle, #fff 60%, #E7F1ED 61%);
}
.pcl-hero-badge {
	position: absolute;
	left: 4%;
	bottom: 10%;
	background: #fff;
	border-radius: 14px;
	padding: 0.7rem 1rem;
	box-shadow: var(--wp--preset--shadow--soft);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}
.pcl-hero-badge strong { display: block; color: var(--wp--preset--color--primary); font-size: 1.05rem; }

/* Outline button style */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1.5px solid currentColor;
	background: transparent;
	color: var(--wp--preset--color--contrast);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: #fff;
}

/* Footer */
.pcl-footer a { color: inherit; text-decoration: none; opacity: .85; }
.pcl-footer a:hover { opacity: 1; text-decoration: underline; }
.pcl-footer .wp-block-list { list-style: none; padding-left: 0; }
.pcl-footer .wp-block-list li { margin-bottom: .45rem; }

/* ---------- WooCommerce ---------- */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--pcl-radius);
	padding: 14px 14px 18px !important;
	text-align: left;
	transition: box-shadow .2s ease, transform .2s ease;
}
.woocommerce ul.products li.product:hover,
.wc-block-product:hover {
	box-shadow: var(--wp--preset--shadow--soft);
	transform: translateY(-2px);
}
.woocommerce ul.products li.product img,
.wc-block-components-product-image img {
	border-radius: 10px;
	background: var(--wp--preset--color--mint);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem !important;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wp--preset--color--primary) !important;
	font-weight: 700;
}
.woocommerce span.onsale {
	background: var(--wp--preset--color--amber) !important;
	border-radius: 999px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	padding: .45em .8em !important;
	font-weight: 700;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link) {
	background: var(--wp--preset--color--primary) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	padding: .75em 1.4em !important;
	border: 0 !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--wp--preset--color--primary-dark) !important;
}
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--wp--preset--color--primary) !important;
	background: var(--wp--preset--color--mint) !important;
	border-radius: 10px;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--wp--preset--color--primary) !important; }

.pcl-product-notice {
	margin-top: 1rem;
	padding: .85rem 1rem;
	border-radius: 10px;
	background: var(--wp--preset--color--amber-wash);
	font-size: .85rem;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast);
}

/* Empty shop message styled nicely */
.woocommerce-no-products-found .woocommerce-info,
.wc-block-product-collection__no-results { text-align: center; }

/* Mobile tidy-ups */
@media (max-width: 600px) {
	.pcl-hide-mobile { display: none !important; }
}
