/* ==========================================================================
   Zuutees — flat retail skin for Flatsome (Fanatics-style)
   Loaded after Customizer CSS (see functions.php), so it wins over old rules.
   ========================================================================== */

:root {
	--zt-paper: #ffffff;
	--zt-soft: #f5f5f5;      /* promo strip, hovers */
	--zt-line: #e1e1e1;      /* hairlines */
	--zt-line-strong: #c7c7c7;
	--zt-ink: #000000;       /* text, buttons */
	--zt-text: #242424;
	--zt-muted: #6b6b6b;
	--zt-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--primary-color: #000000;
	--rounded-8px: 0px;
}

/* ---------- Base ---------- */
html, body, #wrapper, #main, #main.dark, .sticky-add-to-cart--active { background-color: var(--zt-paper) !important; }
body, .nav > li > a, .alt-font, button, input, select, textarea, .button {
	font-family: var(--zt-font) !important;
}
body { color: var(--zt-text); font-size: 15px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, .heading-font {
	font-family: var(--zt-font) !important;
	color: var(--zt-ink);
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.25;
}
a { color: var(--zt-text); }
a:hover { color: var(--zt-ink); }
.uppercase, span.widget-title, .section-title, .section-title span, .section-title-main, .nav > li > a,
.nav-uppercase > li > a, .breadcrumbs, .product-section-title, p.category {
	text-transform: none !important;
	letter-spacing: 0 !important;
}
img, .box-image, .box-image img { border-radius: 0 !important; }
:focus-visible { outline: 2px solid var(--zt-ink); outline-offset: 2px; }

.container-width, .full-width .ubermenu-nav, .container, .row { max-width: 1320px; }
.row.row-collapse { max-width: 1290px; }
.row.row-small { max-width: 1312px; }
.row.row-large { max-width: 1350px; }

/* ---------- Top bar → thin promo strip ---------- */
.header-top {
	background-color: var(--zt-soft) !important;
	min-height: 34px;
	font-size: 13px;
	border-bottom: 1px solid var(--zt-line);
}
.header-top, .header-top a, .header-top li, .header-top p, .header-top .nav > li > a,
.header-top.nav-dark .nav > li > a, .header-top.nav-dark .nav > li.html { color: var(--zt-text) !important; }
.header-top p { margin: 0; }
.header-top span { color: var(--zt-ink) !important; font-weight: 700; }

/* ---------- Main header ---------- */
.header-main { height: 76px; }
#logo img { max-height: 56px; padding: 4px 0; }
.header-main .flex-left.flex-grow { justify-content: center; }
.header-search-form-wrapper .searchform-wrapper { max-width: 460px; margin: 0 auto; }
.search-form { width: 100%; }
input#woocommerce-product-search-field-0,
.header-search-form input[type="search"] {
	height: 40px;
	background: #fff !important;
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	padding-left: 18px;
	font-size: 14px;
	color: var(--zt-ink);
}
.header-search-form input[type="search"]:focus { border-color: var(--zt-ink) !important; }
.header-search-form .ux-search-submit {
	background: var(--zt-soft) !important;
	color: var(--zt-ink) !important;
	border-radius: 999px !important;
}

.header-nav .cart-item a, .header-nav .cart-item a .cart-icon { color: var(--zt-ink) !important; }
.cart-icon strong {
	border-color: var(--zt-ink) !important;
	color: var(--zt-ink) !important;
	border-radius: 999px;
	font-weight: 600;
}
.cart-icon strong:after { display: none; }
.current-dropdown .cart-icon strong, .cart-icon:hover strong { background-color: var(--zt-ink) !important; color: #fff !important; }

/* ---------- Category nav row (centered, bold, hairlines) ---------- */
.header-bottom, #wide-nav {
	background-color: var(--zt-paper) !important;
	border-top: 1px solid var(--zt-line);
	border-bottom: 1px solid var(--zt-line);
	min-height: 44px;
}
#header #wide-nav .flex-row { background: transparent !important; }
#wide-nav .flex-row > .flex-left { flex: 1 1 auto; justify-content: center; }
#wide-nav .flex-row > .flex-right { flex: 0 0 auto; }
#wide-nav .header-bottom-nav.nav-left { justify-content: center; width: 100%; }
.header-wrapper .header-bottom-nav.nav > li > a,
.header:not(.transparent) .header-bottom-nav.nav > li > a {
	color: var(--zt-ink) !important;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 0;
	line-height: 20px;
}
.header-bottom-nav.nav > li { margin: 0 15px; }
.header-bottom-nav.nav-divided > li + li > a:after { display: none !important; }
.header-bottom-nav.nav > li > a i.icon-angle-down { display: none; }
.header-bottom-nav.nav > li:hover > a { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }

.nav-dropdown {
	border: 1px solid var(--zt-line) !important;
	border-radius: 0;
	box-shadow: 0 6px 16px rgba(0,0,0,.08) !important;
	padding: 8px 0;
}
.nav-dropdown-has-arrow li.has-dropdown:after, .nav-dropdown-has-arrow li.has-dropdown:before { display: none; }
.nav-dropdown li a { font-size: 14px; color: var(--zt-text); padding: 8px 20px; border: 0 !important; }
.nav-dropdown li a:hover { color: var(--zt-ink); background: var(--zt-soft); }

.stuck .header-main { height: 64px !important; box-shadow: 0 1px 0 var(--zt-line); }
.stuck #logo img { max-height: 46px !important; }

/* ---------- Buttons ---------- */
.button, button, input[type="submit"], input[type="button"].primary {
	border-radius: 999px;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 600;
	box-shadow: none !important;
}
.button.primary:not(.is-outline), button[type="submit"], input[type="submit"]:not(.is-form),
.button.wc-forward:not(.checkout):not(.checkout-button), .button.submit-button, input.button.alt,
.checkout-button, .button.checkout, #place_order {
	background-color: var(--zt-ink) !important;
	border-color: var(--zt-ink) !important;
	color: #fff !important;
}
.button.primary:not(.is-outline):hover, button[type="submit"]:hover, input[type="submit"]:not(.is-form):hover,
.checkout-button:hover, #place_order:hover { background-color: #333 !important; }
.button.is-outline { border: 1px solid var(--zt-ink) !important; color: var(--zt-ink) !important; background: #fff !important; }

/* ---------- Section titles ---------- */
.section-title-container { margin-bottom: 18px; }
.section-title { justify-content: flex-start; border: 0 !important; }
.section-title b { display: none; }
.section-title-center span, .section-title-normal span, .section-title span.section-title-main {
	font-size: 22px;
	font-weight: 600;
	color: var(--zt-ink);
	border: 0 !important;
	margin: 0; padding: 0;
}
.section-title a { font-size: 14px; font-weight: 600; color: var(--zt-ink); text-decoration: underline; }
h3.product-section-title { font-size: 22px; font-weight: 600; padding-top: 28px; }

/* ---------- Product grid: flat, hairline rows ---------- */
.products.row > .product-small.col, .row.equalize-box > .product-small.col {
	padding-bottom: 0;
	border-bottom: 1px solid var(--zt-line);
}
.product-small .col-inner, .product-small.box-vertical {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: 16px 0 18px;
}
.product-small .box-image { background: #fff; overflow: hidden; }
.has-hover:hover .image-zoom img, .product-small:hover .image-zoom img { transform: none !important; }
.product-small .box-text { padding: 12px 0 0; }
.product-small p.category { display: none; }
.product-small .title-wrapper a,
.product-small .name.product-title a {
	color: var(--zt-text) !important;
	font-size: 14px !important;
	font-weight: 400;
	line-height: 1.4 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.product-small:hover .title-wrapper a { text-decoration: underline; }
.product-small .price-wrapper { margin-top: 8px; }
.product-small .woocommerce-Price-amount *, .product-small span.price .woocommerce-Price-amount * {
	color: var(--zt-ink) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}
.price-wrapper .price { gap: 8px; align-items: baseline; }
.price-wrapper del, .price-wrapper del .woocommerce-Price-amount.amount * {
	color: var(--zt-muted) !important;
	font-weight: 400 !important;
	font-size: 14px !important;
}
.product-small .badge-container .badge-inner {
	background: #fff; color: var(--zt-ink);
	border: 1px solid var(--zt-line-strong);
	border-radius: 2px;
	font-size: 12px; font-weight: 600;
}

/* ---------- Category / shop page ---------- */
.shop-page-title.category-page-title, .page-title.shop-page-title { background: transparent; border-bottom: 0; margin-bottom: 0; }
.shop-page-title .page-title-inner { padding-top: 16px; padding-bottom: 8px; }
.breadcrumbs, .woocommerce-breadcrumb, .product-breadcrumb-container .breadcrumbs {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: var(--zt-text);
}
.breadcrumbs a { color: var(--zt-text); font-weight: 400; text-decoration: underline; text-underline-offset: 2px; }
.breadcrumbs .divider { margin: 0 4px; opacity: .6; }
.zt-archive-title {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: -0.02em;
	margin: 0 0 14px;
	padding: 0 calc(var(--gutter, 9.8px));
}
.woocommerce-result-count { font-size: 14px; color: var(--zt-text); }
select, .woocommerce-ordering select {
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	height: 40px;
	font-size: 14px;
	font-weight: 600;
	background-color: #fff;
}
.term-description, .taxonomy-description { color: var(--zt-text); max-width: 80ch; }
.nav-pagination > li > a, .nav-pagination > li > span {
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 0 !important;
	color: var(--zt-ink);
	font-weight: 600;
	min-width: 36px; height: 36px; line-height: 34px;
}
.nav-pagination > li > .current, .nav-pagination > li > a:hover, .nav-pagination > li > span:hover {
	background-color: #fff !important;
	border-color: var(--zt-ink) !important;
	color: var(--zt-ink);
}

/* ---------- Single product ---------- */
.custom-product-page { padding-top: 8px; }
.salesgen-discount-notices {
	background: var(--zt-soft) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--zt-text) !important;
	font-size: 14px;
	padding: 10px 16px !important;
	text-align: center;
}
.salesgen-discount-notices strong { color: var(--zt-ink) !important; }
.woocommerce-product-gallery .product-gallery-slider,
.woocommerce-product-gallery__wrapper .woocommerce-product-gallery__image { background: #fff; }
.product-thumbnails a { border: 1px solid var(--zt-line) !important; transform: none !important; border-radius: 0 !important; }
.product-thumbnails .is-nav-selected a, .product-thumbnails a:hover { border-color: var(--zt-ink) !important; }
.product-thumbnails img { opacity: 1 !important; }
.flickity-prev-next-button svg {
	background-color: #fff !important;
	color: var(--zt-ink) !important;
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 999px !important;
	width: 36px !important; height: 36px !important;
	padding: 9px !important;
}
.product-breadcrumb-container { margin-bottom: 8px; }
h1.product-title.product_title, h1.product-title.product_title.entry-title {
	font-size: 20px !important;
	font-weight: 600;
	letter-spacing: -0.01em;
	line-height: 1.3;
	margin-bottom: 8px;
}
.product-short-description { color: var(--zt-text); font-size: 14px; }
.wcpa_price_summary .wcpa_total, .wcpa_price .woocommerce-Price-amount *, .product-info .price .woocommerce-Price-amount * {
	color: var(--zt-ink) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
}
.wcpa_price_summary { border-top: 1px solid var(--zt-line); padding-top: 14px; margin-top: 4px; }

/* ---------- Product options (WCPA) ---------- */
.wcpa_form_outer .wcpa_form_item { margin-bottom: 18px; }
.wcpa_form_outer .wcpa_form_item > label { font-size: 14px; font-weight: 600; color: var(--zt-ink); text-transform: none; margin-right: 6px; }
.wcpa_form_outer .required_ast { color: var(--zt-ink); }
.wcpa_helptext, .color-custom-v1_parent .wcpa_helptext {
	color: var(--zt-muted) !important; font-size: 14px;
	background: transparent !important; text-shadow: none !important;
	font-weight: 400 !important; border-radius: 0 !important;
}
.wcpa_form_outer .color-group .label_inside.wcpa_adjustwidth {
	background-color: #fff !important;
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 2px !important;
	color: var(--zt-ink) !important;
	height: 38px !important; line-height: 36px !important;
	min-width: 64px !important;
	padding: 0 14px;
	font-size: 14px; font-weight: 600;
	box-shadow: none !important;
}
.wcpa_form_outer .color-group label:hover .label_inside.wcpa_adjustwidth { border-color: var(--zt-ink) !important; }
.wcpa_form_outer .color-group input:checked + label .label_inside.wcpa_adjustwidth {
	border-color: var(--zt-ink) !important;
	box-shadow: inset 0 0 0 1px var(--zt-ink) !important;
	background: #fff !important; color: var(--zt-ink) !important;
}
.wcpa_form_outer .color-group .label_inside.wcpa_adjustwidth:after { display: none !important; }
.wcpa_form_outer .color-group .label_inside:not(.wcpa_adjustwidth) {
	border-radius: 2px !important;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.15) !important;
}
.wcpa_form_outer .color-group input:checked + label .label_inside:not(.wcpa_adjustwidth) {
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--zt-ink) !important;
}
.wcpa_form_outer .wcpa_form_item .image-group .wcpa_image input + img {
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	background: #fff; padding: 2px;
}
.wcpa_form_outer .wcpa_form_item .image-group .wcpa_image input:checked + img {
	border-color: var(--zt-ink) !important;
	box-shadow: inset 0 0 0 1px var(--zt-ink) !important;
}
.wcpa_form_outer .radio-group .wcpa_radio label { font-size: 14px; color: var(--zt-ink); }
.wcpa_form_outer .radio-group .wcpa_radio input:checked + label .wcpa_check { border-color: var(--zt-ink) !important; }
.wcpa_form_outer .radio-group .wcpa_radio input:checked + label .wcpa_check::before { background-color: var(--zt-ink) !important; }
.wcpa_form_outer input[type="text"], .wcpa_form_outer textarea {
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	height: 44px;
}
.wcpa_form_outer input[type="text"]:focus, .wcpa_form_outer textarea:focus { border-color: var(--zt-ink) !important; }
.size a.size-guide { color: var(--zt-ink) !important; font-weight: 400; text-decoration: underline; text-underline-offset: 2px; margin-left: 12px; padding-left: 0; font-size: 13px; }
.size a.size-guide:before { display: none; }

/* ---------- Add to cart ---------- */
form.cart { gap: 10px; }
form.cart .quantity { width: auto !important; flex: 0 0 auto; margin: 0 !important; }
form.cart .quantity input[type="number"] {
	width: 48px !important; height: 48px;
	border: 1px solid var(--zt-line-strong) !important;
	border-left: 0 !important; border-right: 0 !important;
	border-radius: 0 !important;
	font-weight: 600; box-shadow: none !important;
}
form.cart .quantity input[type="button"] {
	width: 40px; height: 48px;
	background: #fff !important;
	border: 1px solid var(--zt-line-strong) !important;
	border-radius: 0 !important;
	color: var(--zt-ink);
}
form.cart button.single_add_to_cart_button {
	flex: 1 1 0; width: auto !important; height: 48px;
	background-color: #fff !important;
	color: var(--zt-ink) !important;
	border: 1.5px solid var(--zt-ink) !important;
	border-radius: 999px !important;
	font-size: 15px; letter-spacing: 0;
	text-transform: none !important;
}
form.cart button.single_add_to_cart_button:hover { background-color: var(--zt-soft) !important; }
form.cart button.single_add_to_cart_button:before { display: none; }
form.cart button.buy_now_button, button.button.buy_now_button {
	width: 100% !important; margin-top: 0 !important;
	height: 50px; line-height: 50px !important;
	background: var(--zt-ink) !important;
	color: #fff !important; border: 0 !important;
	border-radius: 999px !important;
	font-size: 15px !important; letter-spacing: 0 !important;
	text-transform: none !important;
}
form.cart button.buy_now_button:hover { background: #333 !important; }

/* trust + buy-more-save-more */
.mm-pp-div {
	border: 0 !important;
	border-top: 1px solid var(--zt-line) !important;
	border-bottom: 1px solid var(--zt-line) !important;
	border-radius: 0 !important;
	background: #fff !important;
	padding: 14px 0 !important; margin: 18px 0 !important;
}
.mm-pp-div svg { fill: var(--zt-ink) !important; }
.mm-pp-div .wyuscs .wyuscs1 svg { width: 30px; height: 30px; }
.mm-pp-div .wyuscs .wyuscs2 .mm-pp { font-size: 13px !important; color: var(--zt-text) !important; }
.mm-pp-div a { color: var(--zt-ink) !important; }
.salesgen-bmsm-heading { border: 0 !important; border-radius: 0 !important; background: #fff !important; padding-left: 0 !important; }
.salesgen-bmsm-heading .sgboxes { background: transparent !important; border: 0 !important; padding-left: 0 !important; }
.sgbmsm-title { font-size: 16px !important; font-weight: 700; color: var(--zt-ink) !important; }
.sgbmsm-text { color: var(--zt-muted) !important; font-size: 13px; }
ul.salesgen-bmsm-items li { background: #fff !important; border: 1px solid var(--zt-line) !important; border-radius: 0 !important; }
ul.salesgen-bmsm-items .salesgen-bmsm-item-label { background: var(--zt-ink) !important; color: #fff !important; border-radius: 2px !important; }
ul.salesgen-bmsm-items .salesgen-bmsm-item-label2 { color: var(--zt-ink) !important; }
ul.salesgen-bmsm-items .salesgen-bmsm-item-title { color: var(--zt-ink) !important; font-weight: 600; }
ul.salesgen-bmsm-items .salesgen-bmsm-item-title-wrp { color: var(--zt-muted) !important; }

.product_meta { font-size: 13px; color: var(--zt-muted); border-top: 1px solid var(--zt-line); padding-top: 14px; margin-top: 18px; }
.product_meta > span { display: block; margin-bottom: 4px; border: 0 !important; }
.product_meta a { color: var(--zt-muted); }

/* tabs */
.woocommerce-tabs ul, .product-tabs { border-bottom: 1px solid var(--zt-line) !important; }
.woocommerce-tabs ul.product-tabs li a {
	text-transform: none !important;
	font-size: 16px; font-weight: 600;
	padding: 14px 2px; margin-right: 26px;
	color: var(--zt-muted);
}
.woocommerce-tabs ul.product-tabs > li.active > a { background: transparent !important; color: var(--zt-ink); }
.woocommerce-tabs li a:after { background-color: var(--zt-ink) !important; height: 2px !important; }
.woocommerce-tabs li a:before, .product-tabs li > a:before { display: none; }
#tab-description p, #tab-ux_global_tab p, #tab-description ul, #tab-ux_global_tab ul,
#tab-description .a-keyvalue td, #tab-description .a-keyvalue th {
	font-size: 15px !important; line-height: 1.65 !important; color: var(--zt-text) !important;
}
#tab-description h2 { font-size: 22px !important; }
#tab-description h3 { font-size: 18px !important; }
#tab-description .wp-more-category a, #tab-description .wp-description a, #tab-description .wp-source,
#tab-description em { color: var(--zt-ink) !important; text-decoration: underline; }
.tab-panels .panel { max-width: 820px; }

/* ---------- Cart & checkout ---------- */
.shop_table thead th, .cart_totals > h2, .woocommerce-checkout h3, .shop_table .cart_totals th {
	text-transform: none !important; letter-spacing: 0;
	border-width: 0 0 1px !important; color: var(--zt-ink);
}
.cart_totals, .checkout-sidebar, .col-inner.has-border, form.woocommerce-checkout .has-border {
	background: #fff;
	border: 1px solid var(--zt-line) !important;
	border-radius: 0;
	padding: 22px !important;
}
.cart-wrapper td.product-name a, .shop_table .product-name a { color: var(--zt-ink) !important; font-size: 15px; font-weight: 600; }
.cart-wrapper dl.variation *, dl.variation * { text-transform: none !important; color: var(--zt-muted) !important; font-weight: 400 !important; }
dd.variation-FitStyle, dd.variation-Color, dd.variation-Size { color: var(--zt-ink) !important; font-weight: 600 !important; }
.cart-container span.amount, .widget_shopping_cart_content span.amount,
.woocommerce-checkout-review-order span.amount { color: var(--zt-ink) !important; }
.wc-proceed-to-checkout a, .woocommerce-checkout-payment #place_order {
	background-color: var(--zt-ink) !important;
	border-radius: 999px !important;
	letter-spacing: 0 !important; text-transform: none !important;
	font-size: 16px !important; line-height: 50px !important;
}
.wc-proceed-to-checkout a:hover, .woocommerce-checkout-payment #place_order:hover { background-color: #333 !important; }
.woocommerce-mini-cart__buttons a { background-color: var(--zt-ink) !important; border-radius: 999px !important; letter-spacing: 0 !important; text-transform: none !important; }
.woocommerce-mini-cart__buttons a:first-child { background-color: #fff !important; color: var(--zt-ink) !important; border: 1px solid var(--zt-ink) !important; }
.cart-container .continue-shopping a, .cart-container .woocommerce-cart-form__contents button,
.cart-container p.return-to-shop a { border-radius: 999px !important; }
.shipping .shipping__list_item { border-color: var(--zt-line) !important; border-radius: 0 !important; background: #fff !important; padding: 8px 12px !important; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], textarea,
.fl-labels .form-row input:not([type=checkbox]), .fl-labels .form-row select, .fl-labels .form-row textarea {
	border: 1px solid var(--zt-line-strong);
	border-radius: 2px !important;
	box-shadow: none;
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus, input[type="password"]:focus, textarea:focus { border-color: var(--zt-ink); box-shadow: none; }
div.woocommerce-checkout-review-order .woocommerce-checkout-review-order-table thead .product-name,
div.woocommerce-checkout-review-order .woocommerce-checkout-review-order-table thead .product-total { text-transform: none !important; }
.current .breadcrumb-step { background-color: var(--zt-ink) !important; }
.checkout-breadcrumbs a, .checkout-page-title nav.h2 { text-transform: none !important; }
.woocommerce-privacy-policy-text p a { color: var(--zt-ink) !important; text-decoration: underline; }
.woocommerce-message, .woocommerce-info, .message-container { border-radius: 0; }

/* ---------- Footer: light, like Fanatics ---------- */
#footer { border-top: 1px solid var(--zt-line); }
#footer .section-bg, #footer .section .bg { background-color: #fff !important; }
#footer .section-content { padding-top: 16px; }
#footer h3 {
	font-size: 15px !important; font-weight: 700 !important;
	text-transform: lowercase !important; letter-spacing: 0 !important;
	color: var(--zt-ink) !important; margin-bottom: 12px;
}
#footer h3::first-letter { text-transform: uppercase !important; }
#footer ul { margin-left: 0; }
#footer li { list-style: none; margin-left: 0; margin-bottom: 6px; color: var(--zt-text) !important; font-size: 13px; }
#footer li a { color: var(--zt-text) !important; }
#footer li a:hover { color: var(--zt-ink) !important; text-decoration: underline; }
#footer li strong { color: var(--zt-ink) !important; }
#footer .dark, #footer .dark p, #footer .dark li { color: var(--zt-text); }
#footer .section + .section { border-top: 1px solid var(--zt-line); }
#footer .bot-widget, #footer .bot-widget p { color: var(--zt-muted) !important; font-size: 12px; }
.absolute-footer { background-color: #fff !important; color: var(--zt-muted); border-top: 1px solid var(--zt-line); }
.back-to-top { border-radius: 999px !important; background: #fff !important; color: var(--zt-ink) !important; border: 1px solid var(--zt-line-strong) !important; }

/* ---------- Off-canvas ---------- */
.off-canvas .nav-sidebar > li > a { font-size: 15px; font-weight: 600; color: var(--zt-ink); text-transform: none; }

/* ---------- Mobile ---------- */
@media (max-width: 849px) {
	.header-main { height: 60px; }
	#logo img { max-height: 44px; }
	.salesgen-discount-notices { margin: 0 !important; font-size: 13px; }
	form.cart .quantity, form.cart button.single_add_to_cart_button { width: auto !important; }
}
@media (max-width: 549px) {
	body { font-size: 14px; }
	.header-top { font-size: 12px; }
	.product-small .title-wrapper a, .product-small .name.product-title a { font-size: 13px !important; }
	.product-small .woocommerce-Price-amount *, .product-small span.price .woocommerce-Price-amount * { font-size: 15px !important; }
	.price-wrapper del, .price-wrapper del .woocommerce-Price-amount.amount * { font-size: 13px !important; }
	form.cart .quantity { margin-bottom: 0 !important; }
	.section-title-center span, .section-title-normal span, .zt-archive-title { font-size: 20px; }
	#footer .col { padding-bottom: 10px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* hairline rows for every product grid (home sections included) */
.row > .product-small.col { padding-bottom: 0; border-bottom: 1px solid var(--zt-line); }

/* selected option: beat the plugin's green border */
body .wcpa_form_outer .wcpa_form_item .color-group[class] input:checked + label span.label_inside.wcpa_adjustwidth {
	border-color: var(--zt-ink) !important;
}
body .wcpa_form_outer .wcpa_form_item .color-group[class] input:checked + label span.label_inside:not(.wcpa_adjustwidth) {
	border-color: transparent !important;
}

/* ==========================================================================
   Home page (front-page.php)
   ========================================================================== */
.zt-home { padding-bottom: 8px; }
.zt-wrap { max-width: 1320px; margin: 0 auto; padding: 0 20px; }
.zt-section { padding: 44px 0 0; }
.zt-h2 { font-size: 24px; font-weight: 700; letter-spacing: -0.02em; margin: 0; }

.zt-btn {
	display: inline-flex; align-items: center; justify-content: center;
	height: 48px; padding: 0 28px;
	border-radius: 999px;
	font-size: 15px; font-weight: 600;
	text-decoration: none !important;
	transition: background-color .15s ease, color .15s ease;
}
.zt-btn--solid { background: var(--zt-ink); color: #fff !important; border: 1.5px solid var(--zt-ink); }
.zt-btn--solid:hover { background: #333; border-color: #333; }
.zt-btn--line { background: #fff; color: var(--zt-ink) !important; border: 1.5px solid var(--zt-ink); }
.zt-btn--line:hover { background: var(--zt-soft); }

/* hero */
.zt-hero { border-bottom: 1px solid var(--zt-line); }
.zt-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: 48px;
	padding-top: 36px; padding-bottom: 36px;
}
.zt-hero__title {
	font-size: clamp(36px, 5vw, 64px);
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.02;
	margin: 0 0 18px;
	max-width: 11ch;
}
.zt-hero__lead { font-size: 17px; line-height: 1.55; color: var(--zt-text); max-width: 42ch; margin: 0 0 26px; }
.zt-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.zt-hero__media img { display: block; width: 100%; height: auto; }

/* shop by name */
.zt-names { border-bottom: 1px solid var(--zt-line); }
.zt-names__inner { display: flex; align-items: center; gap: 24px; padding-top: 18px; padding-bottom: 18px; }
.zt-names__title { font-size: 15px; font-weight: 700; margin: 0; white-space: nowrap; }
.zt-names__list {
	display: flex; gap: 8px; margin: 0; padding: 0 0 2px; list-style: none;
	overflow-x: auto; scrollbar-width: thin;
}
.zt-names__list li { margin: 0; flex: 0 0 auto; }
.zt-names__list a {
	display: block;
	padding: 8px 16px;
	border: 1px solid var(--zt-line-strong);
	border-radius: 999px;
	font-size: 14px; font-weight: 600;
	color: var(--zt-ink);
	white-space: nowrap;
	text-decoration: none !important;
}
.zt-names__list a:hover { border-color: var(--zt-ink); background: var(--zt-soft); }
.zt-names__list a.zt-names__all { background: var(--zt-ink); color: #fff; border-color: var(--zt-ink); }

/* category tiles */
.zt-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.zt-tile { display: flex; flex-direction: column; color: var(--zt-ink); text-decoration: none !important; }
.zt-tile__img { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--zt-soft); }
.zt-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.zt-tile__body { display: flex; flex-direction: column; gap: 4px; padding-top: 14px; }
.zt-tile__title { font-size: 20px; font-weight: 700; letter-spacing: -0.01em; }
.zt-tile__text { font-size: 14px; color: var(--zt-muted); }
.zt-tile__link { font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; margin-top: 6px; }
.zt-tile:hover .zt-tile__title { text-decoration: underline; text-underline-offset: 4px; }

/* bundle band */
.zt-bundle { background: var(--zt-ink); color: #fff; margin-top: 52px; }
.zt-bundle__inner { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding-top: 26px; padding-bottom: 26px; flex-wrap: wrap; }
.zt-bundle__lead { margin: 0; font-size: 17px; font-weight: 600; max-width: 34ch; color: #fff; }
.zt-bundle__tiers { display: flex; gap: 0; margin: 0; padding: 0; list-style: none; }
.zt-bundle__tiers li { margin: 0; padding: 0 28px; border-left: 1px solid rgba(255,255,255,.25); display: flex; flex-direction: column; }
.zt-bundle__tiers li:first-child { border-left: 0; padding-left: 0; }
.zt-bundle__tiers strong { font-size: 28px; font-weight: 800; letter-spacing: -0.03em; line-height: 1.1; }
.zt-bundle__tiers span { font-size: 13px; color: rgba(255,255,255,.75); }

/* product shelves */
.zt-shelf__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 4px; }
.zt-shelf__all { font-size: 14px; font-weight: 600; color: var(--zt-ink); text-decoration: underline; text-underline-offset: 3px; }
.zt-shelf .woocommerce { max-width: 1320px; margin: 0 auto; padding: 0 10px; }
.zt-shelf .products.row { border-top: 1px solid var(--zt-line); }

/* steps */
.zt-steps__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 20px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--zt-line); }
.zt-steps__list li { margin: 0; padding: 24px 28px 8px 0; }
.zt-steps__list li + li { padding-left: 28px; border-left: 1px solid var(--zt-line); }
.zt-steps__n {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 999px;
	border: 1.5px solid var(--zt-ink);
	font-size: 14px; font-weight: 700; margin-bottom: 14px;
}
.zt-steps__list h3 { font-size: 17px; font-weight: 700; margin: 0 0 6px; }
.zt-steps__list p { font-size: 14px; color: var(--zt-text); margin: 0; max-width: 40ch; }

/* promises */
.zt-promises { margin-top: 44px; background: var(--zt-soft); border-top: 1px solid var(--zt-line); }
.zt-promises__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 22px 0; list-style: none; }
.zt-promises__list li { margin: 0; padding: 0 20px; display: flex; flex-direction: column; border-left: 1px solid var(--zt-line); }
.zt-promises__list li:first-child { border-left: 0; padding-left: 0; }
.zt-promises__list strong { font-size: 14px; font-weight: 700; color: var(--zt-ink); }
.zt-promises__list span { font-size: 13px; color: var(--zt-muted); }

/* home: responsive */
@media (max-width: 849px) {
	.zt-hero__grid { grid-template-columns: 1fr; gap: 24px; padding-top: 24px; }
	.zt-hero__media { order: -1; margin: 0 -20px; }
	.zt-tiles { grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
	.zt-tile__text { display: none; }
	.zt-tile__title { font-size: 15px; }
	.zt-bundle__inner { flex-direction: column; align-items: flex-start; }
	.zt-promises__list { grid-template-columns: 1fr 1fr; row-gap: 16px; }
	.zt-promises__list li:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 549px) {
	.zt-wrap { padding: 0 14px; }
	.zt-hero__media { margin: 0 -14px; }
	.zt-hero__title { font-size: 36px; }
	.zt-hero__lead { font-size: 15px; }
	.zt-hero__actions .zt-btn { flex: 1 1 100%; }
	.zt-names__inner { flex-direction: column; align-items: flex-start; gap: 10px; }
	.zt-names__list { width: 100%; }
	.zt-tiles { grid-template-columns: 1fr; gap: 24px; }
	.zt-tile { display: grid; grid-template-columns: 120px 1fr; gap: 14px; align-items: center; }
	.zt-tile__body { padding-top: 0; }
	.zt-tile__text { display: block; font-size: 13px; }
	.zt-section { padding-top: 32px; }
	.zt-h2 { font-size: 20px; }
	.zt-bundle__tiers li { padding: 0 14px; }
	.zt-bundle__tiers strong { font-size: 22px; }
	.zt-steps__list { grid-template-columns: 1fr; }
	.zt-steps__list li, .zt-steps__list li + li { padding: 18px 0 4px; border-left: 0; }
	.zt-steps__list li + li { border-top: 1px solid var(--zt-line); }
	.zt-promises__list { grid-template-columns: 1fr; }
	.zt-promises__list li { border-left: 0; padding-left: 0; }
}
.zt-names__list { flex: 1 1 auto; min-width: 0; margin-left: 0 !important; }
.zt-shelf__all { white-space: nowrap; }
.zt-names__title { flex: 0 0 auto; }
.zt-names__title { width: auto !important; }
@media (max-width: 549px) { .zt-names { margin-top: 20px; border-top: 1px solid var(--zt-line); } }

/* name chips: wrap on desktop, swipe without a visible scrollbar on small screens */
.zt-names__list { flex-wrap: wrap; overflow: visible; scrollbar-width: none; }
.zt-names__list::-webkit-scrollbar { display: none; }
@media (max-width: 849px) {
	.zt-names__list { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 0; }
}

/* cart: real cart icon with a small count badge */
.header .cart-icon.image-icon {
	position: relative;
	display: inline-block;
	width: 26px; height: 26px;
	margin: 0 6px 0 0;
	vertical-align: middle;
}
.header .cart-icon.image-icon::before {
	content: "";
	position: absolute; inset: 0;
	background-color: var(--zt-ink);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h2.6l2.3 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.5-7.3H6.2'/%3E%3Ccircle cx='9.5' cy='20' r='1.4'/%3E%3Ccircle cx='17.5' cy='20' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 3.5h2.6l2.3 11.2a1.6 1.6 0 0 0 1.6 1.3h8.6a1.6 1.6 0 0 0 1.6-1.2l1.5-7.3H6.2'/%3E%3Ccircle cx='9.5' cy='20' r='1.4'/%3E%3Ccircle cx='17.5' cy='20' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.header .cart-icon.image-icon strong,
.header .current-dropdown .cart-icon strong, .header .cart-icon:hover strong {
	position: absolute;
	top: -7px; right: -9px;
	min-width: 18px; height: 18px;
	margin: 0; padding: 0 5px;
	border: 2px solid #fff !important;
	border-radius: 999px;
	background: var(--zt-ink) !important;
	color: #fff !important;
	font-size: 10px; font-weight: 700;
	line-height: 14px;
	box-sizing: content-box;
}
.header .cart-icon.image-icon strong::after { display: none !important; }
.header .header-cart-link:hover .cart-icon.image-icon::before { background-color: #444; }
.header .cart-icon.image-icon strong,
.header .current-dropdown .cart-icon strong, .header .cart-icon:hover strong {
	left: auto !important; right: -10px !important; top: -8px !important;
	width: auto !important; min-width: 8px !important; height: 16px !important;
	line-height: 16px !important; padding: 0 4px !important;
	font-size: 10px !important; text-align: center;
	border-width: 2px !important;
}

/* ==========================================================================
   Full-width banner (hero)
   ========================================================================== */
.zt-btn--white { background: #fff; color: var(--zt-ink) !important; border: 1.5px solid #fff; }
.zt-btn--white:hover { background: #e9e9e9; border-color: #e9e9e9; }
.zt-btn--ghost { background: transparent; color: #fff !important; border: 1.5px solid rgba(255,255,255,.6); }
.zt-btn--ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }

.zt-banner {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	background: var(--zt-ink);
	color: #fff;
	width: 100%;
}
.zt-banner__copy {
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: 56px max(24px, calc((100vw - 1320px) / 2 + 20px)) 56px;
	padding-right: 48px;
}
.zt-banner__kicker { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.7); margin: 0 0 14px; }
.zt-banner__title {
	color: #fff !important;
	font-size: clamp(40px, 5.2vw, 76px);
	font-weight: 800;
	letter-spacing: -0.045em;
	line-height: .98;
	margin: 0 0 20px;
	max-width: 10ch;
}
.zt-banner__lead { font-size: 17px; line-height: 1.5; color: rgba(255,255,255,.85); max-width: 38ch; margin: 0 0 28px; }
.zt-banner__actions { display: flex; flex-wrap: wrap; gap: 12px; }

.zt-banner__collage {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
	margin: 0; padding: 0; list-style: none;
	background: var(--zt-ink);
}
.zt-banner__collage li { margin: 0; aspect-ratio: 1 / 1; overflow: hidden; position: relative; background: #222; }
.zt-banner__collage a { display: block; height: 100%; }
.zt-banner__collage img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.zt-banner__collage a:hover img { transform: scale(1.04); }
.zt-banner__collage span {
	position: absolute; left: 12px; bottom: 12px;
	background: #fff; color: var(--zt-ink);
	font-size: 13px; font-weight: 700;
	padding: 5px 12px; border-radius: 999px;
}

/* old split hero no longer used */
.zt-hero { display: none; }
.zt-names { border-top: 0; }

/* ==========================================================================
   Full-width family banner
   ========================================================================== */
.zt-wide { position: relative; margin-top: 56px; background: var(--zt-ink); overflow: hidden; }
.zt-wide__img { display: block; width: 100%; height: clamp(360px, 46vw, 640px); object-fit: cover; object-position: center 70%; }
.zt-wide::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 38%, rgba(0,0,0,0) 65%);
	pointer-events: none;
}
.zt-wide__copy {
	position: absolute; z-index: 1;
	left: max(24px, calc((100vw - 1320px) / 2 + 20px));
	bottom: clamp(28px, 5vw, 64px);
	max-width: 460px;
	color: #fff;
}
.zt-wide__title { color: #fff !important; font-size: clamp(30px, 3.6vw, 52px); font-weight: 800; letter-spacing: -0.04em; line-height: 1.02; margin: 0 0 12px; }
.zt-wide__copy p { color: rgba(255,255,255,.88); font-size: 16px; margin: 0 0 22px; }

/* ==========================================================================
   Blog
   ========================================================================== */
.zt-blog__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 24px; margin-top: 16px; }
.zt-post { display: flex; flex-direction: column; }
.zt-post__img { position: relative; display: block; aspect-ratio: 16 / 10; background: var(--zt-soft); overflow: hidden; }
.zt-post__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.zt-post__date {
	position: absolute; left: 12px; top: 12px;
	display: flex; flex-direction: column; align-items: center;
	min-width: 46px; padding: 6px 4px;
	background: #fff; color: var(--zt-ink);
	font-size: 11px; font-weight: 600; line-height: 1.1; text-transform: uppercase;
}
.zt-post__date strong { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; }
.zt-post__title { font-size: 17px; font-weight: 700; line-height: 1.3; margin: 14px 0 6px; }
.zt-post__title a { color: var(--zt-ink); }
.zt-post__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.zt-post__excerpt { font-size: 14px; color: var(--zt-muted); margin: 0; }

@media (max-width: 849px) {
	.zt-banner { grid-template-columns: 1fr; }
	.zt-banner__copy { padding: 36px 20px 32px; order: 2; }
	.zt-banner__collage { order: 1; }
	.zt-blog__grid { grid-template-columns: 1fr 1fr; }
	.zt-wide::after { background: linear-gradient(0deg, rgba(0,0,0,.8) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,0) 80%); }
}
@media (max-width: 549px) {
	.zt-banner__copy { padding: 28px 14px; }
	.zt-banner__title { font-size: 40px; }
	.zt-banner__lead { font-size: 15px; }
	.zt-banner__actions .zt-btn { flex: 1 1 100%; }
	.zt-banner__collage span { font-size: 11px; padding: 3px 9px; left: 8px; bottom: 8px; }
	.zt-wide__img { height: 420px; object-position: 62% 70%; }
	.zt-wide__copy { left: 14px; right: 14px; }
	.zt-wide__copy .zt-btn { width: 100%; }
	.zt-blog__grid { grid-template-columns: 1fr; }
	.zt-names { margin-top: 0; border-top: 0; }
}
/* family banner: show the whole photo on wide screens */
.zt-wide__img { height: auto; aspect-ratio: 1020 / 474; }
@media (max-width: 849px) { .zt-wide__img { aspect-ratio: auto; height: 460px; object-position: center bottom; } }
.zt-wide__img { aspect-ratio: 9 / 5; object-position: 50% 18%; max-height: 760px; }
@media (max-width: 849px) { .zt-wide__img { aspect-ratio: auto; height: 460px; object-position: 50% 30%; } }
@media (max-width: 549px) { .zt-names__inner { padding-top: 24px; padding-bottom: 20px; } }

/* ==========================================================================
   Header menu (code-built, see functions.php)
   ========================================================================== */
#wide-nav { position: relative; z-index: 30; }
#wide-nav .flex-row, #wide-nav .flex-col, #wide-nav .header-bottom-nav { position: static !important; }
.header-bottom-nav.nav > li.zt-nav-item { margin: 0 18px; position: static; }
.header-bottom-nav.nav > li.zt-nav-item > a {
	font-size: 15px !important; font-weight: 600 !important;
	padding: 13px 0 !important; color: var(--zt-ink) !important;
	position: relative;
}
.header-bottom-nav.nav > li.zt-nav-item > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px;
	background: var(--zt-ink); transform: scaleX(0); transition: transform .15s ease;
}
.header-bottom-nav.nav > li.zt-nav-item:hover > a::after,
.header-bottom-nav.nav > li.zt-nav-item:focus-within > a::after { transform: scaleX(1); }
.header-bottom-nav.nav > li.zt-nav-item:hover > a { text-decoration: none !important; }
.header-bottom-nav.nav > li.zt-has-mega > a::before,
.header-bottom-nav.nav > li.zt-has-drop > a::before {
	content: ""; display: inline-block; order: 2;
	width: 6px; height: 6px; margin: 0 0 3px 8px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	float: right; margin-top: 5px;
}
.header-bottom-nav.nav > li.zt-nav-help {
	margin-left: 18px; padding-left: 36px;
	border-left: 1px solid var(--zt-line);
	position: relative !important;
}

/* mega panel */
.zt-mega, .zt-drop {
	position: absolute; top: 100%;
	background: #fff;
	border-top: 1px solid var(--zt-line);
	border-bottom: 1px solid var(--zt-line);
	box-shadow: 0 16px 32px rgba(0,0,0,.08);
	opacity: 0; visibility: hidden; transform: translateY(4px);
	transition: opacity .15s ease, transform .15s ease, visibility 0s linear .15s;
	z-index: 50;
	text-align: left;
}
.zt-mega { left: 0; right: 0; }
.zt-has-mega:hover > .zt-mega, .zt-has-mega:focus-within > .zt-mega,
.zt-has-drop:hover > .zt-drop, .zt-has-drop:focus-within > .zt-drop {
	opacity: 1; visibility: visible; transform: none;
	transition: opacity .15s ease, transform .15s ease, visibility 0s;
}
.zt-mega__inner {
	max-width: 1320px; margin: 0 auto; padding: 28px 20px 32px;
	display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px;
}
.zt-mega__label { font-size: 13px; font-weight: 700; color: var(--zt-ink); margin: 0 0 14px; }
.zt-mega__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.zt-mega__chips li { margin: 0; }
.zt-mega__chips a {
	display: block; padding: 7px 14px;
	border: 1px solid var(--zt-line-strong); border-radius: 999px;
	font-size: 13px; font-weight: 600; color: var(--zt-ink);
}
.zt-mega__chips a:hover { border-color: var(--zt-ink); background: var(--zt-soft); text-decoration: none; }
.zt-mega__cta {
	display: inline-flex; align-items: center; height: 42px; padding: 0 22px;
	background: var(--zt-ink); color: #fff !important; border-radius: 999px;
	font-size: 14px; font-weight: 600;
}
.zt-mega__cta:hover { background: #333; text-decoration: none; }
.zt-mega__az { border-left: 1px solid var(--zt-line); padding-left: 40px; }
.zt-mega__groups { column-count: 6; column-gap: 24px; }
.zt-mega__group { break-inside: avoid; margin-bottom: 14px; }
.zt-mega__letter { display: block; font-size: 12px; font-weight: 800; color: var(--zt-muted); margin-bottom: 4px; }
.zt-mega__group ul { margin: 0; padding: 0; list-style: none; }
.zt-mega__group li { margin: 0; }
.zt-mega__group a { display: inline-block; padding: 2px 0; font-size: 14px; color: var(--zt-text); }
.zt-mega__group a:hover { color: var(--zt-ink); text-decoration: underline; text-underline-offset: 3px; }

/* help dropdown */
.zt-drop { left: 18px; min-width: 200px; margin: 0; padding: 8px 0; list-style: none; border: 1px solid var(--zt-line); }
.zt-drop li { margin: 0; }
.zt-drop a { display: block; padding: 8px 18px; font-size: 14px; color: var(--zt-text); }
.zt-drop a:hover { background: var(--zt-soft); color: var(--zt-ink); text-decoration: none; }

/* mobile sidebar */
.off-canvas .nav-sidebar > li.zt-m-item > a { font-size: 17px !important; font-weight: 700 !important; padding: 14px 20px !important; }
.off-canvas .nav-sidebar > li.zt-m-help > a { font-size: 14px !important; font-weight: 500 !important; color: var(--zt-muted) !important; padding: 10px 20px !important; }
.off-canvas .nav-sidebar > li.zt-m-help:first-of-type, .off-canvas .nav-sidebar > li.zt-m-item + li.zt-m-help { margin-top: 12px; border-top: 1px solid var(--zt-line) !important; }
.off-canvas .nav-sidebar li.zt-m-item .children a { font-size: 15px !important; padding: 8px 20px 8px 32px !important; }
.off-canvas .nav-sidebar li.zt-m-all a { font-weight: 700 !important; text-decoration: underline; }

/* blog polish */
.zt-post__excerpt { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.single-post .entry-image img, .single-post .entry-header .entry-image img {
	width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center 30%;
}
.single-post .entry-content { font-size: 16px; line-height: 1.7; max-width: 720px; }
.single-post .entry-content h2 { font-size: 22px; margin-top: 1.6em; }
.single-post .entry-content a { text-decoration: underline; text-underline-offset: 3px; }
.entry-title, .blog-archive .entry-title { letter-spacing: -0.02em; }
.badge.post-date .badge-inner, .post-date .badge-inner { border-radius: 0 !important; background: #fff !important; color: var(--zt-ink) !important; border: 0 !important; font-weight: 700; }
.is-divider { display: none; }
.button.is-outline, .more-link, a.more-link { border-radius: 999px !important; }
.off-canvas-left .mfp-content, .off-canvas-right .mfp-content, .off-canvas .sidebar-menu, .mfp-content.off-canvas-cart { background-color: #fff !important; }
.off-canvas-left.mfp-bg.mfp-ready, .mfp-bg.off-canvas-left { background: rgba(0,0,0,.45) !important; }

/* ==========================================================================
   Product page (PDP)
   ========================================================================== */
.custom-product-page { max-width: 1320px; margin: 0 auto; padding: 12px 10px 0; }
.custom-product-page > .row { max-width: none; }

/* main row: big gallery, compact info */
@media (min-width: 850px) {
	.custom-product-page > .row:nth-child(2) > .col:first-child { flex-basis: 58%; max-width: 58%; }
	.custom-product-page > .row:nth-child(2) > .col:last-child { flex-basis: 42%; max-width: 42%; padding-left: 36px; }
}
.custom-product-page .product-gallery .row-small > .col.large-10 { flex-basis: 84%; max-width: 84%; }
.custom-product-page .product-gallery .row-small > .col.large-2 { flex-basis: 16%; max-width: 16%; }
.custom-product-page .woocommerce-product-gallery .flickity-viewport { background: #fff; }
.custom-product-page .product-thumbnails .col { padding-bottom: 10px !important; }
.custom-product-page .image-tools .zoom-button { border-radius: 999px !important; }

/* title, price, notice */
.custom-product-page .product-title-container { margin-bottom: 4px; }
.custom-product-page h1.product-title.product_title {
	font-size: 26px !important; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; margin: 0 0 8px;
}
.zt-price { display: flex; align-items: baseline; gap: 10px; margin: 2px 0 12px; }
.zt-price .price, .zt-price > span { display: flex; align-items: baseline; gap: 10px; }
.zt-price ins { text-decoration: none; order: 1; }
.zt-price del { order: 2; display: inline !important; }
.zt-price .woocommerce-Price-amount, .zt-price ins .woocommerce-Price-amount * { font-size: 24px !important; font-weight: 800 !important; color: var(--zt-ink) !important; letter-spacing: -0.02em; }
.zt-price del .woocommerce-Price-amount, .zt-price del .woocommerce-Price-amount * { font-size: 16px !important; font-weight: 400 !important; color: var(--zt-muted) !important; }
.zt-price .screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); }
.custom-product-page .zt-notice { margin: 0 0 16px !important; }
.custom-product-page .zt-notice .col-inner { padding: 0 !important; }
.custom-product-page .zt-notice .salesgen-discount-notices {
	text-align: left !important; font-size: 13px !important; padding: 9px 12px !important; margin: 0 !important;
	background: var(--zt-soft) !important; border-left: 3px solid var(--zt-ink) !important;
}
.zt-pdp .custom-product-page > .row.has-block:not(.zt-notice) { display: none; }
.custom-product-page .product-short-description { font-size: 14px; color: var(--zt-text); margin-bottom: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--zt-line); }
.custom-product-page .product-short-description p { margin: 0; }

/* the price total from the options form becomes a quiet line */
.custom-product-page .wcpa_price_summary { border-top: 0; padding-top: 0; margin: 0 0 6px; }
.custom-product-page .wcpa_price_summary ul li { font-size: 14px; color: var(--zt-muted); }
.custom-product-page .wcpa_price_summary .wcpa_total .woocommerce-Price-amount * { font-size: 16px !important; }

/* buy more save more → 3 compact tiers */
.custom-product-page .salesgen-bmsm-heading { margin: 22px 0 10px !important; }
.custom-product-page .salesgen-bmsm-heading .sgbox1 { display: none; }
.custom-product-page .sgbmsm-title { font-size: 15px !important; margin: 0; }
.custom-product-page .sgbmsm-text { display: none; }
.custom-product-page ul.salesgen-bmsm-items {
	display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
	margin: 0 0 8px !important; padding: 0 !important; border: 1px solid var(--zt-line);
}
.custom-product-page ul.salesgen-bmsm-items li {
	margin: 0 !important; padding: 12px 10px !important;
	border: 0 !important; border-left: 1px solid var(--zt-line) !important; background: #fff !important;
	text-align: center;
}
.custom-product-page ul.salesgen-bmsm-items li:first-child { border-left: 0 !important; }
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-text { display: flex; flex-direction: column; align-items: center; gap: 2px; }
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-label {
	background: none !important; color: var(--zt-ink) !important; padding: 0 !important;
	font-size: 20px !important; font-weight: 800 !important; letter-spacing: -0.02em; line-height: 1.1;
}
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-title-wrp { font-size: 12px !important; color: var(--zt-muted) !important; line-height: 1.3; }
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-title { color: var(--zt-muted) !important; font-weight: 500 !important; }
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-label2 { color: var(--zt-muted) !important; font-weight: 500 !important; }

/* trust */
.custom-product-page .mm-pp-div { margin: 16px 0 !important; }
.custom-product-page .trust_badge_img { margin: 8px 0 0; }
.custom-product-page .trust_badge_img img { max-width: 360px; width: 100%; height: auto; }

/* meta: keep SKU + category, drop the long tag list */
.custom-product-page .product_meta { margin-top: 14px; padding-top: 12px; }

/* description & reviews: one readable column */
.custom-product-page > .woocommerce-tabs {
	max-width: 1320px; margin: 56px auto 0 !important; padding: 0 10px;
	border-top: 1px solid var(--zt-line);
}
.custom-product-page > .woocommerce-tabs ul.product-tabs { border-bottom: 0 !important; margin: 0 0 6px; }
.custom-product-page > .woocommerce-tabs ul.product-tabs li a {
	font-size: 22px !important; font-weight: 700 !important; color: var(--zt-ink) !important;
	padding: 28px 0 8px !important; letter-spacing: -0.02em;
}
.custom-product-page > .woocommerce-tabs ul.product-tabs li a:after { display: none !important; }
.custom-product-page > .woocommerce-tabs .tab-panels .panel { max-width: 760px; padding: 0; }
#tab-description h2, #tab-description h3 { font-size: 18px !important; font-weight: 700; margin: 28px 0 10px; }
#tab-description ul { margin: 0 0 16px 18px !important; }
#tab-description ul li { margin-bottom: 6px; font-size: 15px !important; }
#tab-description figure.pod-mockup {
	width: 100% !important; max-width: 520px; margin: 24px 0 !important;
	border: 1px solid var(--zt-line);
}
#tab-description figure.pod-mockup img { width: 100%; height: auto; display: block; }
#tab-description figure.pod-mockup figcaption {
	background: #fff !important; font-style: normal !important; font-size: 13px !important;
	padding: 10px 14px !important; border-top: 1px solid var(--zt-line); text-align: left !important;
}
#tab-description figure.pod-mockup figcaption em, #tab-description figure.pod-mockup figcaption a { font-style: normal; color: var(--zt-ink) !important; font-weight: 600; }
#tab-description p b u, #tab-description p i { font-size: 14px; }

.custom-product-page #reviews { max-width: 760px; margin: 0; padding-top: 28px; border-top: 1px solid var(--zt-line); }
.custom-product-page #reviews > .col, .custom-product-page #review_form_wrapper { padding-left: 0 !important; padding-right: 0 !important; }
.custom-product-page .woocommerce-Reviews-title { font-size: 22px !important; font-weight: 700 !important; letter-spacing: -0.02em; }
.custom-product-page #review_form .col-inner, #review_form.col-inner, .review-form-inner.has-border {
	border: 1px solid var(--zt-line) !important; border-radius: 0 !important; padding: 22px !important; background: #fff;
}
#reply-title, .comment-reply-title { font-size: 16px !important; font-weight: 700; }
.comment-form-rating .stars a { color: var(--zt-ink) !important; }
#review_form input[type="submit"], #review_form .submit { background: var(--zt-ink) !important; color: #fff !important; border-radius: 999px !important; padding: 0 28px; }

/* related */
.related-products-wrapper { max-width: 1320px; margin: 40px auto 0; padding: 0 10px; }
.related-products-wrapper .product-section-title { font-size: 22px !important; font-weight: 700 !important; padding-left: 0 !important; }

/* mobile */
@media (max-width: 849px) {
	.custom-product-page .product-gallery .row-small > .col.large-10,
	.custom-product-page .product-gallery .row-small > .col.large-2 { flex-basis: 100%; max-width: 100%; }
	.custom-product-page h1.product-title.product_title { font-size: 22px !important; }
	.custom-product-page > .woocommerce-tabs { margin-top: 32px !important; }
}
@media (max-width: 549px) {
	.custom-product-page { padding-top: 0; }
	.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-label { font-size: 17px !important; }
	.zt-price .woocommerce-Price-amount, .zt-price ins .woocommerce-Price-amount * { font-size: 22px !important; }
}
@media (min-width: 850px) {
	.custom-product-page > .row:has(.woocommerce-product-gallery) > .col:first-child { flex-basis: 58% !important; max-width: 58% !important; }
	.custom-product-page > .row:has(.woocommerce-product-gallery) > .col:last-child { flex-basis: 42% !important; max-width: 42% !important; padding-left: 36px; }
}
.wcpa_form_outer .wcpa_row:has(> .wcpa_type_paragraph) { margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: 0; }
.wcpa_form_outer .wcpa_form_item.wcpa_type_paragraph { margin: 0 !important; }
.custom-product-page .product-short-description { margin-bottom: 20px; }
.custom-product-page ul.salesgen-bmsm-items li,
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-text,
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-title-wrp { height: auto !important; min-height: 0 !important; max-height: none !important; overflow: visible; white-space: normal !important; position: static !important; }
.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-title-wrp { display: block; text-align: center; }
@media (max-width: 549px) {
	.custom-product-page ul.salesgen-bmsm-items li { padding: 10px 6px !important; }
	.custom-product-page ul.salesgen-bmsm-items .salesgen-bmsm-item-title-wrp { font-size: 11px !important; }
}

/* ==========================================================================
   PDP options: round style + color, pill fit/size
   ========================================================================== */
/* style (garment icons) */
.wcpa_form_outer .wcpa_form_item .image-group .wcpa_image { margin: 0 10px 10px 0 !important; }
.wcpa_form_outer .wcpa_form_item .image-group .wcpa_image input + img {
	width: 52px !important; height: 52px !important;
	object-fit: contain;
	padding: 9px !important;
	border-radius: 50% !important;
	border: 1px solid var(--zt-line-strong) !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.wcpa_form_outer .wcpa_form_item .image-group .wcpa_image:hover input + img { border-color: var(--zt-ink) !important; }
.wcpa_form_outer .wcpa_form_item .image-group .wcpa_image input:checked + img {
	border-color: transparent !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--zt-ink) !important;
}

/* colours */
body .wcpa_form_outer .wcpa_form_item .color-group[class] .wcpa_color { margin: 0 10px 10px 0 !important; }
body .wcpa_form_outer .wcpa_form_item .color-group[class] .label_inside:not(.wcpa_adjustwidth) {
	width: 34px !important; min-width: 34px !important; height: 34px !important;
	border-radius: 50% !important;
	border: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18) !important;
	transition: box-shadow .15s ease;
}
body .wcpa_form_outer .wcpa_form_item .color-group[class] label:hover .label_inside:not(.wcpa_adjustwidth) {
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px #fff, 0 0 0 3px var(--zt-line-strong) !important;
}
body .wcpa_form_outer .wcpa_form_item .color-group[class] input:checked + label span.label_inside:not(.wcpa_adjustwidth) {
	border: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px #fff, 0 0 0 4px var(--zt-ink) !important;
}
body .wcpa_form_outer .wcpa_form_item .color-group[class] .label_inside:not(.wcpa_adjustwidth)::before,
body .wcpa_form_outer .wcpa_form_item .color-group[class] .label_inside:not(.wcpa_adjustwidth)::after { display: none !important; }

/* fit + size → pills */
body .wcpa_form_outer .wcpa_form_item .color-group[class] .label_inside.wcpa_adjustwidth {
	border-radius: 999px !important;
	height: 40px !important; line-height: 38px !important;
	min-width: 56px !important; padding: 0 18px !important;
}
body .wcpa_form_outer .wcpa_form_item .color-group[class] input:checked + label span.label_inside.wcpa_adjustwidth {
	background: var(--zt-ink) !important; color: #fff !important;
	border-color: var(--zt-ink) !important; box-shadow: none !important;
}
.wcpa_form_outer .wcpa_form_item .color-group .wcpa_color:has(.wcpa_adjustwidth) { margin: 0 8px 8px 0 !important; }

/* ==========================================================================
   PDP: Product details (description)
   ========================================================================== */
.custom-product-page > .woocommerce-tabs .tab-panels .panel { max-width: none !important; }
.zt-desc {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px 56px;
	padding-top: 8px;
}
.zt-desc--has-more { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
.zt-desc__h { font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; color: var(--zt-muted) !important; margin: 0 0 14px !important; }
.zt-desc__story { max-width: 68ch; }
.zt-desc__story p, #tab-description .zt-desc__story p {
	font-size: 17px !important; line-height: 1.7 !important; color: var(--zt-ink) !important; margin: 0 0 18px;
}
.zt-desc__story strong { font-weight: 700; }

.zt-desc__more { align-self: start; }
.zt-desc__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
#tab-description .zt-desc__cards figure, .zt-desc__cards figure {
	width: 100% !important; max-width: none !important; margin: 0 !important;
	border: 0 !important; background: none;
}
.zt-desc__cards figure img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--zt-soft); display: block; }
#tab-description .zt-desc__cards figure figcaption, .zt-desc__cards figcaption {
	border: 0 !important; padding: 10px 0 0 !important; background: none !important;
	font-size: 13px !important; line-height: 1.4; text-align: left !important;
}
.zt-desc__cards figcaption, .zt-desc__cards figcaption em, .zt-desc__cards figcaption a {
	font-style: normal !important; font-weight: 500 !important; color: var(--zt-ink) !important; text-decoration: none !important;
}
.zt-desc__cards figcaption a:hover { text-decoration: underline !important; }

.zt-desc__specs { grid-column: 1 / -1; border-top: 1px solid var(--zt-line); padding-top: 28px; }
.zt-specs { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 56px; }
.zt-specs__row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--zt-line); }
.zt-specs dt { font-size: 14px; font-weight: 700; color: var(--zt-ink); margin: 0; }
.zt-specs dd { font-size: 14px; line-height: 1.6; color: var(--zt-text); margin: 0; }
.zt-specs dd a { color: var(--zt-ink); text-decoration: underline; font-size: inherit !important; }
.zt-desc__note { margin-top: 18px; padding: 14px 16px; background: var(--zt-soft); font-size: 13px; color: var(--zt-text); max-width: 900px; }
.zt-desc__note p, #tab-description .zt-desc__note p { font-size: 13px !important; line-height: 1.6 !important; margin: 0 !important; color: var(--zt-text) !important; }
.zt-desc__note b, .zt-desc__note u { text-decoration: none; font-weight: 700; }
.zt-desc__note i { font-style: normal; }
.zt-desc__note a { color: var(--zt-ink); text-decoration: underline; }

@media (max-width: 849px) {
	.zt-desc--has-more { grid-template-columns: 1fr; }
	.zt-specs { grid-template-columns: 1fr; }
}
@media (max-width: 549px) {
	.zt-desc__story p, #tab-description .zt-desc__story p { font-size: 15px !important; }
	.zt-specs__row { grid-template-columns: 1fr; gap: 4px; }
	.zt-desc__cards { gap: 12px; }
}

/* colour swatches (spans without .label_inside) */
body .wcpa_form_outer .color-group.color-custom-v1 .wcpa_color label > span {
	width: 34px !important; height: 34px !important;
	border-radius: 50% !important;
	border: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18) !important;
	transition: box-shadow .15s ease;
}
body .wcpa_form_outer .color-group.color-custom-v1 .wcpa_color label:hover > span {
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px #fff, 0 0 0 3px var(--zt-line-strong) !important;
}
body .wcpa_form_outer .color-group.color-custom-v1 .wcpa_color input:checked + label > span {
	border: 0 !important;
	box-shadow: inset 0 0 0 1px rgba(0,0,0,.18), 0 0 0 2px #fff, 0 0 0 4px var(--zt-ink) !important;
}
body .wcpa_form_outer .color-group.color-custom-v1 .wcpa_color label > span::before,
body .wcpa_form_outer .color-group.color-custom-v1 .wcpa_color label > span::after { display: none !important; }
body .wcpa_form_outer .color-group.color-custom-v1 .wcpa_color { margin: 0 10px 10px 0 !important; }

