/**
 * Storefront polish — spacing, type, controls.
 * Loaded after style.css. Does not change prices, copy, or checkout logic.
 */

:root {
	--omg-ink: #1a1a1a;
	--omg-muted: #4b4f58;
	--omg-line: #e7e7ea;
	--omg-surface: #fff;
	--omg-accent: #c20044;
	--omg-radius: 8px;
	--omg-radius-card: 12px;
	--omg-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
	--omg-control: 44px;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
	outline: 2px solid var(--omg-accent);
	outline-offset: 2px;
}

/* Section and page titles: sentence case, darker, less template-like. */
.home .entry-content h1.wp-block-heading,
.home .entry-content h2,
.home .omg-home-section-head h2,
.omg-home-section h2 {
	color: var(--omg-ink);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
	text-transform: none;
}

.home .entry-content h1.wp-block-heading {
	display: block;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	font-size: 26px;
	text-align: center;
}

.woocommerce-products-header h1.page-title,
.ast-archive-description h1.page-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title,
.woocommerce-account .entry-title {
	color: var(--omg-ink);
	font-weight: 600;
	letter-spacing: -0.03em;
	line-height: 1.2;
	text-transform: none;
}

@media (min-width: 922px) {
	.woocommerce-products-header h1.page-title,
	.ast-archive-description h1.page-title {
		font-size: 32px;
		margin-bottom: 8px;
	}
}

.single-product .product_title {
	color: var(--omg-ink);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.25;
	text-transform: none;
}

.single-post .entry-content h2,
.single-post .entry-content h3,
.page .entry-content h2,
.page .entry-content h3 {
	color: var(--omg-ink);
	font-weight: 600;
	letter-spacing: -0.02em;
	text-transform: none;
}

.woocommerce-breadcrumb,
.rank-math-breadcrumb,
.ast-breadcrumbs-wrapper {
	color: var(--omg-muted);
	font-size: 13px;
	line-height: 1.4;
	margin-bottom: 12px;
}

.woocommerce-breadcrumb a,
.rank-math-breadcrumb a {
	color: var(--omg-muted);
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover,
.rank-math-breadcrumb a:hover {
	color: var(--omg-accent);
}

/* Trust row: three items sit together instead of stretching across the page. */
.omg-trust-strip {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 28px;
	border: 1px solid var(--omg-line);
	box-shadow: var(--omg-shadow);
}

.omg-trust-item {
	flex-direction: row;
	justify-content: center;
	gap: 8px;
	width: auto;
}

.omg-trust-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #00a854;
	line-height: 0;
}

.omg-trust-svg {
	display: block;
	width: 22px;
	height: 22px;
}

@media (max-width: 768px) {
	.omg-trust-strip {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px 12px;
		justify-items: center;
	}
}

/* Toidulisandid is the only full-bleed mega menu. Keep it a compact panel. */
@media (min-width: 922px) {
	.astra-megamenu-li.full-width-mega > .astra-full-megamenu-wrapper {
		left: 0 !important;
		right: auto !important;
		width: max-content !important;
		max-width: min(720px, calc(100vw - 32px)) !important;
	}

	.astra-megamenu-li.full-width-mega .astra-megamenu.astra-mega-menu-width-full {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(180px, 220px)) !important;
		width: auto !important;
		max-width: 100% !important;
	}

	.astra-megamenu-li.full-width-mega .astra-megamenu > .menu-item > .menu-link {
		white-space: nowrap;
	}
}

/* Footer: drop the empty vertical padding around social, contact and copyright. */
.site-above-footer-wrap,
.site-below-footer-wrap {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
	min-height: 0 !important;
}

.site-above-footer-wrap .ast-builder-footer-grid-columns,
.site-below-footer-wrap .ast-builder-footer-grid-columns,
.site-below-footer-wrap .site-below-footer-inner-wrap {
	min-height: 0 !important;
}

.site-above-footer-wrap .ast-builder-social-element {
	padding: 6px !important;
}

@media (max-width: 921px) {
	.site-above-footer-wrap .ast-builder-social-element {
		min-width: 44px;
		min-height: 44px;
	}
}

.site-primary-footer-wrap {
	padding-top: 14px !important;
	padding-bottom: 10px !important;
}

.site-primary-footer-wrap .wp-block-heading,
.site-primary-footer-wrap h2,
.site-primary-footer-wrap p,
.site-primary-footer-wrap .widget {
	margin-top: 0 !important;
	margin-bottom: 2px !important;
}

.footer-legal-links {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}

/* Desktop search is a real field, not a 260px strip. */
@media (min-width: 922px) {
	.ast-desktop .dgwt-wcas-search-wrapp {
		width: min(440px, 34vw);
		max-width: 440px;
	}

	.ast-desktop .dgwt-wcas-search-input {
		width: 100%;
		height: var(--omg-control);
		border: 1px solid var(--omg-line);
		border-radius: var(--omg-radius);
		background: var(--omg-surface);
	}
}

/* Product cards. Keep block images inside the grid column (a missing file otherwise
   expands the link to the srcset width). */
ul.products li.product,
.wc-block-grid__product {
	position: relative;
	max-width: 100%;
	border: 1px solid var(--omg-line);
	box-shadow: var(--omg-shadow);
}

.wc-block-grid__products .wc-block-grid__product > .wc-block-grid__product-link,
ul.products li.product .astra-shop-thumbnail-wrap {
	display: block;
	width: 100%;
	max-width: 100%;
}

.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-image,
ul.products li.product .astra-shop-thumbnail-wrap {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	width: 100%;
	max-width: 100%;
}

