/* Z.SHOP 15.10.1 unified design system. Loaded last on every public page. */
:root {
	--zshop-green: #073f31;
	--zshop-green-2: #0a5842;
	--zshop-green-3: #0d6b50;
	--zshop-gold: #c99c4a;
	--zshop-gold-soft: #f2dfb7;
	--zshop-cream: #faf7f1;
	--zshop-paper: #fffdf9;
	--zshop-white: #fff;
	--zshop-ink: #202822;
	--zshop-muted: #707a73;
	--zshop-line: #e7e0d5;
	--zshop-danger: #c83636;
	--zshop-success: #187a54;
	--zshop-radius-sm: 14px;
	--zshop-radius-md: 20px;
	--zshop-radius-lg: 28px;
	--zshop-radius-xl: 32px;
	--zshop-shadow-xs: 0 2px 10px rgba(7,63,49,.05);
	--zshop-shadow-sm: 0 10px 28px rgba(7,63,49,.08);
	--zshop-shadow-md: 0 18px 50px rgba(7,63,49,.12);
	--zshop-mobile-nav-height: 74px;
	--zshop-page-inline: clamp(12px, 3vw, 24px);
}

html { background: var(--zshop-cream); }
body,
button,
input,
select,
textarea,
.woocommerce,
.wp-site-blocks,
.editor-styles-wrapper {
	font-family: Tahoma, Arial, sans-serif !important;
}
body {
	color: var(--zshop-ink);
	background: var(--zshop-cream);
}

/* Prevent isolated page styles from introducing a second visual language. */
.zshop-magazine,
.zshop-magazine *,
.zshop-article-main,
.zshop-article-main * {
	font-family: inherit !important;
}

.zshop-main,
.zshop-site-header,
.zshop-site-footer,
.zshop-container,
.woocommerce,
.woocommerce-page,
.wp-block-group,
.wp-block-columns,
.wp-block-column {
	min-inline-size: 0;
	max-inline-size: 100%;
}

.zshop-container {
	width: min(calc(100% - (2 * var(--zshop-page-inline))), var(--zshop-container));
	margin-inline: auto;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--zshop-green);
	font-family: inherit;
	font-weight: 800;
	letter-spacing: -.02em;
}

p, li, dd, dt, label, small {
	text-wrap: pretty;
}

.zshop-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-element-button,
button[type="submit"] {
	min-height: 46px;
	border-radius: var(--zshop-radius-sm) !important;
	font-family: inherit !important;
	font-weight: 800;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
	border-radius: var(--zshop-radius-sm) !important;
	font-family: inherit !important;
}

/* Shared card language across shop, account, legal, editorial and support. */
.zshop-product-card,
.zshop-page-shell,
.zshop-auth-card,
.zshop-cart-content,
.zshop-account-content,
.zshop-legal-card,
.zshop-about-content,
.zshop-about-facts,
.zs-support-form-card,
.zs-contact-channels,
.zs-contact-faq {
	border-color: var(--zshop-line) !important;
	box-shadow: var(--zshop-shadow-xs);
}

.zshop-product-card {
	border-radius: var(--zshop-radius-lg) !important;
	overflow: clip;
}
.zshop-product-card__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: inherit !important;
	font-weight: 800;
	line-height: 1.75;
}
.zshop-product-card__price,
.woocommerce ul.products li.product .price {
	font-family: inherit !important;
	font-variant-numeric: tabular-nums;
}