.zt-specs dt, .zt-specs dd, .zt-specs dd * { text-transform: none !important; letter-spacing: 0 !important; }

/* description in its original shape: clean reading column */
.zt-desc-raw { max-width: 760px; }
.zt-desc-raw h2, .zt-desc-raw h3, #tab-description .zt-desc-raw h2, #tab-description .zt-desc-raw h3 {
	font-size: 20px !important; font-weight: 700 !important; letter-spacing: -0.01em; color: var(--zt-ink);
	margin: 32px 0 12px !important; padding-top: 24px; border-top: 1px solid var(--zt-line);
}
.zt-desc-raw > h2:first-child, .zt-desc-raw > h3:first-child { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.zt-desc-raw h4 { font-size: 15px !important; font-weight: 700; margin: 20px 0 8px; color: var(--zt-ink); }
.zt-desc-raw p, #tab-description .zt-desc-raw p { font-size: 16px !important; line-height: 1.7 !important; color: var(--zt-ink) !important; }
.zt-desc-raw ul, #tab-description .zt-desc-raw ul { margin: 0 0 18px !important; padding: 0 !important; list-style: none; }
.zt-desc-raw ul li, #tab-description .zt-desc-raw ul li {
	position: relative; padding: 8px 0 8px 20px; margin: 0 !important;
	border-bottom: 1px solid var(--zt-line); font-size: 15px !important; line-height: 1.55; color: var(--zt-text) !important;
}
.zt-desc-raw ul li::before { content: ""; position: absolute; left: 2px; top: 17px; width: 6px; height: 6px; border-radius: 50%; background: var(--zt-ink); }
.zt-desc-raw table { width: 100%; border-collapse: collapse; margin: 8px 0 18px; }
.zt-desc-raw th, .zt-desc-raw td { border-bottom: 1px solid var(--zt-line); padding: 10px 8px; font-size: 14px !important; text-align: left; text-transform: none !important; }
.zt-desc-raw figure { max-width: 520px !important; }
.zt-desc-raw > p:empty { display: none; }
.zt-desc-raw > p:empty:first-child + h2, .zt-desc-raw > p:empty:first-child + h3 { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.custom-product-page #review_form_wrapper > .col-inner, .custom-product-page #review_form_wrapper #review_form.col-inner { border: 0 !important; padding: 0 !important; }
.custom-product-page .review-form-inner { border: 1px solid var(--zt-line) !important; padding: 22px !important; }

/* ==========================================================================
   PDP reviews
   ========================================================================== */
.custom-product-page #reviews {
	max-width: none !important;
	display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 0 64px;
	margin: 48px 0 0 !important; padding-top: 32px !important;
	border-top: 1px solid var(--zt-line);
}
.custom-product-page #reviews::before, .custom-product-page #reviews::after { display: none; }
.custom-product-page #reviews > .col, .custom-product-page #review_form_wrapper {
	flex: none !important; max-width: none !important; width: auto !important; padding: 0 !important;
}
.custom-product-page .woocommerce-Reviews-title { font-size: 22px !important; margin: 0 0 8px !important; }
.custom-product-page .woocommerce-noreviews { font-size: 15px; color: var(--zt-muted); margin: 0; }

