/* Lumen Home: extra styles on top of theme.json */

.lumen-eyebrow {
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.22em;
	text-transform: uppercase;
	font-weight: 500;
	margin-bottom: 0;
}

/* No gaps between header, page and footer */
.wp-site-blocks > * + * { margin-block-start: 0; }

/* Announcement bar */
.lumen-announcement-text {
	margin: 0;
	text-align: center;
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Header */
.lumen-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .lumen-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .lumen-header { top: 0; } }
.lumen-header .wp-block-navigation a { text-decoration: none; }
.lumen-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent); }
.lumen-header .wp-block-site-title a { text-decoration: none; }
.lumen-header-icons .wp-block-search__button { background: transparent; color: var(--wp--preset--color--contrast); border: 0; padding: 6px; }
.lumen-header-icons .wp-block-search__button svg { width: 22px; height: 22px; fill: currentColor; }
.lumen-header-icons .wc-block-mini-cart__button { padding: 6px; }
@media (max-width: 600px) {
	.lumen-header .wp-block-site-title { font-size: 1.45rem !important; }
	.lumen-header-icons .wp-block-search { display: none; }
}

/* Logo */
.lumen-logo { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none !important; color: var(--wp--preset--color--contrast); }
.lumen-logo__icon svg { width: 42px; height: 42px; display: block; }
.lumen-logo__text { display: flex; flex-direction: column; line-height: 1; }
.lumen-logo__main { font-family: var(--wp--preset--font-family--heading); font-weight: 600; font-size: 1.65rem; letter-spacing: 0.12em; text-transform: uppercase; }
.lumen-logo__sub { font-family: var(--wp--preset--font-family--body); font-weight: 500; font-size: 0.62rem; letter-spacing: 0.62em; text-transform: uppercase; color: var(--wp--preset--color--accent); margin-top: 0.3rem; padding-left: 0.1em; }
.lumen-logo--light { color: var(--wp--preset--color--base-2) !important; }
.lumen-logo--light .lumen-logo__sub { color: var(--wp--preset--color--accent-2); }
.lumen-footer .wp-block-shortcode:first-child, .lumen-footer > p:first-child { margin-top: 0; }
@media (max-width: 600px) {
	.lumen-header .lumen-logo__main { font-size: 1.3rem; }
	.lumen-header .lumen-logo__icon svg { width: 34px; height: 34px; }
}

/* Hero */
.lumen-hero h1 { margin-top: 0.75rem; font-size: clamp(2.6rem, 5vw, 4.2rem); line-height: 1.05; }
.lumen-hero h1 em { color: var(--wp--preset--color--oak); }
.lumen-hero .wp-block-cover__image-background { object-position: 50% 50%; }
.lumen-hero .wp-block-button__link { padding: 0.95rem 2.4rem; letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.82rem; }
.lumen-hero .wp-block-button__link:hover { background: var(--wp--preset--color--oak) !important; }
@media (max-width: 781px) {
	.lumen-hero { min-height: 560px !important; align-items: flex-end !important; }
	.lumen-hero .wp-block-cover__image-background { object-position: 62% 50%; }
	.lumen-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(250, 246, 239, 0.95) 0%, rgba(250, 246, 239, 0.8) 45%, rgba(250, 246, 239, 0) 80%); z-index: 0; }
	.lumen-hero .wp-block-cover__inner-container { z-index: 1; }
}
}

/* Trust bar */
.lumen-trust strong { font-weight: 600; letter-spacing: 0.04em; }
@media (max-width: 781px) {
	.wp-block-columns.lumen-trust-cols { flex-wrap: wrap !important; row-gap: 1rem; }
	.wp-block-columns.lumen-trust-cols > .wp-block-column { flex: 0 0 calc(50% - 1rem) !important; }
}

/* Outline buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px 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: var(--wp--preset--color--base);
}

/* Story */
.lumen-story .wp-block-media-text__content { padding: clamp(2rem, 6vw, 6rem) !important; max-width: 640px; }
.lumen-story h2 em { color: var(--wp--preset--color--accent); }
@media (max-width: 600px) { .lumen-story .wp-block-media-text__media { min-height: 320px; } }

/* Category tiles */
.lumen-cat-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.5rem !important; }
@media (max-width: 900px) { .lumen-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .lumen-cat-grid { grid-template-columns: 1fr; } }
.lumen-cat { margin: 0 !important; }
.lumen-cat .wp-block-image { overflow: hidden; margin-bottom: 0.75rem; }
.lumen-cat .wp-block-image img { width: 100%; transition: transform 0.6s ease; }
.lumen-cat:hover .wp-block-image img { transform: scale(1.05); }
.lumen-cat h3 { margin-top: 0.5rem; margin-bottom: 0.25rem; font-size: 1.9rem !important; }
.lumen-cat .wp-block-buttons { margin-top: 0.75rem; }
.lumen-cat h3 a { text-decoration: none; }


