/* Inner storefront pages: the homepage's umber/gold language applied to Woodmart's shop, content, blog and account markup. */
body.zph-inner {
	--zs-ink: #29251f;
	--zs-muted: #6b6256;
	--zs-soft-ink: #8a8072;
	--zs-line: #ebe3d6;
	--zs-soft: #faf6ee;
	--zs-canvas: #fbf7ef;
	--zs-frame: #f3ecdf;
	--zs-umber: #17110a;
	--zs-gold: #d8a51d;
	--zs-gold-deep: #8a6512;
	--zs-gold-pale: #f0d68c;
	--zs-ivory: #fbf5e9;
	--zs-gutter: clamp(20px, 5vw, 80px);
	--zs-max: 1440px;
	--zs-radius: 14px;
	--zs-font: "ZPH Sans", IRANSans, Tahoma, sans-serif;
	background: var(--zs-canvas);
	color: var(--zs-ink);
	font-family: var(--zs-font);
}
.zph-inner :is(h1, h2, h3, h4, h5, h6, .title, .entry-title, .widget-title, .product_title, input, select, textarea, button, .button, .btn) { font-family: var(--zs-font); }
.zph-inner .screen-reader-text:not(:focus) { position: absolute !important; inline-size: 1px; block-size: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.zph-inner :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 2px solid var(--zs-gold); outline-offset: 2px; }

/* ---------- header: the homepage glass controls on a pinned umber bar ---------- */
.zph-inner .elementor-location-header {
	position: sticky;
	inset-block-start: var(--wp-admin--admin-bar--height, 0px);
	padding-block: 14px;
	background: var(--zs-umber);
	box-shadow: 0 1px 0 #f0d68c24, 0 18px 40px -30px #000;
}
/* Social links live in the footer; the pinned side strip is not part of the homepage design. */
.zph-inner .woodmart-sticky-social { display: none; }

/* ---------- page wrappers and grid ---------- */
/* Gallery zoom and carousel tracks overflow sideways; clip them here so the page never scrolls horizontally (clip, unlike hidden, keeps the header sticky). */
.zph-inner .main-page-wrapper { overflow-x: clip; margin-top: 0; padding-top: 0; padding-bottom: clamp(48px, 6vw, 96px); background: var(--zs-canvas); }
.zph-inner .main-page-wrapper > .container,
.zph-inner .page-title > .container,
.zph-inner .related-and-upsells.container {
	inline-size: 100%;
	max-inline-size: calc(var(--zs-max) + 2 * var(--zs-gutter));
	margin-inline: auto;
	padding-inline: max(16px, calc(var(--zs-gutter) - 15px));
}
.zph-inner .page-title > .container { padding-inline: var(--zs-gutter); }
.zph-inner .content-layout-wrapper { padding-block-start: clamp(28px, 4vw, 56px); }

