/* ZeeTech brand layer — colours taken from the ZT logo, layout in the spirit of Shopify's Dawn theme:
 * white space, one clean sans (DM Sans), 1px light lines, small radius, image-first product cards. */
:root {
	--zt-blue: #0a6cf5;
	--zt-blue-dark: #0852c2;
	--zt-blue-soft: #e8f1fe;
	--zt-ink: #1a1c22;
	--zt-text: #4a5361;
	--zt-muted: #6b7280;
	--zt-surface: #f4f7fb;
	--zt-grey: #f3f4f6;          /* product image / order summary background */
	--zt-border: #e5e7eb;
	--zt-field: #cfd4dc;         /* form field border */
	--zt-green: #12a150;
	--zt-wa: #25d366;
	--zt-radius: 8px;
	--zt-radius-sm: 6px;
	--zt-font: DMSans, "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--zt-sticky-top: 96px;       /* sticky gallery offset (header height + gap) */

	/* Theme presets → brand */
	--wp--preset--color--color-1: #f4f7fb;
	--wp--preset--color--color-2: #1a1c22;
	--wp--preset--color--color-3: #0a6cf5;
	--wp--preset--color--page-background: #ffffff;
	--wp--preset--color--page-text: #1a1c22;
	--wp--preset--color--dark: #1a1c22;
}
.admin-bar { --zt-sticky-top: 128px; }

/* Elementor kit colours → brand (front end fallback) */
.elementor-kit-5 {
	--e-global-color-primary: #0a6cf5;
	--e-global-color-secondary: #1a1c22;
	--e-global-color-text: #4a5361;
	--e-global-color-accent: #0a6cf5;
	--e-global-color-b5aeb33: #f4f7fb;
	--e-global-color-c58817e: #1a1c22;
	--e-global-color-5420d44: #0a6cf5;
	--e-global-color-dff8941: #ffb020;
	--e-global-color-a7b8c9d: #ffffff;
	--e-global-color-b1c2d3e: #1a1c22;
}

body {
	background: #fff;
	color: var(--zt-ink);
	font-family: var(--zt-font);
	-webkit-font-smoothing: antialiased;
}

/* One typeface everywhere (theme mixes Fira Sans headings with DM Sans body) */
body h1, body h2, body h3, body h4, body h5, body h6,
body .wp-block-post-title,
body .wp-block-query-title,
body .elementor-heading-title {
	font-family: var(--zt-font) !important;
	letter-spacing: -.01em;
	color: var(--zt-ink);
}

/* ---------- Header ---------- */
header.wp-block-template-part { z-index: 50; }
.hostinger-ai-menu {
	background: #fff !important;
	border-bottom: 1px solid var(--zt-border);
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .hostinger-ai-menu { top: 32px; }
@media (max-width: 782px) { .admin-bar .hostinger-ai-menu { top: 0; } }
.hostinger-ai-menu-wrapper {
	display: flex !important;
	align-items: center;
	gap: 8px;
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}
.hostinger-ai-menu-wrapper > .wp-block-group:first-child { flex: 0 0 auto; }
.hostinger-ai-site-navigation-wrapper { flex: 1 1 auto; gap: 4px !important; justify-content: flex-end; }
.hostinger-ai-menu .wp-block-site-logo img { max-height: 52px; width: auto; }
.hostinger-ai-menu .hostinger-ai-site-title { display: none; }
.hostinger-ai-menu .hostinger-ai-site-navigation { margin-right: auto; margin-left: 24px; }
.hostinger-ai-menu .hostinger-ai-site-navigation a { font-weight: 500; color: var(--zt-text) !important; }
.hostinger-ai-menu .hostinger-ai-site-navigation .wp-block-navigation__container { gap: 4px 22px; }
.hostinger-ai-menu .hostinger-ai-site-navigation a:hover,
.hostinger-ai-menu .hostinger-ai-site-navigation .current-menu-item > a { color: var(--zt-ink) !important; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.hostinger-ai-menu .wp-block-woocommerce-customer-account { margin: 0 !important; }

/* Header icons: search, account, cart — same 44px tap target */
.zt-search-toggle,
.hostinger-ai-menu .wc-block-customer-account__link,
.hostinger-ai-menu .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0 !important;
	border: 0;
	background: transparent;
	color: var(--zt-ink);
	cursor: pointer;
	border-radius: 50%;
}
.zt-search-toggle:hover,
.hostinger-ai-menu .wc-block-customer-account__link:hover,
.hostinger-ai-menu .wc-block-mini-cart__button:hover { background: var(--zt-grey); }
.hostinger-ai-menu .wc-block-customer-account__avatar { width: 26px; height: 26px; border-radius: 50%; }
.hostinger-ai-menu .wc-block-mini-cart__badge { background: var(--zt-blue) !important; color: #fff !important; border: 0 !important; font-weight: 700; }

/* Search bar under the header */
.zt-search {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	display: flex;
	gap: 8px;
	padding: 12px max(16px, calc((100% - 720px) / 2));
	background: #fff;
	border-bottom: 1px solid var(--zt-border);
	box-shadow: 0 12px 24px rgba(26, 28, 34, .06);
}
.zt-search[hidden] { display: none; }
.zt-search input[type="search"] { flex: 1; min-width: 0; }
.zt-search button {
	flex: 0 0 auto;
	min-height: 48px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--zt-radius);
	background: var(--zt-ink);
	color: #fff;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

/* Phones (core navigation collapses below 600px): menu + search left, logo centred, account + cart right */
@media (max-width: 599px) {
	.hostinger-ai-menu-wrapper {
		display: grid !important;
		grid-template-columns: 44px 44px minmax(0, 1fr) 44px 44px;
		gap: 0;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
	}
	.hostinger-ai-site-navigation-wrapper { display: contents !important; }
	.hostinger-ai-menu .hostinger-ai-site-navigation { grid-column: 1; grid-row: 1; margin: 0; }
	.hostinger-ai-menu .zt-search-toggle { grid-column: 2; grid-row: 1; }
	.hostinger-ai-menu-wrapper > .wp-block-group:first-child { grid-column: 3; grid-row: 1; justify-self: center; }
	.hostinger-ai-menu .wp-block-woocommerce-customer-account { grid-column: 4; grid-row: 1; }
	.hostinger-ai-menu .wp-block-woocommerce-mini-cart { grid-column: 5; grid-row: 1; }
	.hostinger-ai-menu .wp-block-site-logo img { max-height: 44px; }
	.hostinger-ai-menu .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: flex-start; }
	.hostinger-ai-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 20px; padding: 6px 0; color: var(--zt-ink) !important; }
}