/* Feature blocks */
.lumen-features .lumen-more a { color: var(--wp--preset--color--accent-2); text-decoration: none; letter-spacing: 0.06em; font-size: var(--wp--preset--font-size--small); }

/* WooCommerce product grid (shortcode / classic markup) */
.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2.25rem 1.5rem;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	text-align: center;
}
@media (max-width: 900px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.75rem 1rem; } }
.woocommerce ul.products li.product a img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin-bottom: 1rem !important;
	transition: transform 0.5s ease, opacity 0.3s;
}
.woocommerce ul.products li.product a:hover img { opacity: 0.92; }
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.3rem !important;
	font-weight: 500;
	padding: 0 !important;
	margin: 0 0 0.35rem;
	color: var(--wp--preset--color--contrast);
}
.woocommerce ul.products li.product .price {
	color: var(--wp--preset--color--contrast-2) !important;
	font-size: 1rem !important;
	display: block;
	margin-bottom: 0.85rem;
}

.woocommerce ul.products li.product .button {
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--contrast) !important;
	border-radius: 0 !important;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.75rem 1.4rem !important;
}
.woocommerce ul.products li.product .button:hover { background: var(--wp--preset--color--contrast) !important; color: var(--wp--preset--color--base) !important; }
.woocommerce span.onsale, .wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent) !important;
	color: #fff !important;
	border-radius: 0 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	line-height: 1 !important;
	padding: 0.45rem 0.7rem !important;
	font-size: 0.7rem !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 500 !important;
	top: 0.75rem !important;
	left: 0.75rem !important;
	right: auto !important;
	margin: 0 !important;
}

/* WooCommerce block templates (shop, single product, cart, checkout) */
.wc-block-components-product-name, .wp-block-post-title a { text-decoration: none; }
.wc-block-grid__product-title, .wp-block-woocommerce-product-collection .wp-block-post-title { font-family: var(--wp--preset--font-family--heading); }
.wp-block-add-to-cart-form .single_add_to_cart_button,
.wc-block-components-button:not(.is-link),
.wp-block-button__link.add_to_cart_button {
	border-radius: 0 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.8rem !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 0; }

/* Footer */
.lumen-footer a { text-decoration: none; }
.lumen-footer a:hover { color: var(--wp--preset--color--accent-2) !important; }
.lumen-footer-heading { margin-top: 0; margin-bottom: 1rem; }
.lumen-footer-links, .lumen-company {
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 2;
}
.lumen-company li { line-height: 1.6; margin-bottom: 0.6rem; }
.lumen-company-label { color: var(--wp--preset--color--accent-2); }
.lumen-copyright { margin: 0; text-align: center; font-size: var(--wp--preset--font-size--x-small); letter-spacing: 0.06em; opacity: 0.8; }

/* Pages */
.lumen-contact { list-style: none; padding: 0; }
.lumen-contact li { margin-bottom: 0.5rem; }

/* Contact form */
.lumen-form { max-width: 760px; }
.lumen-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
@media (max-width: 600px) { .lumen-form__row { grid-template-columns: 1fr; } }
.lumen-form label { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 500; margin-bottom: 0.35rem; }
.lumen-form input, .lumen-form textarea {
	width: 100%; box-sizing: border-box; padding: 0.8rem 0.9rem; font: inherit;
	border: 1px solid var(--wp--preset--color--line); background: #fff; border-radius: 0;
}
.lumen-form input:focus, .lumen-form textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 0; }
.lumen-form button { cursor: pointer; border: 0; }
.lumen-hp { position: absolute !important; left: -9999px !important; }
.lumen-notice { padding: 1rem 1.25rem; margin-bottom: 1.5rem; border-left: 3px solid; }
.lumen-notice--ok { background: #EEF4EA; border-color: #5F7F52; }
.lumen-notice--error { background: #F8EAE6; border-color: #B5523B; }

/* Sale prices: original crossed out, sale price large and bold */
.woocommerce .price del, .wc-block-components-product-price del, .wc-block-components-product-price__regular {
	color: var(--wp--preset--color--contrast-2) !important;
	opacity: 0.75;
	font-weight: 400 !important;
	font-size: 0.95em;
	text-decoration: line-through !important;
	text-decoration-thickness: 1.5px !important;
	margin-right: 0.45em;
}
.woocommerce .price ins, .wc-block-components-product-price ins, .wc-block-components-product-price__value.is-discounted {
	text-decoration: none !important;
	font-weight: 700 !important;
	font-size: 1.25em;
	color: var(--wp--preset--color--contrast) !important;
	background: none;
}
.woocommerce ul.products li.product .price { font-size: 1rem !important; color: var(--wp--preset--color--contrast-2) !important; }
.woocommerce div.product p.price, .woocommerce div.product span.price, .wp-block-woocommerce-product-price .wc-block-components-product-price { font-size: 1.5rem !important; }

.lumen-more a { color: var(--wp--preset--color--oak) !important; font-weight: 500; letter-spacing: 0.04em; }
.lumen-more a:hover { color: var(--wp--preset--color--contrast) !important; }