/* existing review list */
.custom-product-page .commentlist { margin: 16px 0 0; padding: 0; list-style: none; }
.custom-product-page .commentlist li { margin: 0; padding: 18px 0; border-bottom: 1px solid var(--zt-line); }
.custom-product-page .commentlist .comment-text { padding: 0; }
.custom-product-page .commentlist .star-rating { color: var(--zt-ink); }

/* form column */
.custom-product-page .review-form-inner, .custom-product-page .review-form-inner.has-border {
	border: 0 !important; padding: 0 !important; background: none !important;
}
.custom-product-page #reply-title {
	font-size: 22px !important; font-weight: 700 !important; letter-spacing: -0.02em; margin: 0 0 4px !important; display: block;
}
.custom-product-page .zt-review-note { font-size: 13px; color: var(--zt-muted); margin: 0 0 18px; }
.custom-product-page #commentform label {
	font-size: 13px !important; font-weight: 600 !important; color: var(--zt-ink); text-transform: none !important; margin-bottom: 6px; display: block;
}
.custom-product-page #commentform label .required { color: var(--zt-ink); }
.custom-product-page #commentform textarea,
.custom-product-page #commentform input[type="text"],
.custom-product-page #commentform input[type="email"] {
	border: 1px solid var(--zt-line-strong) !important; border-radius: 2px !important;
	background: #fff; box-shadow: none !important; font-size: 15px; padding: 10px 12px; height: auto;
}
.custom-product-page #commentform textarea { min-height: 120px; }
.custom-product-page #commentform textarea:focus,
.custom-product-page #commentform input:focus { border-color: var(--zt-ink) !important; }
.custom-product-page #commentform .comment-form-author, .custom-product-page #commentform .comment-form-email { margin-bottom: 14px; }
.custom-product-page #commentform .comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 18px; }
.custom-product-page #commentform .comment-form-cookies-consent input { margin: 3px 0 0 !important; }
.custom-product-page #commentform .comment-form-cookies-consent label { font-weight: 400 !important; color: var(--zt-muted) !important; font-size: 13px !important; margin: 0; display: inline; }
.custom-product-page #commentform .form-submit input[type="submit"] {
	width: 100%; height: 48px; border-radius: 999px !important;
	background: var(--zt-ink) !important; color: #fff !important; font-size: 15px; font-weight: 600; margin: 0;
}
.custom-product-page #commentform .form-submit input[type="submit"]:hover { background: #333 !important; }