/* ---------- Announcement bar ---------- */
.zt-topbar {
	background: var(--zt-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .02em;
	overflow: hidden;
}
.zt-topbar__track {
	display: flex;
	gap: 32px;
	justify-content: center;
	padding: 9px 16px;
	white-space: nowrap;
}
@media (max-width: 760px) {
	.zt-topbar__track {
		justify-content: flex-start;
		animation: zt-marquee 18s linear infinite;
		width: max-content;
	}
}
@keyframes zt-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.zt-topbar__track { animation: none; white-space: normal; flex-wrap: wrap; gap: 6px 20px; }
}

/* ---------- Buttons ---------- */
.wp-element-button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button:not(.is-link),
.elementor-button {
	background-color: var(--zt-blue) !important;
	border-color: var(--zt-blue) !important;
	color: #fff !important;
	border-radius: var(--zt-radius) !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.wp-element-button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-block-components-button:not(.is-link):hover,
.elementor-button:hover {
	background-color: var(--zt-blue-dark) !important;
	border-color: var(--zt-blue-dark) !important;
}
.elementor-button.zt-btn-ghost,
.zt-btn-ghost .elementor-button {
	background: transparent !important;
	border: 2px solid #fff !important;
}

/* ---------- Form fields (checkout, cart, reviews, search) ---------- */
.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-cart table.cart .coupon .input-text,
.woocommerce form.checkout_coupon .input-text,
#review_form textarea,
#review_form input[type="text"],
#review_form input[type="email"],
.zt-search input[type="search"],
.select2-container--default .select2-selection--single {
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid var(--zt-field) !important;
	border-radius: var(--zt-radius) !important;
	background: #fff;
	color: var(--zt-ink);
	font-family: inherit;
	font-size: 16px !important; /* 16px stops iOS zooming into fields */
	line-height: 1.4;
	box-shadow: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.woocommerce form .form-row textarea,
#review_form textarea { min-height: 96px; }
.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-cart table.cart .coupon .input-text:focus,
#review_form textarea:focus,
#review_form input:focus,
.zt-search input[type="search"]:focus,
.select2-container--default.select2-container--open .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--single {
	outline: none;
	border-color: var(--zt-blue) !important;
	box-shadow: 0 0 0 3px rgba(10, 108, 245, .18);
}
.select2-container--default .select2-selection--single { display: flex; align-items: center; padding: 0 14px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.4; color: var(--zt-ink); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 500; color: var(--zt-ink); margin-bottom: 6px; line-height: 1.4; }
.woocommerce form .form-row .required { color: #d93025; text-decoration: none; }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper .wc-block-components-notice-banner,
.wc-block-store-notices .wc-block-components-notice-banner {
	border-radius: var(--zt-radius);
	font-size: 15px;
	padding: 12px 14px;
}

/* ---------- Product cards (Dawn: image, title, price — no box) ---------- */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0 !important;
	box-shadow: none;
}
.woocommerce ul.products li.product img,
.wc-block-product img { border-radius: var(--zt-radius); }
.woocommerce ul.products li.product .price,
.wc-block-components-product-price,
.woocommerce div.product p.price,
.woocommerce div.product span.price { color: var(--zt-ink) !important; font-weight: 500; }
.woocommerce ul.products li.product .price del,
.wc-block-components-product-price del { color: var(--zt-muted); font-weight: 400; }
.woocommerce ul.products li.product .price ins,
.wc-block-components-product-price ins { text-decoration: none; }
.woocommerce span.onsale,
.wc-block-components-product-sale-badge {
	background: var(--zt-ink) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	padding: 3px 12px !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.6 !important;
	letter-spacing: .04em;
}
.woocommerce ul.products li.product .onsale { top: 10px !important; left: 10px !important; right: auto !important; margin: 0 !important; }

/* ---------- Single product ---------- */
body.single-product main > .woocommerce.wc-block-breadcrumbs,
body.single-product main > .wc-block-breadcrumbs { margin-bottom: 16px !important; }
.woocommerce .woocommerce-breadcrumb {
	font-size: 13px !important;
	color: var(--zt-muted) !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin: 0 !important;
}
.woocommerce .woocommerce-breadcrumb a { color: var(--zt-muted) !important; text-decoration: none; }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--zt-ink) !important; text-decoration: underline; }

/* Two columns: big gallery left (sticky on desktop), info right */
body.single-product main > .wp-block-columns { margin-top: 0 !important; }
@media (min-width: 782px) {
	body.single-product main > .wp-block-columns { gap: 48px !important; align-items: flex-start !important; }
	body.single-product main > .wp-block-columns > .wp-block-column:first-child {
		flex: 0 1 56% !important;
		position: sticky;
		top: var(--zt-sticky-top);
		align-self: flex-start;
	}
	body.single-product main > .wp-block-columns > .wp-block-column:last-child { flex: 1 1 44% !important; max-width: 560px; }
}
@media (min-width: 1100px) {
	body.single-product main > .wp-block-columns { gap: 64px !important; }
}
@media (max-width: 781px) {
	body.single-product main > .wp-block-columns { gap: 24px !important; }
}

/* Gallery */
body.single-product .wp-block-woocommerce-product-image-gallery { max-width: none !important; width: 100%; }
body.single-product .woocommerce-product-gallery { position: relative; margin: 0 !important; width: 100% !important; float: none !important; }
body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery--columns-4:not(.flexslider) .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	border-radius: var(--zt-radius);
	overflow: hidden;
	background: var(--zt-grey);
}
body.single-product .woocommerce-product-gallery__image img { border-radius: 0; }
body.single-product .woocommerce-product-gallery__trigger {
	top: 12px !important;
	right: 12px !important;
	width: 40px !important;
	height: 40px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background: #fff !important;
	border: 1px solid var(--zt-border);
	border-radius: 50% !important;
	box-shadow: 0 4px 12px rgba(26, 28, 34, .08);
	font-size: 16px;
	text-decoration: none !important;
}
body.single-product .woocommerce-product-gallery__trigger img.emoji { width: 16px !important; height: 16px !important; }
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	display: flex !important;
	gap: 8px;
	margin: 10px 0 0 !important;
	padding: 0 0 2px !important;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs::-webkit-scrollbar { display: none; }
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
	flex: 0 0 64px;
	width: 64px !important;
	margin: 0 !important;
	float: none !important;
	list-style: none;
}
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: var(--zt-radius-sm);
	border: 1px solid var(--zt-border);
	opacity: .6 !important;
	transition: opacity .15s ease, border-color .15s ease;
	cursor: pointer;
}
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img:hover,
body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img.flex-active { opacity: 1 !important; border-color: var(--zt-ink); }
@media (min-width: 782px) {
	body.single-product .woocommerce-product-gallery ol.flex-control-thumbs li { flex-basis: calc((100% - 40px) / 6); width: auto !important; }
}