.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-image img,
ul.products li.product .astra-shop-thumbnail-wrap img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-grid__products .wc-block-grid__product .wc-block-grid__product-title {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.6em;
	color: var(--omg-ink);
	font-weight: 600;
	line-height: 1.3;
	text-transform: none;
}

ul.products li.product .price,
.wc-block-grid__product .price,
.wc-block-grid__product-price {
	color: var(--omg-ink);
	font-weight: 600;
}

ul.products li.product .price del,
.wc-block-grid__product .price del {
	color: #595959;
	font-weight: 500;
}

ul.products li.product.outofstock .astra-shop-thumbnail-wrap img,
ul.products li.product.outofstock img.attachment-woocommerce_thumbnail {
	opacity: 0.55;
}

body.woocommerce ul.products li.product span.onsale,
body .wc-block-grid__product span.onsale {
	position: absolute;
	top: 12px !important;
	right: 12px !important;
	left: auto !important;
	margin: 0 !important;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 28px;
	margin: 0;
	padding: 0 8px;
	border-radius: 999px;
	line-height: 1;
}

/* Catalogue toolbar. */
.woocommerce .woocommerce-result-count {
	color: var(--omg-muted);
	line-height: var(--omg-control);
	margin-bottom: 0;
}

.woocommerce .woocommerce-ordering select,
.astra-shop-filter-button {
	min-height: var(--omg-control);
	border: 1px solid var(--omg-line);
	border-radius: var(--omg-radius);
	background: var(--omg-surface);
}

.astra-shop-filter-button {
	padding: 0 16px;
	color: var(--omg-ink);
	font-weight: 600;
}

/* Shared buttons and fields. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.wc-block-grid__product .add_to_cart_button,
.wc-block-grid__product .wp-block-button__link {
	min-height: var(--omg-control);
	padding: 0 18px;
	border-radius: var(--omg-radius);
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.single_add_to_cart_button:hover,
.wc-block-grid__product .add_to_cart_button:hover {
	filter: brightness(1.08);
}

.single-product div.product form.cart .quantity,
.single-product div.product form.cart .single_add_to_cart_button,
.woocommerce-cart .quantity {
	vertical-align: middle;
}

.single-product div.product form.cart .quantity .qty,
.woocommerce-cart .quantity .qty,
.single-product div.product form.cart .quantity .minus,
.single-product div.product form.cart .quantity .plus,
.woocommerce-cart .quantity .minus,
.woocommerce-cart .quantity .plus {
	height: var(--omg-control);
	min-height: var(--omg-control);
	padding-top: 0;
	padding-bottom: 0;
	border-color: var(--omg-line);
	border-radius: var(--omg-radius);
	box-sizing: border-box;
}

.single-product div.product form.cart .single_add_to_cart_button {
	min-width: 180px;
	margin-left: 8px;
	border-radius: var(--omg-radius);
}

.single-product div.product form.cart .variations select,
.single-product div.product form.cart .variations .reset_variations {
	min-height: var(--omg-control);
}

.single-product div.product form.cart .variations select {
	border: 1px solid var(--omg-line);
	border-radius: var(--omg-radius);
	padding: 0 12px;
}

.single-product div.product p.price,
.single-product div.product span.price {
	color: var(--omg-ink);
	font-size: 28px;
	font-weight: 700;
}

@media (max-width: 921px) {
	.single-product div.product form.cart .woocommerce-variation-add-to-cart,
	.single-product div.product form.cart:not(.variations_form) {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px;
		width: 100%;
	}

	.single-product div.product form.cart .single_add_to_cart_button {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		min-height: 48px;
		margin: 0;
	}
}

/* Notices: Woo's icon font often paints as an empty box. */
.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
	border: 0;
	border-left: 3px solid var(--omg-accent);
	border-radius: var(--omg-radius-card);
	background: var(--omg-surface);
	box-shadow: var(--omg-shadow);
	color: var(--omg-ink);
	padding: 14px 16px;
}

.woocommerce-message {
	border-left-color: #1f7a3a;
}

.woocommerce-info::before,
.woocommerce-message::before,
.woocommerce-error::before {
	display: none;
}

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review {
	border: 1px solid var(--omg-line);
	border-radius: var(--omg-radius-card);
	background: var(--omg-surface);
	padding: 8px 16px 16px;
}

.woocommerce-cart td.product-thumbnail img,
.woocommerce-checkout td.product-thumbnail img,
.woocommerce-mini-cart-item img {
	width: 70px;
	height: 70px;
	max-width: 70px;
	max-height: 70px;
	object-fit: contain;
}

.woocommerce-cart table.shop_table,
.woocommerce-checkout table.shop_table {
	border: 0;
	border-radius: var(--omg-radius-card);
}

.woocommerce-cart table.shop_table th,
.woocommerce-cart table.shop_table td,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
	border-color: var(--omg-line);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form .form-row .select2-selection--single {
	min-height: var(--omg-control);
	border: 1px solid var(--omg-line);
	border-radius: var(--omg-radius);
	padding: 8px 12px;
	color: var(--omg-ink);
}

.woocommerce form .form-row textarea {
	min-height: 96px;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	border-color: var(--omg-accent);
	outline: 2px solid var(--omg-accent);
	outline-offset: 1px;
}

.woocommerce-checkout #place_order,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	min-height: 48px;
	border-radius: var(--omg-radius);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	overflow: hidden;
	border: 1px solid var(--omg-line);
	border-radius: var(--omg-radius-card);
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--omg-line);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	min-height: var(--omg-control);
	padding: 8px 16px;
	color: var(--omg-ink);
	text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	color: var(--omg-accent);
	font-weight: 600;
}

.widget_shopping_cart .woocommerce-mini-cart__buttons .button {
	min-height: var(--omg-control);
	border-radius: var(--omg-radius);
}