/* rating stars: 5 single stars, filled on hover / select */
.custom-product-page .comment-form-rating { margin-bottom: 16px; }
.custom-product-page p.stars { margin: 2px 0 0; line-height: 1; }
.custom-product-page p.stars span { display: inline-flex; gap: 4px; }
.custom-product-page p.stars a {
	position: relative; display: inline-block;
	width: 30px !important; height: 30px; margin: 0 !important; padding: 0 !important;
	font-size: 0 !important; color: transparent !important; text-indent: 0 !important;
	border: 0 !important; text-decoration: none !important; overflow: hidden;
}
.custom-product-page p.stars a::after { display: none !important; content: none !important; }
.custom-product-page p.stars a::before {
	content: "\2605" !important; display: block !important;
	position: absolute; inset: 0;
	font-family: Arial, "Segoe UI Symbol", sans-serif !important;
	font-size: 30px !important; line-height: 30px; text-indent: 0 !important;
	color: #d6d6d6; transition: color .1s ease;
	width: auto !important; height: auto !important; opacity: 1 !important;
}
.custom-product-page p.stars:hover a::before { color: var(--zt-ink); }
.custom-product-page p.stars:hover a:hover ~ a::before { color: #d6d6d6; }
.custom-product-page p.stars.selected a::before { color: var(--zt-ink); }
.custom-product-page p.stars.selected a.active ~ a::before { color: #d6d6d6; }
.custom-product-page p.stars.selected:hover a::before { color: var(--zt-ink); }
.custom-product-page p.stars.selected:hover a:hover ~ a::before { color: #d6d6d6; }

@media (max-width: 849px) {
	.custom-product-page #reviews { grid-template-columns: 1fr; gap: 28px; }
}
body .custom-product-page p.stars a::before { color: #d6d6d6 !important; }
body .custom-product-page p.stars:hover a::before,
body .custom-product-page p.stars.selected a::before { color: var(--zt-ink) !important; }
body .custom-product-page p.stars:hover a:hover ~ a::before,
body .custom-product-page p.stars.selected:not(:hover) a.active ~ a::before { color: #d6d6d6 !important; }

/* product tags as small chips */
.custom-product-page .product_meta .tagged_as {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px;
	font-size: 0; color: transparent; margin-top: 10px;
}
.custom-product-page .product_meta .tagged_as::before {
	content: "Tags"; font-size: 13px; color: var(--zt-muted); margin-right: 4px;
}
.custom-product-page .product_meta .tagged_as a {
	font-size: 12px; line-height: 1; color: var(--zt-text) !important;
	padding: 6px 10px; border: 1px solid var(--zt-line); border-radius: 999px;
	text-decoration: none !important; background: #fff;
}
.custom-product-page .product_meta .tagged_as a:hover { border-color: var(--zt-ink); color: var(--zt-ink) !important; }

/* description: images inline in the text, alternating sides */
.zt-desc { grid-template-columns: minmax(0, 1fr) !important; }
.zt-desc__story { max-width: 860px; }
.zt-desc__story::after { content: ""; display: table; clear: both; }
#tab-description .zt-desc__story figure, .zt-desc__story figure {
	width: 300px !important; max-width: 42% !important;
	margin: 6px 0 18px 32px !important;
	float: right;
	border: 0 !important; background: none;
}
#tab-description .zt-desc__story figure[data-zt-side="left"], .zt-desc__story figure[data-zt-side="left"] {
	float: left; margin: 6px 32px 18px 0 !important;
}
.zt-desc__story figure img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; display: block; background: var(--zt-soft); }
#tab-description .zt-desc__story figure figcaption, .zt-desc__story figure figcaption {
	border: 0 !important; background: none !important; padding: 8px 0 0 !important;
	font-size: 13px !important; line-height: 1.4; text-align: left !important;
}
.zt-desc__story figure figcaption, .zt-desc__story figure figcaption em, .zt-desc__story figure figcaption a {
	font-style: normal !important; font-weight: 500 !important; color: var(--zt-ink) !important; text-decoration: none !important;
}
.zt-desc__story figure figcaption a:hover { text-decoration: underline !important; }
.zt-desc__specs { clear: both; }
@media (max-width: 549px) {
	#tab-description .zt-desc__story figure, .zt-desc__story figure,
	#tab-description .zt-desc__story figure[data-zt-side="left"], .zt-desc__story figure[data-zt-side="left"] {
		float: none; width: 100% !important; max-width: 100% !important; margin: 4px 0 20px !important;
	}
}
/* inline figures: own block between paragraphs (no text wrap) */
.zt-desc__story { max-width: 760px; }
#tab-description .zt-desc__story figure, .zt-desc__story figure,
#tab-description .zt-desc__story figure[data-zt-side="left"], .zt-desc__story figure[data-zt-side="left"] {
	float: none !important; clear: both;
	width: 100% !important; max-width: 440px !important;
	margin: 8px 0 28px !important;
}
/* centered reading column, larger centered images */
.zt-desc__story { margin: 0 auto; max-width: 760px; }
#tab-description .zt-desc__story figure, .zt-desc__story figure,
#tab-description .zt-desc__story figure[data-zt-side="left"], .zt-desc__story figure[data-zt-side="left"] {
	max-width: 640px !important; margin: 16px auto 32px !important;
}
#tab-description .zt-desc__story figure figcaption, .zt-desc__story figure figcaption { text-align: center !important; padding-top: 10px !important; }
.custom-product-page > .woocommerce-tabs ul.product-tabs { justify-content: center; text-align: center; display: flex !important; }
.custom-product-page > .woocommerce-tabs ul.product-tabs li { float: none; margin: 0 !important; }
.custom-product-page > .woocommerce-tabs ul.product-tabs li a { margin: 0 !important; }
.zt-desc__specs { max-width: 1000px; margin: 0 auto; width: 100%; }
.zt-desc__story > .zt-desc__h { text-align: center; }
.zt-desc-raw { margin: 0 auto; }