/* Info column order: category label, title, price, offer + buy buttons + trust, bullets, collapsible rows */
body.single-product main > .wp-block-columns > .wp-block-column:last-child { display: flex; flex-direction: column; }
body.single-product main > .wp-block-columns > .wp-block-column:last-child > * { margin-top: 0 !important; margin-bottom: 0 !important; }
body.single-product .wp-block-woocommerce-product-meta { order: -1; margin-bottom: 8px !important; }
body.single-product .wp-block-woocommerce-product-meta .wc-block-components-product-sku,
body.single-product .wp-block-woocommerce-product-meta .wp-block-post-terms__prefix { display: none !important; }
body.single-product .wp-block-woocommerce-product-meta .taxonomy-product_cat {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--zt-muted);
}
body.single-product .wp-block-woocommerce-product-meta .taxonomy-product_cat a { color: inherit; text-decoration: none; }
body.single-product .wp-block-woocommerce-product-meta .taxonomy-product_cat a:hover { color: var(--zt-ink); }
.single-product .product_title,
body.single-product main .wp-block-columns h1.wp-block-post-title {
	order: 0;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	line-height: 1.2 !important;
	font-weight: 700;
	letter-spacing: -.015em;
	margin-bottom: 10px !important;
}
body.single-product main .wp-block-columns .wp-block-woocommerce-product-price { order: 1; margin-bottom: 2px !important; }
body.single-product main .wp-block-columns .wp-block-woocommerce-product-price .wc-block-components-product-price {
	font-size: 20px !important;
	font-weight: 500;
	letter-spacing: .02em;
}
body.single-product .wp-block-add-to-cart-form { order: 2; margin-top: 18px !important; }
body.single-product main .wp-block-columns .woocommerce-product-details__short-description { order: 3; margin-top: 24px !important; }
body.single-product .zt-acc { order: 4; }
body.single-product p.stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--zt-green) !important;
}
body.single-product p.stock.in-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }

.single-product .woocommerce-product-details__short-description { font-size: 15px; color: var(--zt-text); }
.single-product .woocommerce-product-details__short-description p { margin: 0 0 8px; }
.single-product .woocommerce-product-details__short-description ul { padding-left: 0; margin: 0; list-style: none; }
.single-product .woocommerce-product-details__short-description li {
	position: relative;
	padding-left: 26px;
	margin: 8px 0;
	color: var(--zt-ink);
}
.single-product .woocommerce-product-details__short-description li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--zt-green);
	font-weight: 800;
}

/* Quantity + big primary button on one row */
.single-product form.cart { display: flex !important; align-items: stretch; gap: 10px; margin: 12px 0 0 !important; }
.single-product form.cart::before,
.single-product form.cart::after { display: none !important; }
.single-product form.cart div.quantity { float: none !important; margin: 0 !important; flex: 0 0 auto; }
.single-product form.cart div.quantity input.qty {
	width: 64px;
	height: 100%;
	min-height: 52px;
	padding: 0 4px;
	border: 1px solid var(--zt-field);
	border-radius: var(--zt-radius);
	font: inherit;
	font-size: 16px;
	text-align: center;
	color: var(--zt-ink);
	background: #fff;
}
.single-product form.cart div.quantity input.qty:focus { outline: none; border-color: var(--zt-blue); box-shadow: 0 0 0 3px rgba(10, 108, 245, .18); }
.single-product form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	float: none !important;
	min-height: 52px;
	margin: 0 !important;
	padding: 12px 16px !important;
	font-size: 16px !important;
	line-height: 1.25 !important;
}
@media (max-width: 420px) {
	.single-product form.cart .single_add_to_cart_button { font-size: 15px !important; padding: 12px 8px !important; letter-spacing: 0; }
}
.zt-wa-order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 10px 0 0;
	min-height: 50px;
	border-radius: var(--zt-radius);
	background: var(--zt-wa);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	width: 100%;
}
.zt-wa-order:hover { filter: brightness(.95); }
.zt-trust {
	list-style: none;
	margin: 18px 0 0;
	padding: 16px;
	background: var(--zt-surface);
	border: 0;
	border-radius: var(--zt-radius);
	display: grid;
	gap: 10px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--zt-text);
}
.zt-trust li { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.zt-trust strong { color: var(--zt-ink); }
.zt-trust__icon { width: 20px; flex: 0 0 20px; text-align: center; }
.zt-video { margin: 16px 0; max-width: 560px; }
.zt-video video, .zt-video .wp-video { border-radius: var(--zt-radius); width: 100% !important; height: auto; }

/* Collapsible rows (Description, Delivery & Returns, Reviews) */
.zt-acc { margin-top: 28px !important; border-top: 1px solid var(--zt-border); }
.zt-acc__item { border-bottom: 1px solid var(--zt-border); }
.zt-acc__item > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 2px;
	font-size: 15px;
	font-weight: 500;
	color: var(--zt-ink);
	cursor: pointer;
	list-style: none;
}
.zt-acc__item > summary::-webkit-details-marker { display: none; }
.zt-acc__item > summary::after {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	margin-right: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform .2s ease;
}
.zt-acc__item[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.zt-acc .woocommerce-Tabs-panel {
	display: block !important;
	margin: 0 !important;
	padding: 0 2px 20px !important;
	border: 0 !important;
	font-size: 15px;
	line-height: 1.6;
	color: var(--zt-text);
}
.zt-acc .woocommerce-Tabs-panel > h2:first-child { display: none; }
.zt-acc .woocommerce-Tabs-panel h2,
.zt-acc .woocommerce-Tabs-panel h3 { font-size: 17px !important; margin: 20px 0 8px; font-weight: 700; }
.zt-acc .woocommerce-Tabs-panel h2:first-of-type,
.zt-acc .woocommerce-Tabs-panel > p:first-of-type { margin-top: 0; }
.zt-acc .woocommerce-Tabs-panel ul,
.zt-acc .woocommerce-Tabs-panel ol { padding-left: 20px; margin: 0 0 12px; }
.zt-acc .woocommerce-Tabs-panel li { margin: 4px 0; }
.zt-acc .woocommerce-Tabs-panel img { max-width: 100%; height: auto; border-radius: var(--zt-radius); }
.zt-acc-ready .wp-block-woocommerce-product-details { display: none !important; }
.zt-delivery { list-style: none; padding: 0 !important; margin: 0 0 12px !important; display: grid; gap: 8px; }
.zt-delivery li { position: relative; padding-left: 20px; margin: 0 !important; }
.zt-delivery li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--zt-blue); }
.zt-delivery strong { color: var(--zt-ink); }
.zt-delivery__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0; font-size: 14px; }
.zt-delivery__links a { color: var(--zt-ink); }
.zt-acc #reviews #comments h2 { font-size: 15px !important; font-weight: 500; }
.zt-acc #review_form #respond .comment-reply-title { font-size: 16px; font-weight: 700; }
.zt-acc #review_form .form-submit input[type="submit"] { border-radius: var(--zt-radius); min-height: 48px; padding: 0 24px; }