/* Header utility styles no longer require the large catalog stylesheet. */
.zref-header-utility {
	color: rgba(255,255,255,.82);
	background: #052f25;
	border-bottom: 1px solid rgba(255,255,255,.08);
}
.zref-header-utility .zshop-container,
.zref-header-utility span,
.zref-header-utility nav {
	display: flex;
	align-items: center;
}
.zref-header-utility .zshop-container {
	justify-content: space-between;
	gap: 18px;
	min-height: 36px;
}
.zref-header-utility span,
.zref-header-utility nav { gap: 12px; }
.zref-header-utility .zshop-icon { width: 15px; height: 15px; }
.zref-header-utility a:hover { color: #fff; }

/* One footer rhythm on all templates. */
.zshop-site-footer { background: #f2ecdf; }
.zshop-footer-grid > section h2 { font-size: 17px; }
.zshop-footer-grid a,
.zshop-footer-grid p { line-height: 1.9; }

/* Contact actions stay in the document; no second fixed navigation layer. */
.zs-contact-mobile-actions { display: none !important; }
.zshop-contact-v2 { padding-bottom: clamp(48px, 7vw, 90px) !important; }
.zs-honeypot,
.zshop-contact-v2 .zsai-website {
	position: fixed !important;
	inset: 0 auto auto 0 !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	clip-path: inset(50%) !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

/* Built-in legacy launchers must never compete with the dedicated chatbot plugin. */
body.zshop-has-zsai .zshop-ai-chat,
body.zshop-has-zsai .zshop-floating-chat { display: none !important; }

@media (max-width: 767px) {
	:root {
		--zshop-radius-lg: 22px;
		--zshop-radius-xl: 26px;
		--zshop-page-inline: 12px;
	}
	body {
		padding-bottom: calc(var(--zshop-mobile-nav-height) + 18px + env(safe-area-inset-bottom));
	}
	.zshop-mobile-nav {
		width: 100%;
		max-width: 100vw;
		height: calc(var(--zshop-mobile-nav-height) + env(safe-area-inset-bottom));
		padding: 6px 5px calc(6px + env(safe-area-inset-bottom));
		grid-template-columns: repeat(5,minmax(0,1fr));
	}
	.zshop-mobile-nav > a {
		min-width: 0;
		gap: 2px;
		padding-inline: 2px;
		border-radius: 14px;
		font-size: clamp(8.4px,2.45vw,9.5px);
		white-space: nowrap;
	}
	.zshop-mobile-nav .zshop-icon { width: 23px; height: 23px; }
	.zshop-back-to-top {
		inset-inline-start: 14px !important;
		inset-inline-end: auto !important;
		inset-block-end: calc(var(--zshop-mobile-nav-height) + 14px + env(safe-area-inset-bottom)) !important;
		width: 44px;
		height: 44px;
		border-radius: 14px;
	}
	.zshop-toast {
		inset-block-end: calc(var(--zshop-mobile-nav-height) + 14px + env(safe-area-inset-bottom));
	}
	.zshop-footer-grid {
		grid-template-columns: repeat(2,minmax(0,1fr));
		gap: 26px 18px;
	}
	.zshop-footer-intro { gap: 18px; }
	.zshop-footer-bottom { gap: 12px; }
	.zshop-section { padding-block: clamp(28px,8vw,44px); }
	.zshop-section-heading h2 { line-height: 1.45; }
	.zshop-product-card__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: clamp(12px,3.45vw,14px) !important;
	}
	.zs-contact-layout,
	.zs-form-grid,
	.zs-radio-grid,
	.zs-intent-grid { grid-template-columns: minmax(0,1fr) !important; }
}

@media (max-width: 430px) {
	.zshop-footer-grid { grid-template-columns: 1fr; gap: 22px; }
	.zshop-footer-grid > section { padding-bottom: 18px; border-bottom: 1px solid rgba(7,63,49,.09); }
	.zshop-footer-grid > section:last-child { border-bottom: 0; }
}


/* 15.10.1 mobile footer hotfix: compact rhythm, no intrinsic blank space. */
.zshop-site-footer {
	content-visibility: visible !important;
	contain: none !important;
	contain-intrinsic-size: auto !important;
}

@media (max-width: 782px) {
	.zshop-site-footer {
		padding: 28px 0 18px !important;
	}
	.zshop-site-footer .zshop-container {
		width: min(calc(100% - 24px), var(--zshop-container));
	}
	.zshop-footer-intro {
		align-items: flex-start;
		gap: 14px;
		padding-bottom: 20px;
	}
	.zshop-footer-logo {
		font-size: 24px;
		line-height: 1.25;
	}
	.zshop-footer-intro p {
		max-width: 48ch;
		margin-top: 6px;
		font-size: 11.5px;
		line-height: 1.8;
	}
	.zshop-social-links {
		gap: 8px;
	}
	.zshop-social-links a {
		width: 42px;
		height: 42px;
		border-radius: 13px;
	}
	.zshop-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: start;
		gap: 0 18px !important;
		padding: 20px 0 12px;
	}
	.zshop-footer-grid > section {
		min-width: 0;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 0 18px !important;
		border: 0 !important;
		align-self: start;
	}
	.zshop-footer-grid h2,
	.zshop-footer-grid > section h2 {
		margin: 0 0 9px;
		font-size: 15px;
		line-height: 1.55;
	}
	.zshop-footer-grid ul,
	.zshop-footer-grid p {
		margin-block: 0;
	}
	.zshop-footer-grid li + li {
		margin-top: 5px;
	}
	.zshop-footer-grid a,
	.zshop-footer-grid p {
		font-size: 11px;
		line-height: 1.75;
	}
	.zshop-footer-phone {
		font-size: 14px !important;
	}
	.zshop-enamad {
		margin-top: 10px;
	}
	.zshop-enamad img {
		max-width: 72px;
		max-height: 72px;
	}
	.zshop-footer-bottom {
		align-items: flex-start;
		gap: 8px;
		padding-top: 14px;
		font-size: 9.5px;
		line-height: 1.7;
	}
	.zshop-footer-menu {
		gap: 10px 14px;
	}

	/* When the footer enters view, keep floating tools away from right-aligned links. */
	body.is-zshop-footer-visible .zshop-back-to-top {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
	body.is-zshop-footer-visible .zsai-chat:not(.is-open) {
		right: auto !important;
		left: 12px !important;
	}
}

@media (max-width: 360px) {
	.zshop-site-footer .zshop-container {
		width: min(calc(100% - 18px), var(--zshop-container));
	}
	.zshop-footer-grid {
		gap: 0 12px !important;
	}
	.zshop-footer-grid h2,
	.zshop-footer-grid > section h2 {
		font-size: 14px;
	}
	.zshop-footer-grid a,
	.zshop-footer-grid p {
		font-size: 10.5px;
	}
}