/* ==========================================================================
   PDP purchase block: tidy grid
   ========================================================================== */
.custom-product-page form.cart, .product-info form.cart {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 10px; row-gap: 10px;
	align-items: stretch;
}
.custom-product-page form.cart > * { grid-column: 1 / -1; margin: 0 !important; }
.custom-product-page form.cart > .quantity { grid-column: 1; }
.custom-product-page form.cart > .single_add_to_cart_button { grid-column: 2; width: 100% !important; }
.custom-product-page form.cart > input[type="hidden"], .custom-product-page form.cart > script { display: none; }

/* options spacing */
.custom-product-page .wcpa_form_outer .wcpa_form_item { margin: 0 0 20px !important; }
.custom-product-page .wcpa_form_outer .wcpa_form_item > label { display: inline-block; margin: 0 6px 10px 0 !important; line-height: 1.2; }
.custom-product-page .wcpa_form_outer .wcpa_helptext { line-height: 1.2; }
.custom-product-page .wcpa_form_outer .color-group, .custom-product-page .wcpa_form_outer .image-group { display: flex; flex-wrap: wrap; margin: 0; }
.custom-product-page .wcpa_form_outer .radio-group { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.custom-product-page .wcpa_form_outer .radio-group .wcpa_radio { margin: 0 !important; }

/* total line */
.custom-product-page .wcpa_price_summary { padding: 14px 0 4px !important; border-top: 1px solid var(--zt-line) !important; }
.custom-product-page .wcpa_price_summary ul, .custom-product-page .wcpa_price_summary li { margin: 0 !important; padding: 0 !important; list-style: none; }
.custom-product-page .wcpa_price_summary li { display: flex; justify-content: space-between; align-items: baseline; }

/* quantity: one bordered pill */
.custom-product-page form.cart .quantity {
	display: flex !important; gap: 0 !important; align-items: stretch;
	height: 50px; width: auto !important;
	border: 1px solid var(--zt-line-strong); border-radius: 999px; overflow: hidden; background: #fff;
}
.custom-product-page form.cart .quantity input[type="button"],
.custom-product-page form.cart .quantity input[type="number"],
.custom-product-page form.cart .quantity input.qty {
	height: 100% !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
	background: transparent !important; box-shadow: none !important; padding: 0 !important;
}
.custom-product-page form.cart .quantity input[type="button"] { width: 42px !important; font-size: 18px; color: var(--zt-ink); cursor: pointer; }
.custom-product-page form.cart .quantity input[type="button"]:hover { background: var(--zt-soft) !important; }
.custom-product-page form.cart .quantity input[type="number"], .custom-product-page form.cart .quantity input.qty { width: 40px !important; text-align: center; font-size: 15px; font-weight: 600; -moz-appearance: textfield; }
.custom-product-page form.cart .quantity input::-webkit-outer-spin-button,
.custom-product-page form.cart .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.custom-product-page form.cart button.single_add_to_cart_button { height: 50px !important; line-height: 1 !important; padding: 0 20px !important; }
.custom-product-page form.cart button.buy_now_button { height: 52px !important; line-height: 52px !important; }
.custom-product-page .wcpa_form_outer .radio-group { margin: 0 !important; padding: 0 !important; }
.custom-product-page .wcpa_form_outer .radio-group .wcpa_radio label { margin: 0 !important; padding-left: 0 !important; display: inline-flex; align-items: center; gap: 6px; }
.custom-product-page .salesgen-bmsm-heading, .custom-product-page .salesgen-bmsm-heading .sgboxes, .custom-product-page .salesgen-bmsm-heading .sgbox2 { padding-left: 0 !important; margin-left: 0 !important; }

/* ==========================================================================
   Purchase block — final (all product layouts, no reliance on gap)
   [qty][ Add to cart ]
   [     Check Out     ]
   ========================================================================== */
body.single-product form.cart {
	display: flex !important; flex-wrap: wrap !important; align-items: stretch;
	gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
}
body.single-product form.cart > * { flex: 0 0 100%; max-width: 100%; margin: 0 !important; grid-column: auto !important; }
body.single-product form.cart > .quantity {
	flex: 0 0 132px !important; width: 132px !important; max-width: 132px !important;
	margin: 0 10px 0 0 !important;
}
body.single-product form.cart > .single_add_to_cart_button {
	flex: 1 1 0 !important; width: auto !important; max-width: none !important; min-width: 0;
	margin: 0 !important;
}
body.single-product form.cart > .buy_now_button {
	flex: 0 0 100% !important; width: 100% !important;
	margin: 12px 0 0 !important;
}
body.single-product form.cart > .wcpa_price_summary { margin: 0 0 12px !important; }
body.single-product form.cart > input[type="hidden"], body.single-product form.cart > script { display: none !important; }

/* quantity pill, everywhere */
body.single-product form.cart .quantity {
	display: flex !important; gap: 0 !important; height: 50px !important;
	border: 1px solid var(--zt-line-strong) !important; border-radius: 999px !important;
	overflow: hidden; background: #fff; justify-content: space-between;
}
body.single-product form.cart .quantity input[type="button"],
body.single-product form.cart .quantity input.qty {
	height: 100% !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important;
	background: transparent !important; box-shadow: none !important; padding: 0 !important;
}
body.single-product form.cart .quantity input[type="button"] { width: 42px !important; flex: 0 0 42px; }
body.single-product form.cart .quantity input.qty { flex: 1 1 auto; width: 40px !important; min-width: 0; text-align: center; }
body.single-product form.cart button.single_add_to_cart_button,
body.single-product form.cart button.buy_now_button { height: 50px !important; line-height: 50px !important; padding: 0 20px !important; }
/* beat WCPA's ".single-product div.product.wcpa_has_options form.cart { display:block !important }" */
html body.single-product div.product form.cart,
html body.single-product div.product.wcpa_has_options form.cart {
	display: flex !important; flex-wrap: wrap !important;
	gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
}

/* ==========================================================================
   PDP gallery: thumbnails in a row under the main image
   ========================================================================== */
body.single-product .product-gallery .row-small,
body.single-product .woocommerce-product-gallery .row-small { flex-wrap: wrap !important; }
body.single-product .product-gallery .row-small > .col.large-10,
body.single-product .product-gallery .row-small > .col.large-2,
.custom-product-page .product-gallery .row-small > .col.large-10,
.custom-product-page .product-gallery .row-small > .col.large-2 {
	flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
}
body.single-product .product-gallery .vertical-thumbnails,
body.single-product .product-gallery .large-col-first { order: 2 !important; padding-top: 0 !important; }
body.single-product .product-gallery .row-small > .col.large-10 { order: 1 !important; padding-bottom: 12px !important; }

body.single-product .vertical-thumbnails .product-thumbnails { margin: 0 !important; }
body.single-product .vertical-thumbnails .flickity-viewport { height: auto !important; overflow: visible !important; }
body.single-product .vertical-thumbnails .flickity-slider {
	position: static !important; transform: none !important;
	display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px;
}
body.single-product .vertical-thumbnails .product-thumbnails .col {
	position: static !important; left: auto !important; top: auto !important; transform: none !important;
	width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important;
}
body.single-product .vertical-thumbnails .product-thumbnails .col a { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
body.single-product .vertical-thumbnails .product-thumbnails .col img { width: 100%; height: 100%; object-fit: cover; }
body.single-product .vertical-thumbnails .flickity-prev-next-button, body.single-product .vertical-thumbnails .flickity-page-dots { display: none !important; }
@media (max-width: 549px) {
	body.single-product .vertical-thumbnails .flickity-slider { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
}
/* gallery row = the .row-small that holds .vertical-thumbnails */
body.single-product .row-small:has(> .vertical-thumbnails) { flex-wrap: wrap !important; }
body.single-product .row-small:has(> .vertical-thumbnails) > .col {
	flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important;
}
body.single-product .row-small:has(> .vertical-thumbnails) > .col.large-10 { order: 1 !important; padding-bottom: 12px !important; }
body.single-product .row-small:has(> .vertical-thumbnails) > .vertical-thumbnails { order: 2 !important; padding-top: 0 !important; }
body.single-product .vertical-thumbnails .product-thumbnails { width: 100% !important; max-width: none !important; }

/* ==========================================================================
   PDP thumbnails (every layout): full width, 5 equal columns, scroll if more
   ========================================================================== */
body.single-product .product-thumbnails { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.single-product .product-thumbnails .flickity-viewport {
	height: auto !important; overflow-x: auto !important; overflow-y: hidden !important;
	scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
	scrollbar-width: thin; scrollbar-color: var(--zt-line-strong) transparent;
	padding-bottom: 6px;
}
body.single-product .product-thumbnails .flickity-viewport::-webkit-scrollbar { height: 4px; }
body.single-product .product-thumbnails .flickity-viewport::-webkit-scrollbar-thumb { background: var(--zt-line-strong); border-radius: 4px; }
body.single-product .product-thumbnails .flickity-slider,
body.single-product .vertical-thumbnails .flickity-slider {
	position: static !important; transform: none !important; left: 0 !important;
	display: flex !important; flex-wrap: nowrap !important; gap: 10px;
	grid-template-columns: none !important;
}
body.single-product .product-thumbnails .col,
body.single-product .vertical-thumbnails .product-thumbnails .col {
	position: static !important; left: auto !important; top: auto !important; transform: none !important;
	flex: 0 0 calc((100% - 40px) / 5) !important; width: calc((100% - 40px) / 5) !important; max-width: none !important;
	padding: 0 !important; margin: 0 !important; scroll-snap-align: start;
}
body.single-product .product-thumbnails .col a { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
body.single-product .product-thumbnails .col img { width: 100% !important; height: 100% !important; object-fit: cover; }
body.single-product .product-thumbnails .flickity-prev-next-button,
body.single-product .product-thumbnails .flickity-page-dots { display: none !important; }
@media (max-width: 549px) {
	body.single-product .product-thumbnails .col,
	body.single-product .vertical-thumbnails .product-thumbnails .col { flex-basis: calc((100% - 24px) / 4) !important; width: calc((100% - 24px) / 4) !important; }
	body.single-product .product-thumbnails .flickity-slider { gap: 8px; }
}
/* before / without Flickity: the thumbnails row itself scrolls */
body.single-product .product-thumbnails:not(.flickity-enabled) {
	display: flex !important; flex-wrap: nowrap !important; gap: 10px;
	overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
	scrollbar-width: thin; scrollbar-color: var(--zt-line-strong) transparent; padding-bottom: 6px !important;
}
body.single-product .product-thumbnails:not(.flickity-enabled)::-webkit-scrollbar { height: 4px; }
body.single-product .product-thumbnails:not(.flickity-enabled)::-webkit-scrollbar-thumb { background: var(--zt-line-strong); border-radius: 4px; }
@media (max-width: 549px) { body.single-product .product-thumbnails:not(.flickity-enabled) { gap: 8px; } }

/* ==========================================================================
   WCPA: paragraphs, textarea, select
   ========================================================================== */
/* undo the blanket collapse; only hide rows that are just popup buttons (size guide / preview) */
.wcpa_form_outer .wcpa_row:has(> .wcpa_type_paragraph) { height: auto !important; margin: 0 !important; }
.wcpa_form_outer .wcpa_row:has(> .wcpa_type_paragraph .lightbox-content) { height: 0 !important; overflow: visible; }
.wcpa_form_outer .wcpa_form_item.wcpa_type_paragraph:not(:has(.lightbox-content)) { margin: 0 0 20px !important; }
.wcpa_form_outer .wcpa_type_paragraph:not(:has(.lightbox-content)) .wcpa_paragraph_block {
	background: var(--zt-soft); border-left: 3px solid var(--zt-ink);
	padding: 14px 16px; font-size: 13px; line-height: 1.7; color: var(--zt-text);
}
.wcpa_form_outer .wcpa_type_paragraph:not(:has(.lightbox-content)) .wcpa_paragraph_block b,
.wcpa_form_outer .wcpa_type_paragraph:not(:has(.lightbox-content)) .wcpa_paragraph_block strong { display: inline-block; font-size: 14px; color: var(--zt-ink); margin-bottom: 2px; }

/* textarea with a label */
.wcpa_form_outer .wcpa_type_textarea::before {
	content: "Personalization details"; display: block;
	font-size: 14px; font-weight: 600; color: var(--zt-ink); margin: 0 0 10px;
}
.wcpa_form_outer .wcpa_type_textarea:has(> label)::before { content: none; display: none; }
.wcpa_form_outer textarea {
	width: 100%; min-height: 96px !important; height: auto !important;
	border: 1px solid var(--zt-line-strong) !important; border-radius: 12px !important;
	padding: 12px 14px !important; font-size: 15px; line-height: 1.5; box-shadow: none !important; resize: vertical;
}
.wcpa_form_outer textarea:focus { border-color: var(--zt-ink) !important; outline: none; }
.wcpa_form_outer textarea::placeholder { color: #9a9a9a; }

/* select → pill with a thin chevron */
.wcpa_form_outer .wcpa_type_select .select { position: relative; max-width: 360px; }
.wcpa_form_outer .wcpa_type_select .select_arrow { display: none !important; }
.wcpa_form_outer select, body.single-product .wcpa_form_outer .select select {
	-webkit-appearance: none; appearance: none;
	width: 100%; height: 46px !important;
	padding: 0 46px 0 18px !important;
	border: 1px solid var(--zt-line-strong) !important; border-radius: 999px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 18px center / 12px 8px !important;
	font-size: 14px !important; font-weight: 600 !important; color: var(--zt-ink) !important;
	box-shadow: none !important; cursor: pointer; margin: 0 !important;
}
.wcpa_form_outer select:hover { border-color: var(--zt-ink) !important; }
.wcpa_form_outer select:focus { border-color: var(--zt-ink) !important; outline: none; }