/* Related products */
body.single-product .wp-block-woocommerce-product-collection { margin-top: 56px !important; }
body.single-product .wp-block-woocommerce-product-collection > h2,
body.single-product .wp-block-woocommerce-product-collection .wp-block-heading {
	font-size: clamp(20px, 2.2vw, 26px) !important;
	font-weight: 700;
	text-align: left !important;
	margin: 0 0 20px !important;
}

/* ---------- Sticky mobile buy bar ---------- */
.zt-sticky-buy {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 60;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
	background: #fff;
	border-top: 1px solid var(--zt-border);
	box-shadow: 0 -6px 20px rgba(26, 28, 34, .06);
	transform: translateY(110%);
	transition: transform .25s ease;
}
.zt-sticky-buy.is-visible { transform: translateY(0); }
.zt-sticky-buy[hidden] { display: none; }
.zt-sticky-buy__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.zt-sticky-buy__name { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--zt-text); }
.zt-sticky-buy__price { font-weight: 700; color: var(--zt-ink); }
.zt-sticky-buy__btn {
	flex: 0 0 auto;
	background: var(--zt-blue);
	color: #fff;
	border: 0;
	border-radius: var(--zt-radius);
	padding: 13px 18px;
	font: inherit;
	font-weight: 700;
	font-size: 15px;
	cursor: pointer;
}
@media (min-width: 900px) { .zt-sticky-buy { display: none !important; } }

/* ---------- Floating WhatsApp ---------- */
.zt-wa-float {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 55;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px 10px 12px;
	border-radius: 999px;
	background: var(--zt-wa);
	color: #fff !important;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(37, 211, 102, .35);
}
.single-product .zt-wa-float { bottom: 84px; }
@media (min-width: 900px) { .single-product .zt-wa-float { bottom: 16px; } }
@media (max-width: 600px) {
	.zt-wa-float span { display: none; }
	.zt-wa-float { padding: 12px; }
}

/* ---------- Cart + checkout (classic shortcode) — Shopify-style ---------- */
body.woocommerce-checkout main .wp-block-post-title,
body.woocommerce-cart main .wp-block-post-title {
	font-size: clamp(24px, 3vw, 32px) !important;
	font-weight: 700;
	margin-bottom: 8px !important;
}
body.woocommerce-checkout .elementor-shortcode > .woocommerce,
body.woocommerce-cart .elementor-shortcode > .woocommerce { max-width: 1100px; margin: 0 auto; }

.zt-checkout-note,
.zt-cod-banner {
	background: var(--zt-blue-soft);
	border: 1px solid #c7dcfd;
	color: var(--zt-ink);
	border-radius: var(--zt-radius);
	padding: 12px 16px;
	margin: 0 0 16px;
	font-size: 15px;
	line-height: 1.5;
}

body.woocommerce-checkout .entry-content > .elementor > .e-con,
body.woocommerce-cart .entry-content > .elementor > .e-con { padding-left: 0 !important; padding-right: 0 !important; }
.woocommerce form .form-row select.country_to_state--single {
	min-height: 0;
	padding: 0;
	border: 0 !important;
	background: none;
	box-shadow: none;
	font-weight: 700;
	pointer-events: none;
	appearance: none;
	-webkit-appearance: none;
}

/* Coupon link: quiet text line instead of a big banner */
.woocommerce-form-coupon-toggle .wc-block-components-notice-banner {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 16px !important;
	font-size: 14px;
	color: var(--zt-muted);
}
.woocommerce-form-coupon-toggle .wc-block-components-notice-banner > svg { display: none; }
.woocommerce-form-coupon-toggle a { color: var(--zt-ink); }
form.checkout_coupon { border: 1px solid var(--zt-border) !important; border-radius: var(--zt-radius) !important; padding: 16px !important; margin: 0 0 20px !important; }

form.checkout.woocommerce-checkout h3 { font-size: 20px; font-weight: 700; margin: 8px 0 16px; }
form.checkout .col2-set .col-1,
form.checkout .col2-set .col-2 { float: none !important; width: 100% !important; max-width: none; padding: 0 !important; }
form.checkout .col2-set::before,
form.checkout .col2-set::after { display: none; }
form.checkout .woocommerce-billing-fields__field-wrapper,
form.checkout .woocommerce-shipping-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 12px; }
form.checkout .form-row { width: 100% !important; float: none !important; margin: 0 0 14px !important; padding: 0 !important; }
form.checkout .form-row-first,
form.checkout .form-row-last { width: calc(50% - 6px) !important; }
form.checkout #ship-to-different-address { font-size: 15px !important; font-weight: 500; margin: 12px 0 !important; }
form.checkout #ship-to-different-address label { display: flex; align-items: center; gap: 10px; cursor: pointer; }
form.checkout input[type="checkbox"],
form.checkout input[type="radio"] { width: 18px; height: 18px; accent-color: var(--zt-blue); }
form.checkout .woocommerce-additional-fields h3 { font-size: 16px; }