/* ---------- page heading band ---------- */
.zph-inner .page-title {
	position: relative;
	isolation: isolate;
	margin: 0;
	padding-block: clamp(36px, 4.5vw, 64px);
	overflow: hidden;
	border: 0;
	background-color: var(--zs-umber);
	background-image: radial-gradient(90% 140% at 85% 0%, #3b2a10 0%, #17110a00 60%), radial-gradient(70% 120% at 0% 100%, #2a1d0b 0%, #17110a00 55%);
	background-size: cover;
	background-position: center;
	color: var(--zs-ivory);
	text-align: center;
}
/* Category banner images stay visible under an umber veil so the heading always reads. */
.zph-inner .page-title[style*="background-image"]::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #17110acc, #17110aee); }
.zph-inner .page-title::after { content: ""; position: absolute; inset-inline: 0; inset-block-end: 0; block-size: 1px; background: linear-gradient(90deg, #d8a51d00, #d8a51d99, #d8a51d00); }
.zph-inner .page-title .entry-header { display: grid; justify-items: center; gap: 12px; margin: 0; }
.zph-inner .page-title .entry-title {
	margin: 0;
	color: var(--zs-ivory);
	font-size: clamp(28px, 3.6vw, 46px);
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	text-wrap: balance;
}
.zph-inner .page-title .entry-header::before { content: ""; inline-size: 44px; block-size: 2px; border-radius: 2px; background: var(--zs-gold); order: -1; }
.zph-inner .page-title :is(.breadcrumbs, .yoast-breadcrumb, .woocommerce-breadcrumb, .zph-page-title__meta) { margin: 0; color: #c9bda7; font-size: 13px; font-weight: 400; line-height: 1.8; text-transform: none; }
.zph-inner .page-title :is(.breadcrumbs, .yoast-breadcrumb) a { color: #c9bda7; }
.zph-inner .page-title :is(.breadcrumbs, .yoast-breadcrumb) a:hover { color: var(--zs-gold-pale); }
.zph-inner .page-title :is(.breadcrumb_last, .active, strong) { color: var(--zs-gold-pale); font-weight: 500; }
.zph-inner .page-title .meta-post-categories a { color: var(--zs-gold-pale); }
/* Cart → checkout → complete steps. */
.zph-inner .page-title .woodmart-checkout-steps ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 28px; margin: 0; padding: 0; list-style: none; }
.zph-inner .page-title .woodmart-checkout-steps li { margin: 0; color: #c9bda7; font-size: clamp(15px, 1.6vw, 20px); font-weight: 500; }
.zph-inner .page-title .woodmart-checkout-steps a { color: inherit; }
.zph-inner .page-title .woodmart-checkout-steps .step-active { color: var(--zs-ivory); }
.zph-inner .page-title .woodmart-checkout-steps .step-active a { color: var(--zs-ivory); }

/* ---------- forms and buttons ---------- */
.zph-inner .main-page-wrapper :is(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], input[type="url"], select, textarea):not(.qty) {
	min-block-size: 48px;
	padding: 10px 16px;
	border: 1px solid #ddd3c2;
	border-radius: 12px;
	background: #fff;
	box-shadow: none;
	color: var(--zs-ink);
	font-size: 15px;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.zph-inner .main-page-wrapper textarea { min-block-size: 150px; line-height: 1.9; }
.zph-inner .main-page-wrapper :is(input, select, textarea):hover { border-color: #c8b89c; }
.zph-inner .main-page-wrapper :is(input, select, textarea):focus { border-color: var(--zs-gold); outline: 0; box-shadow: 0 0 0 4px #d8a51d26; }
.zph-inner .main-page-wrapper label { color: var(--zs-ink); font-size: 14px; font-weight: 500; }
.zph-inner .main-page-wrapper :is(.button, .btn, button[type="submit"], input[type="submit"], .wpcf7-submit, .checkout-button, .single_add_to_cart_button, #place_order) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-block-size: 48px;
	padding: 10px 28px;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(180deg, #e6b73c, var(--zs-gold) 55%, #c4921a);
	box-shadow: 0 10px 24px -14px #b07d0ccc, inset 0 1px 0 #fff6d466;
	color: #1d1407;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: filter .2s ease, transform .2s ease, box-shadow .2s ease;
}
.zph-inner .main-page-wrapper :is(.button, .btn, button[type="submit"], input[type="submit"], .wpcf7-submit, .checkout-button, .single_add_to_cart_button, #place_order):hover { filter: brightness(1.06); transform: translateY(-1px); color: #1d1407; }
.zph-inner .main-page-wrapper :is(.button, .btn):is(.disabled, :disabled, .wc-variation-selection-needed) { opacity: .55; transform: none; cursor: not-allowed; }
.zph-inner .wpcf7-submit { inline-size: auto; min-inline-size: 180px; }

/* ---------- sidebar widgets ---------- */
.zph-inner .sidebar-container .sidebar-widget,
.zph-inner .sidebar-container .woodmart-widget { margin-block-end: 32px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.zph-inner .sidebar-container :is(.widget-title, .wp-block-heading, h4, h5) {
	position: relative;
	margin: 0 0 16px;
	padding: 0 0 12px;
	border: 0;
	background: transparent;
	color: var(--zs-ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.6;
	text-transform: none;
}
.zph-inner .sidebar-container :is(.widget-title, .wp-block-heading)::after { content: ""; position: absolute; inset-inline-start: 0; inset-block-end: 0; inline-size: 28px; block-size: 2px; border-radius: 2px; background: var(--zs-gold); }
.zph-inner .sidebar-container li { font-size: 14px; }
.zph-inner .sidebar-container li a { color: var(--zs-muted); }
.zph-inner .sidebar-container li a:hover,
.zph-inner .sidebar-container li.current-cat > a { color: var(--zs-gold-deep); }
.zph-inner .sidebar-container .widget_price_filter .ui-slider-range,
.zph-inner .sidebar-container .widget_price_filter .ui-slider-handle { background: var(--zs-gold); }
.zph-inner .sidebar-container .widget_price_filter .button { min-block-size: 38px; padding: 6px 20px; font-size: 13px; }
.zph-inner .sidebar-container .count { border-color: var(--zs-line); color: var(--zs-soft-ink); }
/* Server-rendered stock filter (inc/performance.php): a link that behaves like a checkbox. */
.zph-inner .zph-stock-filter__toggle { display: inline-flex; align-items: center; gap: 10px; min-block-size: 40px; color: var(--zs-muted); font-size: 14px; }
.zph-inner .zph-stock-filter__toggle:hover { color: var(--zs-gold-deep); }
.zph-inner .zph-stock-filter__box { position: relative; inline-size: 18px; block-size: 18px; flex: none; border: 1.5px solid #c8b89c; border-radius: 5px; background: #fff; transition: background-color .2s ease, border-color .2s ease; }
.zph-inner .zph-stock-filter__toggle[aria-checked="true"] { color: var(--zs-ink); font-weight: 700; }
.zph-inner .zph-stock-filter__toggle[aria-checked="true"] .zph-stock-filter__box { border-color: var(--zs-gold); background: var(--zs-gold); }
.zph-inner .zph-stock-filter__toggle[aria-checked="true"] .zph-stock-filter__box::after { content: ""; position: absolute; inset-inline-start: 5px; inset-block-start: 1px; inline-size: 5px; block-size: 10px; border: solid #1d1407; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.zph-inner .single-product-sidebar .widget_text { padding: 20px; border: 1px solid var(--zs-line); border-radius: var(--zs-radius); background: var(--zs-soft); color: var(--zs-muted); font-size: 13.5px; line-height: 2; }

/* ---------- shop toolbar and product cards ---------- */
.zph-inner .shop-loop-head { align-items: center; margin-block-end: 24px; padding-block-end: 16px; border-block-end: 1px solid var(--zs-line); }
.zph-inner .shop-loop-head :is(.woodmart-woocommerce-breadcrumb, .yoast-breadcrumb, .woocommerce-breadcrumb) { color: var(--zs-soft-ink); font-size: 13px; }
/* Phones keep Woodmart's compact sort icon; the pill select is for wider screens. */
@media (min-width: 768px) { .zph-inner .main-page-wrapper .woocommerce-ordering select { min-block-size: 40px; border-radius: 999px; font-size: 14px; } }
@media (max-width: 767px) { .zph-inner .main-page-wrapper .woocommerce-ordering select { min-block-size: 0; padding: 0; border: 0; box-shadow: none; background-color: transparent; } }
.zph-inner .products-bordered-grid,
.zph-inner .products-bordered-grid > :is(.product-grid-item, .category-grid-item) { border: 0 !important; box-shadow: none; }
.zph-inner .products-bordered-grid > :is(.product-grid-item, .category-grid-item)::before,
.zph-inner .products-bordered-grid > :is(.product-grid-item, .category-grid-item)::after { display: none; }
.zph-inner .product-grid-item { margin-block-end: 32px; }
.zph-inner .product-grid-item .product-element-top { overflow: hidden; border-radius: var(--zs-radius); background: var(--zs-frame); }
.zph-inner .product-grid-item .product-image-link img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
@media (hover: hover) { .zph-inner .product-grid-item:hover .product-image-link img { transform: scale(1.04); } }
.zph-inner .product-grid-item .product-title { display: -webkit-box; max-block-size: none; height: auto; margin-block: 14px 6px; overflow: hidden; font-size: 14.5px; font-weight: 500; line-height: 1.8; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.zph-inner .product-grid-item .product-title a { color: var(--zs-ink); }
.zph-inner .product-grid-item .product-title a:hover { color: var(--zs-gold-deep); }
.zph-inner :is(.product-grid-item, .summary) .price { color: var(--zs-ink); font-weight: 700; }
.zph-inner :is(.product-grid-item, .summary) .price :is(.amount, ins) { color: var(--zs-ink); text-decoration: none; }
.zph-inner :is(.product-grid-item, .summary) .price del { color: var(--zs-soft-ink); font-weight: 400; }
.zph-inner .woocommerce-Price-currencySymbol { margin-inline-start: 2px; color: var(--zs-soft-ink); font-size: .82em; font-weight: 400; }
.zph-inner .product-grid-item .product-grid-item-price,
.zph-inner .product-grid-item .wrapp-product-price { font-size: 14.5px; }
.zph-inner .product-labels .product-label { border-radius: 999px; font-size: 12px; font-weight: 700; }
.zph-inner .product-labels .new { background: var(--zs-umber); color: var(--zs-gold-pale); }
.zph-inner .product-labels .onsale { background: var(--zs-gold); color: #1d1407; }
/* Subcategory tiles listed with products: a framed, centred name instead of a broken placeholder image. */
.zph-inner .product-category .category-image-wrapp img[src*="placeholder"] { opacity: .25; }
.zph-inner .product-category .wrapp-category { overflow: hidden; border-radius: var(--zs-radius); }
.zph-inner .category-grid-item .category-title { color: var(--zs-ink); font-size: clamp(16px, 1.6vw, 19px); font-weight: 700; line-height: 1.6; }
.zph-inner :is(.woodmart-load-more, .load-on-click) {
	min-block-size: 48px;
	padding-inline: 32px;
	border: 1px solid var(--zs-ink);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--zs-ink);
}
.zph-inner :is(.woodmart-load-more, .load-on-click):hover { background: var(--zs-umber); color: var(--zs-ivory); }
.zph-inner .woocommerce-pagination ul li :is(a, span) { border-radius: 50%; }
.zph-inner .woocommerce-pagination ul li span.current { background: var(--zs-umber); color: var(--zs-gold-pale); }
.zph-inner .term-description,
.zph-inner .woocommerce-products-header__description { max-inline-size: 72em; margin-block-end: 24px; color: var(--zs-muted); font-size: 14.5px; line-height: 2.1; }
.zph-inner .term-description :is(p, span, strong, b) { font-weight: 400; }

/* ---------- single product ---------- */
.zph-inner .single-breadcrumbs-wrapper { margin-block-end: 20px; color: var(--zs-soft-ink); font-size: 13px; }
.zph-inner .single-breadcrumbs-wrapper a { color: var(--zs-soft-ink); }
.zph-inner .product-images .product-image-wrap,
.zph-inner .product-images .woocommerce-product-gallery__image { overflow: hidden; border-radius: var(--zs-radius); }
/* A single-image gallery has no thumbnails; drop the empty strip that pushed the summary down. */
.zph-inner .product-images .thumbnails:not(:has(img)) { display: none; }
.zph-inner .summary .product_title { margin-block-end: 12px; color: var(--zs-ink); font-size: clamp(22px, 2.2vw, 30px); font-weight: 700; line-height: 1.5; }
.zph-inner .summary .price { margin-block-end: 20px; font-size: 22px; }
.zph-inner .summary table.variations { margin-block-end: 12px; }
.zph-inner .summary table.variations :is(th, td) { padding-block: 8px; border: 0; vertical-align: middle; }
.zph-inner .summary table.variations .label label { font-weight: 700; }
.zph-inner .summary .reset_variations { color: var(--zs-soft-ink); font-size: 13px; }
.zph-inner .summary form.cart .quantity input { min-block-size: 48px; border-radius: 0; }
.zph-inner .summary .single_add_to_cart_button { min-inline-size: 220px; }
.zph-inner .summary .product_meta { padding-block-start: 16px; border-block-start: 1px solid var(--zs-line); color: var(--zs-muted); font-size: 13.5px; }
.zph-inner .product-tabs-wrapper { margin-block-start: clamp(32px, 4vw, 56px); padding-block: clamp(24px, 3vw, 40px); border-block: 1px solid var(--zs-line); background: transparent; }
.zph-inner .woocommerce-tabs .wc-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 32px; border: 0; }
.zph-inner .woocommerce-tabs .wc-tabs li a { padding-block: 8px; color: var(--zs-soft-ink); font-size: 16px; font-weight: 700; text-transform: none; }
.zph-inner .woocommerce-tabs .wc-tabs li.active a { color: var(--zs-ink); box-shadow: inset 0 -2px 0 var(--zs-gold); }
.zph-inner .related-and-upsells .title,
.zph-inner .related-products > h2 { position: relative; margin-block-end: 28px; padding-block-end: 14px; color: var(--zs-ink); font-size: clamp(20px, 2vw, 26px); font-weight: 700; text-align: center; text-transform: none; }
.zph-inner .related-and-upsells .title::after,
.zph-inner .related-products > h2::after { content: ""; position: absolute; inset-block-end: 0; inset-inline-start: 50%; inline-size: 44px; block-size: 2px; border-radius: 2px; background: var(--zs-gold); transform: translateX(50%); }

/* ---------- reading column: about, policies, guides and articles ---------- */
.zph-prose .site-content .entry-content,
.zph-prose .site-content > article > .entry-content,
.zph-prose .post-single-page .article-inner {
	max-inline-size: 820px;
	margin-inline: auto;
}
.zph-prose .entry-content { color: #3d362c; font-size: 16px; line-height: 2.15; text-align: start; }
.zph-prose .entry-content :is(p, li) { font-size: inherit; line-height: inherit; }
.zph-prose .entry-content p { margin: 0 0 1.3em; }
.zph-prose .entry-content :is(h2, h3, h4) { margin: 1.9em 0 .7em; color: var(--zs-ink); font-weight: 700; line-height: 1.6; }
.zph-prose .entry-content h2 { font-size: clamp(21px, 2.2vw, 26px); }
.zph-prose .entry-content h3 { font-size: clamp(18px, 1.8vw, 21px); }
.zph-prose .entry-content h4 { font-size: 17px; }
.zph-prose .entry-content :is(ul, ol) { margin: 0 0 1.4em; padding-inline-start: 1.4em; }
.zph-prose .entry-content a { color: var(--zs-gold-deep); text-decoration: underline; text-decoration-color: #d8a51d66; text-underline-offset: 4px; }
.zph-prose .entry-content a:hover { text-decoration-color: currentColor; }
.zph-prose .entry-content blockquote { margin: 1.6em 0; padding: 18px 24px; border: 0; border-inline-start: 3px solid var(--zs-gold); border-radius: 0 12px 12px 0; background: var(--zs-soft); color: var(--zs-ink); }
.zph-prose .entry-content img { max-inline-size: 100%; block-size: auto; border-radius: 12px; }
.zph-prose .entry-content table { inline-size: 100%; margin-block-end: 1.6em; border-collapse: collapse; font-size: 14.5px; }
.zph-prose .entry-content :is(th, td) { padding: 12px 14px; border: 1px solid var(--zs-line); text-align: start; }
.zph-prose .entry-content th { background: var(--zs-soft); font-weight: 700; }
/* Legacy inline font sizes inside pasted copy are normalised to the reading scale. */
.zph-prose .entry-content :is(p, li, span)[style*="font-size"] { font-size: inherit !important; }
.zph-prose .site-content.col-lg-9 { flex: 0 0 100%; max-inline-size: 100%; }
.zph-prose .sidebar-container { display: none; }
.zph-prose .entry-content > :is(.table-responsive-wrapper, .tablepress) { overflow-x: auto; }

/* Blog article. */
.zph-inner .post-single-page .meta-post-categories { display: inline-block; margin-block-end: 12px; }
.zph-inner :is(.post-single-page, .blog-post-loop) .meta-post-categories { padding: 3px 14px; border-radius: 999px; background: var(--zs-umber); color: var(--zs-gold-pale); font-size: 12.5px; font-weight: 700; line-height: 1.9; }
.zph-inner :is(.post-single-page, .blog-post-loop) .meta-post-categories a { color: var(--zs-gold-pale); }
.zph-inner .post-single-page .entry-title { color: var(--zs-ink); font-size: clamp(24px, 3vw, 36px); font-weight: 700; line-height: 1.5; }
.zph-inner .post-single-page .entry-thumbnail { margin-block: 20px 32px; overflow: hidden; border-radius: 18px; }
.zph-inner .post-single-page .entry-thumbnail img { inline-size: 100%; max-block-size: min(72vh, 640px); object-fit: cover; }
.zph-inner :is(.post-single-page, .blog-post-loop) .post-date { border-radius: 10px; background: #fffffff0; box-shadow: 0 6px 18px -10px #17110a80; color: var(--zs-ink); }
.zph-inner .woodmart-single-footer { margin-block-start: 32px; padding-block-start: 24px; border-block-start: 1px solid var(--zs-line); }
.zph-inner .single-post-navigation { margin-block-start: 32px; border-color: var(--zs-line); }

/* Blog archive cards. */
.zph-inner .blog-post-loop.blog-style-shadow .article-inner { overflow: hidden; border-radius: var(--zs-radius); background: #fff; box-shadow: 0 1px 0 var(--zs-line), 0 14px 34px -26px #17110a73; transition: box-shadow .3s ease, transform .3s ease; }
@media (hover: hover) { .zph-inner .blog-post-loop.blog-style-shadow .article-inner:hover { box-shadow: 0 1px 0 var(--zs-line), 0 22px 44px -26px #17110a99; transform: translateY(-3px); } }
.zph-inner .blog-post-loop .entry-thumbnail { margin: 0; }
.zph-inner .blog-post-loop .entry-title { font-size: 17px; font-weight: 700; line-height: 1.7; }
.zph-inner .blog-post-loop .entry-title a { color: var(--zs-ink); }
.zph-inner .blog-post-loop .entry-title a:hover { color: var(--zs-gold-deep); }
.zph-inner .blog-post-loop .entry-content { color: var(--zs-muted); font-size: 14px; line-height: 2; }
.zph-inner .blog-post-loop .read-more-section a { color: var(--zs-gold-deep); font-weight: 700; }

/* ---------- cart, checkout and account ---------- */
.zph-inner .woodmart-empty-page { margin: 0; padding-block-start: 120px; color: var(--zs-ink); font-size: clamp(22px, 2.6vw, 32px); font-weight: 700; line-height: 1.6; }
.zph-inner .woodmart-empty-page::before { color: #e2d8c6; font-size: 96px; }
.zph-inner .woodmart-empty-page-text { margin-block: 8px 28px; color: var(--zs-muted); font-size: 15px; }
.zph-inner .return-to-shop { text-align: center; }
.zph-inner :is(.cart_totals, .checkout-order-review) {
	padding: clamp(20px, 2.4vw, 32px);
	border: 1px solid var(--zs-line);
	border-radius: 18px;
	background: var(--zs-soft);
}
/* One card per summary: Woodmart's inner box and receipt zigzag edges would nest a second frame inside it. */
.zph-inner :is(.cart-totals-inner, .woocommerce-checkout-review-order) { padding: 0; border: 0; background: transparent; box-shadow: none; }
.zph-inner .checkout-order-review::before,
.zph-inner .checkout-order-review::after { display: none; }
.zph-inner .woocommerce-checkout-review-order-table { background: transparent; }
/* Quantity stepper: keep Woodmart's compact − / number / + control, in the brand colours. */
/* div only: the mini-cart's price line is a span.quantity and must not become a stepper pill. */
.zph-inner div.quantity { display: inline-flex; align-items: center; overflow: hidden; border: 1px solid #ddd3c2; border-radius: 999px; }
.zph-inner .quantity :is(input.qty, .minus, .plus) { min-block-size: 40px; block-size: 40px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--zs-ink); }
.zph-inner .quantity input.qty { inline-size: 42px; padding: 0; font-size: 15px; font-weight: 700; text-align: center; -moz-appearance: textfield; }
.zph-inner .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.zph-inner .quantity :is(.minus, .plus) { inline-size: 36px; padding: 0; cursor: pointer; }
.zph-inner .quantity :is(.minus, .plus):hover { background: var(--zs-soft); color: var(--zs-gold-deep); }
.zph-inner :is(table.shop_table, .shop_table_responsive) { border-color: var(--zs-line); }
.zph-inner table.shop_table :is(th, td) { border-color: var(--zs-line); vertical-align: middle; }
.zph-inner table.shop_table .product-thumbnail img { border-radius: 10px; }
.zph-inner :is(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-additional-fields) h3,
.zph-inner :is(.cart_totals, .checkout-order-review) > h2,
.zph-inner #order_review_heading { color: var(--zs-ink); font-size: 18px; font-weight: 700; text-transform: none; }
.zph-inner :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { border-radius: 12px; }
.zph-inner .woocommerce-MyAccount-navigation ul { overflow: hidden; border: 1px solid var(--zs-line); border-radius: var(--zs-radius); }
.zph-inner .woocommerce-MyAccount-navigation li.is-active a { background: var(--zs-soft); color: var(--zs-gold-deep); }

/* Contact page: the builder's form column reads as a card. */
.zph-inner .wpcf7 { max-inline-size: 860px; margin-inline: auto; padding: clamp(22px, 3vw, 40px); border: 1px solid var(--zs-line); border-radius: 22px; background: var(--zs-soft); }
.zph-inner .wpcf7-form p { margin-block-end: 18px; }
.zph-inner .wpcf7-form-control-wrap { display: block; margin-block-start: 6px; }
.zph-inner .wpcf7-not-valid-tip { margin-block-start: 6px; font-size: 13px; }
.zph-inner .wpcf7-response-output { border-radius: 12px; }

/* ---------- tablet and phone ---------- */
@media (max-width: 1024px) {
	.zph-inner .elementor-location-header { padding-block: 12px; }
	.zph-inner .content-layout-wrapper { padding-block-start: 24px; }
	.zph-inner .woodmart-show-sidebar-btn { display: inline-flex; align-items: center; gap: 8px; min-block-size: 40px; padding-inline: 16px; border: 1px solid var(--zs-line); border-radius: 999px; font-weight: 700; }
	.zph-inner .sidebar-container .widget-heading { border-color: var(--zs-line); }
}
@media (max-width: 767px) {
	.zph-inner .page-title { padding-block: 32px 36px; }
	.zph-inner .page-title .entry-title { font-size: clamp(24px, 7vw, 30px); }
	.zph-inner .page-title .woodmart-checkout-steps li { font-size: 14px; }
	.zph-inner .product-grid-item { margin-block-end: 24px; }
	.zph-inner .product-grid-item .product-title { margin-block-start: 10px; font-size: 13.5px; }
	.zph-inner .product-grid-item .wrapp-product-price { font-size: 13.5px; }
	.zph-inner .shop-loop-head { gap: 12px; }
	.zph-prose .entry-content { font-size: 15.5px; line-height: 2.05; }
	.zph-inner .summary .single_add_to_cart_button { flex: 1; min-inline-size: 0; }
	.zph-inner .woodmart-empty-page { padding-block-start: 96px; }
	.zph-inner .woodmart-empty-page::before { font-size: 72px; }
	/* Leave room for the floating WhatsApp button. */
	.zph-inner .main-page-wrapper { padding-bottom: 72px; }
}
@media (prefers-reduced-motion: reduce) {
	.zph-inner *, .zph-inner *::before, .zph-inner *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