/* Order summary: light grey panel */
form.checkout #order_review_heading {
	margin: 24px 0 0 !important;
	padding: 20px 20px 4px;
	background: var(--zt-grey);
	border-radius: var(--zt-radius) var(--zt-radius) 0 0;
	font-size: 18px;
}
form.checkout #order_review {
	padding: 4px 20px 20px;
	background: var(--zt-grey);
	border-radius: 0 0 var(--zt-radius) var(--zt-radius);
}
.woocommerce form.checkout table.shop_table {
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 0 16px !important;
	background: transparent;
	font-size: 15px;
}
.woocommerce form.checkout table.shop_table th,
.woocommerce form.checkout table.shop_table td {
	border: 0 !important;
	border-top: 1px solid #e3e5e9 !important;
	padding: 12px 0 !important;
	background: transparent !important;
	vertical-align: top;
}
.woocommerce form.checkout table.shop_table thead th { border-top: 0 !important; font-size: 13px; font-weight: 500; color: var(--zt-muted); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce form.checkout table.shop_table td.product-total,
.woocommerce form.checkout table.shop_table tfoot td { text-align: right; }
.woocommerce form.checkout table.shop_table .product-name { color: var(--zt-ink); padding-right: 12px !important; }
.woocommerce form.checkout table.shop_table .product-quantity { font-weight: 500; color: var(--zt-muted); }
.woocommerce form.checkout table.shop_table tfoot th { font-weight: 500; color: var(--zt-text); }
.woocommerce form.checkout table.shop_table .order-total th,
.woocommerce form.checkout table.shop_table .order-total td { font-size: 18px; font-weight: 700; color: var(--zt-ink); }
.woocommerce form.checkout #shipping_method { margin: 0; padding: 0; list-style: none; }
.woocommerce form.checkout #shipping_method li { margin: 0; text-align: right; }

/* Payment: COD card + big place-order button */
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 !important; border: 0 !important; margin: 0 0 12px !important; }
.woocommerce-checkout #payment ul.payment_methods li {
	padding: 14px 16px !important;
	background: #fff;
	border: 2px solid var(--zt-blue);
	border-radius: var(--zt-radius);
	font-weight: 500;
	color: var(--zt-ink);
	list-style: none;
}
.woocommerce-checkout #payment ul.payment_methods li input { margin-right: 8px; vertical-align: middle; }
.woocommerce-checkout #payment div.payment_box {
	margin: 10px 0 0 !important;
	padding: 10px 12px !important;
	background: var(--zt-blue-soft) !important;
	border-radius: var(--zt-radius-sm) !important;
	color: var(--zt-ink) !important;
	font-size: 14px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p { margin: 0; }
.woocommerce-checkout #payment div.form-row.place-order { padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 13px; line-height: 1.5; color: var(--zt-muted); }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row { margin: 8px 0 !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { margin: 0 0 10px; }
.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox { position: relative; display: block !important; padding-left: 28px; font-size: 14px !important; line-height: 1.5; color: var(--zt-ink); }
.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox input { position: absolute; left: 0; top: 1px; margin: 0; }
.woocommerce-checkout #payment #place_order,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 56px;
	margin: 12px 0 0 !important;
	padding: 14px 12px !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
	float: none !important;
}

@media (min-width: 990px) {
	form.checkout.woocommerce-checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(360px, 430px);
		grid-template-rows: auto 1fr;
		column-gap: 48px;
		align-items: start;
	}
	form.checkout.woocommerce-checkout::before,
	form.checkout.woocommerce-checkout::after { display: none; }
	form.checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; }
	form.checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0 !important; }
	form.checkout #order_review { grid-column: 2; grid-row: 2; }
}

/* Cart page (?edit=1) */
.woocommerce-cart table.shop_table.cart { border: 0 !important; border-radius: 0 !important; font-size: 15px; }
.woocommerce-cart table.shop_table.cart th,
.woocommerce-cart table.shop_table.cart td { border: 0 !important; border-bottom: 1px solid var(--zt-border) !important; padding: 14px 10px !important; background: transparent !important; }
.woocommerce-cart table.shop_table.cart thead th { font-size: 13px; font-weight: 500; color: var(--zt-muted); text-transform: uppercase; letter-spacing: .06em; }
.woocommerce-cart table.cart img { width: 72px !important; border-radius: var(--zt-radius-sm); }
.woocommerce-cart table.cart .product-name a { color: var(--zt-ink); text-decoration: none; font-weight: 500; }
.woocommerce-cart table.cart a.remove { color: var(--zt-muted) !important; font-weight: 400; }
.woocommerce-cart table.cart a.remove:hover { background: var(--zt-grey) !important; color: #d93025 !important; }
.woocommerce-cart table.cart .quantity input.qty { width: 64px; min-height: 44px; border: 1px solid var(--zt-field); border-radius: var(--zt-radius); font: inherit; text-align: center; }
.woocommerce-cart table.cart td.actions { border-bottom: 0 !important; padding: 16px 0 !important; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px !important; margin: 0 !important; box-sizing: border-box; }
.woocommerce-cart table.cart td.actions button.button { min-height: 48px; }
.woocommerce-cart table.cart td.actions button[name="update_cart"] { background: #fff !important; color: var(--zt-ink) !important; border: 1px solid var(--zt-field) !important; }
.woocommerce-cart .cart-collaterals .cart_totals {
	padding: 20px;
	background: var(--zt-grey);
	border-radius: var(--zt-radius);
}
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 18px; font-weight: 700; margin: 0 0 8px; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table { border: 0 !important; margin: 0; }
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table th,
.woocommerce-cart .cart-collaterals .cart_totals table.shop_table td { border: 0 !important; border-top: 1px solid #e3e5e9 !important; background: transparent !important; padding: 12px 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 8px 0 0 !important; }
@media (max-width: 767px) {
	.woocommerce-cart table.shop_table_responsive tr td { padding: 10px 0 !important; }
	.woocommerce-cart table.cart td.actions .coupon { flex-wrap: wrap; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto !important; }
	.woocommerce-cart table.cart td.actions button[name="update_cart"] { width: 100%; margin-top: 8px; }
}

/* ---------- Footer (dark, Dawn-style spacing) ---------- */
footer .has-color-2-background-color,
.has-color-2-background-color { background-color: var(--zt-ink) !important; }
footer.wp-block-template-part > .wp-block-group { padding-top: 56px !important; padding-bottom: 28px; }
footer.wp-block-template-part .wp-block-columns { gap: 32px 48px !important; margin-bottom: 0 !important; }
footer.wp-block-template-part h3.wp-block-heading {
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #fff !important;
	margin: 0 0 14px !important;
}
footer.wp-block-template-part .wp-block-column > h3.wp-block-heading:not(:first-child) { margin-top: 28px !important; }
footer.wp-block-template-part .wp-block-navigation .wp-block-navigation__container { gap: 10px !important; }
footer.wp-block-template-part .wp-block-navigation,
footer.wp-block-template-part p.has-medium-font-size { font-size: 15px !important; }
footer.wp-block-template-part a,
footer.wp-block-template-part .wp-block-navigation a { color: #b8bec9 !important; text-decoration: none !important; font-weight: 400 !important; }
footer.wp-block-template-part a:hover { color: #fff !important; text-decoration: underline !important; text-underline-offset: 3px; }
footer.wp-block-template-part p { line-height: 1.9; }
footer.wp-block-template-part .wp-block-social-links { gap: 12px !important; }
footer.wp-block-template-part .wp-block-social-links a { color: #fff !important; }
footer.wp-block-template-part > .wp-block-group > .wp-block-group:last-child {
	margin-top: 40px !important;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	gap: 6px;
}
footer.wp-block-template-part > .wp-block-group > .wp-block-group:last-child p { color: #8b919c !important; font-size: 13px !important; }
footer.wp-block-template-part > .wp-block-group > .wp-block-group:last-child a { color: #8b919c !important; }

/* =========================================================================
 * Homepage sections
 * ====================================================================== */
.zt-sec .e-con-inner { max-width: 1200px; }
.zt-eyebrow {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--zt-blue);
}
.zt-eyebrow--light { color: #8db8ff; }
.zt-sec-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 24px;
}
.zt-sec-head h2 { margin: 0; font-size: clamp(24px, 3vw, 32px); font-weight: 700; letter-spacing: -.015em; color: var(--zt-ink); }
.zt-sec-head__link { font-weight: 500; color: var(--zt-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; white-space: nowrap; }
.zt-sec-head__link:hover { color: var(--zt-blue); }
.zt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 28px;
	border-radius: var(--zt-radius);
	background: var(--zt-blue);
	color: #fff !important;
	font-weight: 700;
	text-decoration: none !important;
	transition: background-color .15s ease;
}
.zt-btn:hover { background: var(--zt-blue-dark); }
.zt-btn--wa { background: var(--zt-wa); }
.zt-btn--wa:hover { background: #1eb457; }

/* Hero — light banner (also used by the About / Contact / Deals / Categories page heroes) */
.zt-sec--hero { background: var(--zt-surface) !important; border-bottom: 1px solid var(--zt-border); }
.zt-sec--hero .zt-eyebrow--light { color: var(--zt-blue); }
.zt-hero {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 48px;
	align-items: center;
	color: var(--zt-ink);
}
.zt-hero h1 {
	margin: 0 0 16px;
	font-size: clamp(30px, 4.6vw, 52px);
	line-height: 1.1;
	font-weight: 700;
	letter-spacing: -.025em;
	color: var(--zt-ink);
}
.zt-hero__sub { font-size: clamp(16px, 1.5vw, 18px); line-height: 1.55; color: var(--zt-text); margin: 0 0 26px; max-width: 34em; }
.zt-hero__sub strong { color: var(--zt-ink); }
.zt-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 22px; }
.zt-hero__points { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--zt-text); }
.zt-hero__art { position: relative; aspect-ratio: 1 / 1; max-width: 480px; justify-self: end; width: 100%; }
.zt-hero__img {
	position: absolute;
	object-fit: cover;
	border-radius: 12px;
	box-shadow: 0 16px 40px rgba(26, 28, 34, .12);
	border: 4px solid #fff;
	background: #fff;
}
.zt-hero__img--a { width: 62%; aspect-ratio: 1; top: 0; right: 0; z-index: 2; }
.zt-hero__img--b { width: 50%; aspect-ratio: 1; bottom: 0; left: 0; z-index: 3; }
.zt-hero__img--c { width: 38%; aspect-ratio: 1; bottom: 6%; right: 4%; z-index: 1; }
@media (max-width: 860px) {
	.zt-hero { grid-template-columns: 1fr; gap: 28px; }
	.zt-hero__art { max-width: 340px; justify-self: center; }
	.zt-hero__ctas .zt-btn { flex: 1 1 100%; }
}

/* Trust bar — Dawn "multicolumn": no boxes, icon + text */
.zt-trustbar {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}
.zt-trustbar li {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 0;
	padding: 14px 16px;
	border: 0;
	border-radius: var(--zt-radius);
	background: var(--zt-grey);
}
.zt-trustbar li > span { font-size: 22px; }
.zt-trustbar strong { display: block; font-size: 15px; font-weight: 700; color: var(--zt-ink); }
.zt-trustbar small { display: block; font-size: 13px; color: var(--zt-text); }
@media (max-width: 860px) { .zt-trustbar { grid-template-columns: repeat(2, 1fr); gap: 8px; } .zt-trustbar li { padding: 12px; align-items: flex-start; } }

/* Categories */
.zt-cats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.zt-cat {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--zt-radius);
	overflow: hidden;
	text-decoration: none !important;
	background: var(--zt-grey);
}
.zt-cat img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.zt-cat:hover img { transform: scale(1.03); }
.zt-cat__label {
	position: absolute;
	inset: auto 0 0 0;
	padding: 40px 18px 16px;
	background: linear-gradient(transparent, rgba(26, 28, 34, .8));
	color: #fff;
}
.zt-cat__label strong { display: block; font-size: 19px; font-weight: 700; }
.zt-cat__label small { font-size: 13px; opacity: .85; }
@media (max-width: 760px) {
	.zt-cats { grid-template-columns: 1fr; gap: 12px; }
	.zt-cat { aspect-ratio: 16 / 9; }
}

/* Steps */
.zt-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.zt-step { padding: 24px; border: 1px solid var(--zt-border); border-radius: var(--zt-radius); background: #fff; }
.zt-step h3 { margin: 14px 0 6px; font-size: 18px; font-weight: 700; color: var(--zt-ink); }
.zt-step p { margin: 0; color: var(--zt-text); font-size: 15px; }
.zt-step__n {
	display: inline-grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--zt-blue-soft);
	color: var(--zt-blue);
	font-weight: 700;
}
@media (max-width: 760px) { .zt-steps { grid-template-columns: 1fr; gap: 12px; } }

/* FAQ — Dawn collapsible rows: lines, no boxes */
.zt-faq { display: grid; gap: 0; max-width: 820px; border-top: 1px solid var(--zt-border); }
.zt-faq details { background: transparent; border: 0; border-bottom: 1px solid var(--zt-border); border-radius: 0; padding: 0 2px; }
.zt-faq summary { cursor: pointer; padding: 18px 0; font-weight: 500; color: var(--zt-ink); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.zt-faq summary::-webkit-details-marker { display: none; }
.zt-faq summary::after { content: "+"; color: var(--zt-ink); font-size: 20px; font-weight: 400; line-height: 1; }
.zt-faq details[open] summary::after { content: "–"; }
.zt-faq details p { margin: 0 0 18px; color: var(--zt-text); }

/* CTA */
.zt-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 32px;
	border-radius: 12px;
	background: var(--zt-blue);
	color: #fff;
}
.zt-cta h2 { margin: 0 0 6px; color: #fff !important; font-size: clamp(22px, 3vw, 30px); font-weight: 700; }
.zt-cta p { margin: 0; color: #dbe8ff; }
@media (max-width: 760px) { .zt-cta { flex-direction: column; align-items: stretch; text-align: center; padding: 24px; } }

/* Product grids inside homepage */
.zt-sec .woocommerce ul.products { margin-bottom: 0 !important; }

/* Footer links */
.zt-footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.zt-footer-links a { text-decoration: none; }
.zt-footer-links a:hover { text-decoration: underline; }

/* Show homepage sections immediately (theme's scroll fade-in delays content on ad landings) */
.hostinger-elementor-aos.zt-sec { opacity: 1 !important; transform: none !important; }

/* Theme scroll fade-in: show every section immediately (avoids blank pages) */
.hostinger-elementor-aos { opacity: 1 !important; transform: none !important; }

/* ---------- Buy 2 & Save picker ---------- */
.zt-offer { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0 6px; }
.zt-offer__title { grid-column: 1 / -1; margin: 0; font-weight: 500; font-size: 14px; color: var(--zt-ink); }
.zt-offer__opt {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
	padding: 14px; border: 1px solid var(--zt-field); border-radius: var(--zt-radius);
	background: #fff; cursor: pointer; text-align: left; font: inherit; color: var(--zt-ink);
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
.zt-offer__opt:hover { border-color: var(--zt-ink); }
.zt-offer__opt.is-active { border-color: var(--zt-blue); box-shadow: inset 0 0 0 1px var(--zt-blue); background: var(--zt-blue-soft); }
.zt-offer__name { font-weight: 500; font-size: 15px; }
.zt-offer__price { font-weight: 700; font-size: 17px; }
.zt-offer__price small { display: block; font-size: 12px; font-weight: 700; color: var(--zt-green); }
.zt-offer__badge {
	position: absolute; top: -10px; right: 10px; background: #ffb020; color: var(--zt-ink);
	font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 999px;
}
.zt-loop-offer .woocommerce-Price-amount { color: inherit; }

/* ---------- Static pages ---------- */
.zt-page-hero { text-align: center; max-width: 760px; margin: 0 auto; }
.zt-page-hero h1 { margin: 0 0 12px; font-size: clamp(30px, 4.2vw, 44px); font-weight: 700; letter-spacing: -.02em; color: var(--zt-ink); }
.zt-page-hero p { margin: 0 auto; font-size: 18px; color: var(--zt-text); max-width: 46em; }
.zt-page-hero--dark h1 { color: var(--zt-ink); }
.zt-page-hero--dark p { color: var(--zt-text); }
.zt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.zt-card { padding: 24px; border: 1px solid var(--zt-border); border-radius: var(--zt-radius); background: #fff; }
.zt-card__icon { font-size: 28px; line-height: 1; }
.zt-card h3 { margin: 12px 0 6px; font-size: 18px; font-weight: 700; color: var(--zt-ink); }
.zt-card p { margin: 0; color: var(--zt-text); font-size: 15px; }
.zt-card a { color: var(--zt-blue); font-weight: 700; text-decoration: none; }
.zt-card--accent { background: var(--zt-wa); border-color: var(--zt-wa); color: #fff; }
.zt-card--accent h3, .zt-card--accent p, .zt-card--accent a { color: #fff !important; }
.zt-story { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.zt-story img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--zt-radius); }
.zt-story h2 { margin: 0 0 12px; font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: var(--zt-ink); }
.zt-story p { color: var(--zt-text); font-size: 16px; }
@media (max-width: 860px) { .zt-story { grid-template-columns: 1fr; gap: 24px; } }
.zt-deal-banner {
	display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 8px;
}
.zt-deal-banner div { padding: 18px; border-radius: var(--zt-radius); background: var(--zt-grey); border: 0; text-align: center; }
.zt-deal-banner strong { display: block; font-size: 19px; color: var(--zt-ink); }
.zt-deal-banner span { font-size: 14px; color: var(--zt-text); }
@media (max-width: 760px) { .zt-deal-banner { grid-template-columns: 1fr; } }
.zt-cats--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1000px) { .zt-cats--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .zt-cats--4 { grid-template-columns: 1fr; } }

.zt-hero-page .wp-block-post-title,
.zt-hero-page main > .wp-block-group > .wp-block-post-title { display: none; }
.zt-hero-page main { padding-top: 0 !important; margin-top: 0 !important; }
.zt-hero-page .entry-content > .elementor { margin-top: 0; }

/* ---------- Shop + category pages ---------- */
body.woocommerce main .wp-block-query-title,
body.woocommerce-page main .wp-block-query-title {
	font-size: clamp(28px, 3.4vw, 40px) !important;
	font-weight: 700;
	letter-spacing: -.02em;
	margin: 8px 0 12px !important;
}
body.woocommerce main .wc-block-breadcrumbs { margin-bottom: 0 !important; }
body.woocommerce main .wp-block-term-description { color: var(--zt-text); font-size: 15px; max-width: 46em; margin: 0 0 8px !important; }
body.woocommerce main > .wp-block-group.is-content-justification-space-between {
	align-items: center !important;
	gap: 12px !important;
	margin: 16px 0 20px !important;
	padding: 0 0 14px;
	border-bottom: 1px solid var(--zt-border);
}
body.woocommerce .woocommerce-result-count { margin: 0 !important; font-size: 14px !important; color: var(--zt-muted); }
body.woocommerce .woocommerce-ordering { margin: 0 !important; }
body.woocommerce .woocommerce-ordering select {
	min-height: 40px;
	padding: 6px 34px 6px 12px;
	border: 1px solid var(--zt-field);
	border-radius: var(--zt-radius);
	background-color: #fff;
	font: inherit;
	font-size: 14px !important;
	color: var(--zt-ink);
}

/* ---------- Product grids: home, shop, categories, related ---------- */
.woocommerce ul.products,
ul.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 28px 12px !important;
	margin: 0 0 32px !important;
	padding: 0 !important;
	list-style: none;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
@media (min-width: 768px) {
	.woocommerce ul.products,
	ul.wc-block-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 36px 16px !important; }
}
@media (min-width: 1024px) {
	.woocommerce ul.products,
	ul.wc-block-product-template { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 40px 20px !important; }
}
.woocommerce ul.products li.product,
ul.wc-block-product-template > li.wc-block-product {
	position: relative;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	float: none !important;
	display: flex !important;
	flex-direction: column;
	text-align: left !important;
	padding: 0 !important;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex-direction: column; flex: 1; text-decoration: none; }
.woocommerce ul.products li.product img,
.wc-block-product .wc-block-components-product-image img {
	width: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	margin: 0 0 12px !important;
	background: var(--zt-grey);
	border-radius: var(--zt-radius) !important;
	transition: opacity .2s ease;
}
.woocommerce ul.products li.product a:hover img,
.wc-block-product .wc-block-components-product-image a:hover img { opacity: .92; }
.wc-block-product .wc-block-components-product-image { margin: 0 !important; order: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title {
	order: 1;
	font-size: 14px !important;
	line-height: 1.4 !important;
	font-weight: 500 !important;
	letter-spacing: .005em;
	text-align: left !important;
	color: var(--zt-ink);
	margin: 0 0 6px !important;
	padding: 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.8em;
}
.wc-block-product .wp-block-post-title a { display: inline !important; color: inherit; text-decoration: none; }
.woocommerce ul.products li.product:hover .woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.woocommerce ul.products li.product .price,
.wc-block-product .wp-block-woocommerce-product-price {
	order: 2;
	font-size: 15px !important;
	margin: 0 0 2px !important;
	text-align: left !important;
}
.wc-block-product .wc-block-components-product-price { font-size: 15px !important; text-align: left !important; justify-content: flex-start; letter-spacing: .02em; }
.zt-loop-offer { order: 3; display: block; font-size: 12px; font-weight: 500; color: var(--zt-green); margin: 0 0 12px; text-align: left; }
.woocommerce ul.products li.product .button,
.wc-block-product .wp-block-button {
	order: 4;
	margin: auto 0 0 !important;
	width: 100% !important;
}
/* Card button: outline (secondary) — fills blue on hover/tap */
.woocommerce ul.products li.product .button,
.wc-block-product .wp-block-button .wp-block-button__link,
.wc-block-product .wc-block-components-product-button__button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	min-height: 42px;
	padding: 8px 10px !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	border-radius: var(--zt-radius) !important;
	text-align: center;
	background: #fff !important;
	color: var(--zt-blue) !important;
	border: 1px solid var(--zt-blue) !important;
	box-shadow: none !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:active,
.wc-block-product .wp-block-button .wp-block-button__link:hover,
.wc-block-product .wc-block-components-product-button__button:hover,
.wc-block-product .wc-block-components-product-button__button:active {
	background: var(--zt-blue) !important;
	color: #fff !important;
}
.woocommerce ul.products li.product .added_to_cart,
.wc-block-product .wc-block-components-product-button__view-cart { display: none !important; }
@media (min-width: 1024px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.wc-block-product .wp-block-post-title { font-size: 15px !important; }
}

/* Shop, category and product pages: side gutter on phones */
@media (max-width: 781px) {
	body.woocommerce main.has-global-padding,
	body.woocommerce-page main.has-global-padding { padding-left: 16px !important; padding-right: 16px !important; }
}

/* Product page bottom: keep the footer clear of the sticky buy bar and WhatsApp bubble */
@media (max-width: 899px) {
	footer.wp-block-template-part > .wp-block-group:last-child { padding-bottom: 88px !important; }
	body.single-product footer.wp-block-template-part > .wp-block-group:last-child { padding-bottom: 150px !important; }
	body.single-product .zt-wa-float { bottom: 88px; }
}
.single-product .wp-block-woocommerce-product-collection { margin-bottom: 40px !important; }

/* ---------- Checkout: add more to your order ---------- */
.zt-up {
	max-width: 1100px;
	margin: 0 auto 16px;
	padding: 16px;
	border: 1px solid var(--zt-border);
	border-radius: var(--zt-radius);
	background: #fff;
}
.zt-up__free { margin: 0 0 12px; font-size: 15px; color: var(--zt-ink); }
.zt-up__bundle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	margin: 0 0 12px;
	background: #f1faf4;
	border: 1px dashed var(--zt-green);
	border-radius: var(--zt-radius);
	font-size: 14px;
}
.zt-up__bundle em { color: var(--zt-green); font-style: normal; font-weight: 700; }
.zt-up__title { margin: 4px 0 8px; font-weight: 700; font-size: 14px; color: var(--zt-ink); }
.zt-up__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.zt-up__card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 0;
	background: transparent;
	border: 0;
	font-size: 13px;
}
.zt-up__img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--zt-radius-sm); display: block; background: var(--zt-grey); }
.zt-up__name { line-height: 1.3; color: var(--zt-ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.zt-up__price { font-weight: 700; color: var(--zt-ink); }
.zt-up__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	min-height: 36px;
	padding: 6px 12px;
	border-radius: var(--zt-radius-sm);
	background: #fff;
	border: 1px solid var(--zt-blue);
	color: var(--zt-blue) !important;
	font-weight: 700;
	font-size: 13px;
	text-decoration: none !important;
	white-space: nowrap;
}
.zt-up__btn:hover { background: var(--zt-blue); color: #fff !important; }
.zt-up__bundle .zt-up__btn { background: var(--zt-blue); color: #fff !important; }
.zt-up__edit { margin: 12px 0 0; font-size: 13px; }
.zt-up__edit a { color: var(--zt-text); }
@media (min-width: 768px) {
	.zt-up__cards { grid-template-columns: repeat(3, minmax(0, 160px)); }
}

/* Checkout: "add more" box sits under the order total, inside the summary */
.woocommerce-checkout-review-order-table .zt-up-row td { padding: 16px 0 4px !important; border: 0 !important; background: transparent !important; }
.woocommerce-checkout-review-order-table .zt-up-row .zt-up { margin: 0; max-width: none; background: #fff; text-align: left; }
.zt-up__btn.is-busy { opacity: .6; pointer-events: none; }
#payment .place-order .zt-up { margin: 20px 0 0; max-width: none; text-align: left; }
.zt-up__ship { font-size: 11px; line-height: 1.3; color: var(--zt-text); }
.zt-up__ship--same { color: var(--zt-green); font-weight: 700; }

/* Checkout: terms line instead of checkbox */
.zt-terms-line{font-size:12px;color:#6b7280;margin:0 0 12px;line-height:1.5}
.zt-terms-line a{color:inherit;text-decoration:underline}

/* Product demo video */
.zt-video{margin:20px 0 4px}
.zt-video__title{font-weight:700;font-size:15px;margin:0 0 8px}
.zt-video__player{display:block;width:100%;max-height:70vh;background:#000;border-radius:12px;object-fit:contain}
