/*
Theme Name: Ziamah Pret
Theme URI: https://ziamahpret.com/
Author: Ziamah Pret
Description: Custom WooCommerce + Elementor theme for Ziamah Pret. Includes one-click store setup (PKR, delivery Rs. 200 / free over Rs. 10,000, Cash on Delivery, Allied Bank transfer), product import with size charts, Elementor widgets, WhatsApp ordering and an easy "Add Product" screen.
Version: 1.0.0
Requires at least: 6.2
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ziamah
Tags: e-commerce, woocommerce, elementor, custom-logo, custom-menu
*/

:root {
	--zp-bg: #fbf7f1;
	--zp-cream: #f6f0e7;
	--zp-sand: #efe7dc;
	--zp-line: #d5c9bc;
	--zp-taupe: #a59a90;
	--zp-rust: #8b3f2c;
	--zp-rust-dark: #6f3021;
	--zp-brown: #4e301a;
	--zp-ink: #2e221b;
	--zp-white: #ffffff;
	--zp-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--zp-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
	--zp-radius: 4px;
	--zp-container: 1240px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--zp-bg);
	color: var(--zp-ink);
	font-family: var(--zp-sans);
	font-size: 15px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--zp-rust); text-decoration: none; transition: color .2s; }
a:hover { color: var(--zp-brown); }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--zp-serif);
	font-weight: 500;
	color: var(--zp-brown);
	line-height: 1.15;
	margin: 0 0 .5em;
}
h1 { font-size: clamp(34px, 5vw, 56px); }
h2 { font-size: clamp(28px, 3.6vw, 42px); }
h3 { font-size: 26px; }
p { margin: 0 0 1em; }
.screen-reader-text { position: absolute !important; clip: rect(1px,1px,1px,1px); width: 1px; height: 1px; overflow: hidden; }
.zp-container { width: 100%; max-width: var(--zp-container); margin: 0 auto; padding: 0 20px; }
.zp-main { min-height: 50vh; }
.zp-page-pad { padding-top: 48px; padding-bottom: 72px; }

/* Buttons */
.zp-btn, .button, button.button, input.button, .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--zp-sans); font-size: 13px; font-weight: 600;
	letter-spacing: .12em; text-transform: uppercase;
	padding: 14px 28px; border-radius: var(--zp-radius);
	background: var(--zp-rust); color: #fff !important; border: 1px solid var(--zp-rust);
	cursor: pointer; line-height: 1.2; transition: background .2s, color .2s, border-color .2s;
}
.zp-btn:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .wp-element-button:hover {
	background: var(--zp-brown); border-color: var(--zp-brown); color: #fff !important;
}
.zp-btn--outline { background: transparent; color: var(--zp-brown) !important; border-color: var(--zp-brown); }
.zp-btn--outline:hover { background: var(--zp-brown); color: #fff !important; }
.zp-btn--whatsapp { background: #1f7a4d; border-color: #1f7a4d; }
.zp-btn--whatsapp:hover { background: #17603c; border-color: #17603c; }
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #place_order, .woocommerce .single_add_to_cart_button {
	background: var(--zp-rust) !important; border-color: var(--zp-rust) !important; color: #fff !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #place_order:hover,
.woocommerce .single_add_to_cart_button:hover { background: var(--zp-brown) !important; border-color: var(--zp-brown) !important; }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { opacity: .55; }

/* Forms */
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password],
input[type=search], input[type=url], textarea, select,
.woocommerce form .form-row .input-text, .woocommerce form .form-row select {
	width: 100%; padding: 12px 14px; font-family: var(--zp-sans); font-size: 15px; color: var(--zp-ink);
	background: #fff; border: 1px solid var(--zp-line); border-radius: var(--zp-radius); outline: none;
}
input:focus, textarea:focus, select:focus { border-color: var(--zp-rust); }
label { font-size: 13px; font-weight: 600; color: var(--zp-brown); }

/* Announcement bar */
.zp-announce {
	background: var(--zp-brown); color: var(--zp-cream); text-align: center;
	font-size: 12px; letter-spacing: .14em; text-transform: uppercase; padding: 9px 16px;
}
.zp-announce a { color: #fff; text-decoration: underline; }

/* Header */
.zp-header { background: var(--zp-bg); border-bottom: 1px solid var(--zp-line); position: sticky; top: 0; z-index: 90; }
.admin-bar .zp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .zp-header { top: 0; } }
.zp-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 84px; gap: 20px; }
.zp-logo { display: inline-flex; justify-self: center; }
.zp-logo img, .zp-logo .custom-logo { max-height: 60px; width: auto; }
.zp-logo__text { font-family: var(--zp-serif); font-size: 32px; letter-spacing: .14em; color: var(--zp-brown); }
.zp-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 26px; }
.zp-nav a { color: var(--zp-brown); font-size: 12.5px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; padding: 6px 0; display: inline-block; position: relative; }
.zp-nav a::after { content: ""; position: absolute; left: 0; bottom: 0; height: 1px; width: 0; background: var(--zp-rust); transition: width .25s; }
.zp-nav a:hover::after, .zp-nav .current-menu-item > a::after { width: 100%; }
.zp-nav li { position: relative; }
.zp-nav .sub-menu { display: none; position: absolute; top: 100%; left: -16px; background: #fff; border: 1px solid var(--zp-line); padding: 10px 16px; min-width: 200px; flex-direction: column; gap: 0; z-index: 5; }
.zp-nav li:hover > .sub-menu { display: flex; }
.zp-header__icons { display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
.zp-icon-btn { background: none; border: 0; padding: 8px; color: var(--zp-brown); cursor: pointer; position: relative; display: inline-flex; }
.zp-icon-btn svg { width: 22px; height: 22px; }
.zp-cart-count {
	position: absolute; top: 0; right: -2px; min-width: 18px; height: 18px; padding: 0 5px;
	border-radius: 9px; background: var(--zp-rust); color: #fff; font-size: 10px; font-weight: 700;
	display: flex; align-items: center; justify-content: center; line-height: 1;
}
.zp-cart-count:empty, .zp-cart-count[data-count="0"] { display: none; }
.zp-burger { display: none; }

/* Search overlay */
.zp-search { display: none; background: var(--zp-cream); border-bottom: 1px solid var(--zp-line); padding: 18px 0; }
.zp-search.is-open { display: block; }
.zp-search form { display: flex; gap: 10px; }
.zp-search button[type=submit] { white-space: nowrap; }

/* Drawer */
.zp-drawer { position: fixed; inset: 0; z-index: 200; visibility: hidden; }
.zp-drawer.is-open { visibility: visible; }
.zp-drawer__bg { position: absolute; inset: 0; background: rgba(46,34,27,.45); opacity: 0; transition: opacity .3s; }
.zp-drawer.is-open .zp-drawer__bg { opacity: 1; }
.zp-drawer__panel { position: absolute; top: 0; left: 0; bottom: 0; width: min(86vw, 360px); background: var(--zp-bg); padding: 22px; transform: translateX(-100%); transition: transform .3s; overflow-y: auto; }
.zp-drawer.is-open .zp-drawer__panel { transform: none; }
.zp-drawer__close { float: right; }
.zp-drawer ul { list-style: none; margin: 50px 0 20px; padding: 0; }
.zp-drawer li a { display: block; padding: 14px 0; border-bottom: 1px solid var(--zp-line); font-family: var(--zp-serif); font-size: 22px; color: var(--zp-brown); }
.zp-drawer .sub-menu { margin: 0 0 0 14px; }
.zp-drawer .sub-menu a { font-size: 18px; }
.zp-drawer__contact { font-size: 14px; color: var(--zp-ink); }
.zp-drawer__contact a { color: var(--zp-rust); }

@media (max-width: 960px) {
	.zp-header__inner { grid-template-columns: auto 1fr auto; min-height: 70px; }
	.zp-header .zp-nav { display: none; }
	.zp-burger { display: inline-flex; }
	.zp-logo { justify-self: center; }
	.zp-logo img, .zp-logo .custom-logo { max-height: 46px; }
}

/* Footer */
.zp-footer { background: var(--zp-cream); border-top: 1px solid var(--zp-line); padding: 64px 0 0; margin-top: 0; font-size: 14px; }
.zp-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; }
.zp-footer h4 { font-family: var(--zp-sans); font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--zp-brown); margin-bottom: 18px; }
.zp-footer ul { list-style: none; margin: 0; padding: 0; }
.zp-footer li { margin-bottom: 10px; }
.zp-footer a { color: var(--zp-ink); }
.zp-footer a:hover { color: var(--zp-rust); }
.zp-footer__logo img { max-height: 70px; width: auto; margin-bottom: 16px; }
.zp-footer__about { color: #5b4a3f; max-width: 320px; }
.zp-social { display: flex; gap: 10px; margin-top: 16px; }
.zp-social a { width: 38px; height: 38px; border: 1px solid var(--zp-line); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--zp-brown); }
.zp-social a:hover { background: var(--zp-rust); color: #fff; border-color: var(--zp-rust); }
.zp-social svg { width: 16px; height: 16px; }
.zp-footer__bottom { border-top: 1px solid var(--zp-line); margin-top: 48px; padding: 20px 0; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 12.5px; color: #6b5a4e; }
.zp-pay-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.zp-pay-badges span { border: 1px solid var(--zp-line); border-radius: 3px; padding: 3px 10px; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; background: #fff; }
@media (max-width: 860px) { .zp-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .zp-footer__grid { grid-template-columns: 1fr; } }

/* Floating WhatsApp */
.zp-wa-float {
	position: fixed; right: 20px; bottom: 20px; z-index: 150; width: 56px; height: 56px; border-radius: 50%;
	background: #25d366; color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 8px 24px rgba(0,0,0,.18); transition: transform .2s;
}
.zp-wa-float:hover { transform: scale(1.06); color: #fff; }
.zp-wa-float svg { width: 30px; height: 30px; }

/* Generic page */
.zp-page-header { text-align: center; padding: 56px 20px 40px; background: var(--zp-cream); border-bottom: 1px solid var(--zp-line); }
.zp-page-header h1 { margin: 0; }
.zp-breadcrumb, .woocommerce-breadcrumb { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--zp-taupe); margin-bottom: 10px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--zp-taupe); }
.zp-entry { max-width: 820px; margin: 0 auto; }
.zp-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 30px; }
.zp-post-card h2 { font-size: 26px; }

/* ===== Section helpers used by Elementor widgets ===== */
.zp-eyebrow { font-family: var(--zp-sans); font-size: 12px; font-weight: 600; letter-spacing: .26em; text-transform: uppercase; color: var(--zp-rust); margin-bottom: 14px; display: block; }
.zp-section-head { text-align: center; margin-bottom: 36px; }
.zp-section-head h2 { margin-bottom: 8px; }
.zp-section-head p { color: #6b5a4e; max-width: 560px; margin: 0 auto; }
.zp-section-foot { text-align: center; margin-top: 36px; }

/* Hero */
.zp-hero { display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; background: var(--zp-cream); overflow: hidden; }
.zp-hero__text { display: flex; flex-direction: column; justify-content: center; padding: clamp(40px, 7vw, 110px) clamp(24px, 6vw, 90px); }
.zp-hero__title { font-size: clamp(42px, 6vw, 78px); line-height: 1.02; margin-bottom: 20px; }
.zp-hero__desc { font-size: 17px; color: #5b4a3f; max-width: 440px; margin-bottom: 30px; }
.zp-hero__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.zp-hero__media { position: relative; min-height: 520px; }
.zp-hero__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.zp-hero--bg { display: block; position: relative; }
.zp-hero--bg .zp-hero__media { position: absolute; inset: 0; min-height: 0; }
.zp-hero--bg .zp-hero__media::after { content: ""; position: absolute; inset: 0; background: rgba(46,34,27,var(--zp-overlay, .35)); }
.zp-hero--bg .zp-hero__text { position: relative; z-index: 1; min-height: 620px; align-items: center; text-align: center; }
.zp-hero--bg .zp-hero__title, .zp-hero--bg .zp-hero__desc, .zp-hero--bg .zp-eyebrow { color: #fff; }
.zp-hero--bg .zp-hero__btns { justify-content: center; }
@media (max-width: 860px) {
	.zp-hero { grid-template-columns: 1fr; }
	.zp-hero__media { min-height: 460px; order: -1; }
	.zp-hero__text { text-align: center; align-items: center; }
	.zp-hero__btns { justify-content: center; }
}

/* Features */
.zp-features { display: grid; grid-template-columns: repeat(var(--zp-cols, 4), 1fr); gap: 0; border-top: 1px solid var(--zp-line); border-bottom: 1px solid var(--zp-line); }
.zp-feature { text-align: center; padding: 34px 22px; border-right: 1px solid var(--zp-line); }
.zp-feature:last-child { border-right: 0; }
.zp-feature__icon { color: var(--zp-rust); font-size: 26px; margin-bottom: 12px; display: inline-flex; }
.zp-feature__icon svg { width: 28px; height: 28px; fill: currentColor; }
.zp-feature h3 { font-size: 22px; margin-bottom: 4px; }
.zp-feature p { font-size: 13.5px; color: #6b5a4e; margin: 0; }
@media (max-width: 860px) { .zp-features { grid-template-columns: repeat(2, 1fr); } .zp-feature:nth-child(2n) { border-right: 0; } .zp-feature { border-bottom: 1px solid var(--zp-line); } }

/* FAQ */
.zp-faq { max-width: 820px; margin: 0 auto; }
.zp-faq details { border-bottom: 1px solid var(--zp-line); padding: 4px 0; }
.zp-faq summary { cursor: pointer; list-style: none; padding: 18px 36px 18px 0; position: relative; font-family: var(--zp-serif); font-size: 22px; color: var(--zp-brown); }
.zp-faq summary::-webkit-details-marker { display: none; }
.zp-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font-family: var(--zp-sans); font-size: 24px; color: var(--zp-rust); }
.zp-faq details[open] summary::after { content: "–"; }
.zp-faq__a { padding: 0 0 20px; color: #5b4a3f; }

/* Contact form */
.zp-contact { display: grid; grid-template-columns: 1fr 1.3fr; gap: 50px; align-items: start; }
.zp-contact__info h2 { margin-bottom: 12px; }
.zp-contact__item { display: flex; gap: 12px; margin: 18px 0; align-items: center; }
.zp-contact__item svg { width: 20px; height: 20px; color: var(--zp-rust); flex: none; }
.zp-form { background: #fff; border: 1px solid var(--zp-line); padding: 32px; border-radius: var(--zp-radius); }
.zp-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.zp-form p { margin-bottom: 16px; }
.zp-form label { display: block; margin-bottom: 6px; }
.zp-form .zp-hp { position: absolute; left: -9999px; }
.zp-form__msg { margin-top: 14px; padding: 12px 14px; border-radius: var(--zp-radius); display: none; }
.zp-form__msg.is-ok { display: block; background: #eaf3ec; color: #1f5a37; }
.zp-form__msg.is-err { display: block; background: #f8e9e5; color: var(--zp-rust-dark); }
@media (max-width: 860px) { .zp-contact { grid-template-columns: 1fr; } .zp-form__row { grid-template-columns: 1fr; } }

/* CTA */
.zp-cta { background: var(--zp-brown); color: var(--zp-cream); text-align: center; padding: 70px 24px; }
.zp-cta h2 { color: #fff; }
.zp-cta p { color: var(--zp-sand); max-width: 560px; margin: 0 auto 26px; }

/* Size chart list (Size Guide page) */
.zp-charts { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 30px; }
.zp-chart-card { background: #fff; border: 1px solid var(--zp-line); padding: 16px; text-align: center; }
.zp-chart-card h3 { font-size: 24px; margin: 8px 0 12px; }
.zp-chart-card img { margin: 0 auto; cursor: zoom-in; }

/* ===== WooCommerce ===== */
.zp-woo { padding-top: 36px; padding-bottom: 80px; }
.woocommerce .woocommerce-products-header { text-align: center; margin-bottom: 28px; }
.woocommerce .woocommerce-products-header__title { margin-bottom: 6px; }
.woocommerce .woocommerce-result-count { font-size: 13px; color: var(--zp-taupe); margin: 8px 0 20px; }
.woocommerce .woocommerce-ordering select { width: auto; padding: 9px 12px; font-size: 13px; }

.woocommerce ul.products, .woocommerce-page ul.products {
	display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 34px 24px; margin: 0 0 30px !important; padding: 0; list-style: none;
}
.woocommerce ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	width: auto !important; margin: 0 !important; float: none !important; text-align: center; position: relative;
}
@media (max-width: 960px) { .woocommerce ul.products, .woocommerce ul.products[class*=columns-] { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { .woocommerce ul.products, .woocommerce ul.products[class*=columns-] { grid-template-columns: repeat(2, 1fr); gap: 26px 14px; } }

.zp-card-media { position: relative; display: block; aspect-ratio: 3 / 4.4; overflow: hidden; background: var(--zp-sand); margin-bottom: 14px; }
.zp-card-media img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; object-position: center top; margin: 0 !important; transition: opacity .5s, transform .8s; }
.zp-card-media .zp-card-hover { opacity: 0; }
li.product:hover .zp-card-media .zp-card-hover { opacity: 1; }
li.product:hover .zp-card-media img { transform: scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--zp-serif); font-size: 22px !important; font-weight: 500; color: var(--zp-brown); padding: 0 !important; margin: 0 0 4px;
}
.woocommerce ul.products li.product .price { color: var(--zp-ink) !important; font-size: 14px !important; font-weight: 600; letter-spacing: .04em; margin-bottom: 12px !important; display: block; }
.woocommerce ul.products li.product .price del { color: var(--zp-taupe); font-weight: 400; }
.woocommerce ul.products li.product .price ins { text-decoration: none; color: var(--zp-rust); }
.woocommerce ul.products li.product .button { margin-top: 0 !important; padding: 11px 20px; font-size: 11.5px; background: transparent; color: var(--zp-brown) !important; border-color: var(--zp-brown); }
.woocommerce ul.products li.product .button:hover { background: var(--zp-brown); color: #fff !important; }
.woocommerce span.onsale {
	background: var(--zp-rust) !important; color: #fff; border-radius: 0 !important; min-height: 0 !important; min-width: 0 !important;
	line-height: 1 !important; padding: 7px 10px !important; font-size: 11px !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
	top: 12px !important; left: 12px !important; right: auto !important; margin: 0 !important; z-index: 2;
}

/* Single product */
.woocommerce div.product { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-tabs, .woocommerce div.product .related, .woocommerce div.product .upsells { grid-column: 1 / -1; }
.woocommerce div.product .product_title { font-size: clamp(34px, 4vw, 48px); margin-bottom: 8px; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--zp-rust) !important; font-size: 22px !important; font-weight: 600; }
.woocommerce div.product .woocommerce-product-details__short-description { color: #5b4a3f; margin: 16px 0 22px; }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 10px !important; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto !important; float: none !important; }
.woocommerce div.product div.images img { background: var(--zp-sand); }
.woocommerce div.product form.cart { margin: 18px 0 14px !important; }
.woocommerce div.product form.cart .variations { margin-bottom: 10px; border: 0; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { display: block; padding: 0 0 8px; text-align: left; border: 0; background: none; }
.woocommerce div.product form.cart .variations label { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.woocommerce div.product form.cart .reset_variations { font-size: 12px; margin-left: 10px; }
.woocommerce div.product form.cart div.quantity { margin-right: 10px !important; }
.woocommerce .quantity .qty { width: 72px; padding: 12px 6px; text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { padding: 15px 34px; }
.woocommerce div.product .woocommerce-variation-price { margin-bottom: 12px; }
.woocommerce div.product .product_meta { font-size: 13px; color: #6b5a4e; border-top: 1px solid var(--zp-line); padding-top: 16px; margin-top: 20px; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0 !important; margin: 30px 0 0 !important; border-bottom: 1px solid var(--zp-line); text-align: center; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 14px !important; padding: 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--zp-taupe) !important; padding: 14px 0 !important; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--zp-brown) !important; box-shadow: inset 0 -2px 0 var(--zp-rust); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 820px; margin: 26px auto 0 !important; }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.related.products > h2, .upsells.products > h2 { text-align: center; margin: 60px 0 30px; }
@media (max-width: 860px) { .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; } }

/* Size buttons (replaces dropdown) */
.zp-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.zp-swatch { min-width: 48px; height: 44px; padding: 0 14px; border: 1px solid var(--zp-line); background: #fff; color: var(--zp-ink); font-family: var(--zp-sans); font-weight: 600; font-size: 13px; cursor: pointer; border-radius: var(--zp-radius); transition: all .15s; }
.zp-swatch:hover { border-color: var(--zp-brown); }
.zp-swatch.is-active { background: var(--zp-brown); border-color: var(--zp-brown); color: #fff; }
.zp-swatch.is-disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.zp-has-swatches select { position: absolute !important; opacity: 0 !important; pointer-events: none; width: 1px !important; height: 1px !important; }

/* Product extras */
.zp-size-link { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 0; color: var(--zp-brown); font-family: var(--zp-sans); font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; margin: 4px 0 6px; }
.zp-size-link svg { width: 18px; height: 18px; }
.zp-product-wa { width: 100%; margin-top: 4px; }
.zp-delivery-note { margin-top: 18px; padding: 14px 16px; background: var(--zp-cream); border: 1px solid var(--zp-line); font-size: 13.5px; border-radius: var(--zp-radius); }
.zp-delivery-note div { display: flex; gap: 10px; align-items: center; padding: 3px 0; }
.zp-delivery-note svg { width: 18px; height: 18px; color: var(--zp-rust); flex: none; }

/* Modal */
.zp-modal { position: fixed; inset: 0; z-index: 300; display: none; align-items: center; justify-content: center; padding: 20px; background: rgba(46,34,27,.6); }
.zp-modal.is-open { display: flex; }
.zp-modal__box { background: var(--zp-bg); max-width: 760px; width: 100%; max-height: 92vh; overflow: auto; position: relative; padding: 24px; border-radius: var(--zp-radius); }
.zp-modal__close { position: absolute; top: 8px; right: 8px; }
.zp-modal__box img { margin: 0 auto; }

/* Free delivery progress */
.zp-ship-bar { background: var(--zp-cream); border: 1px solid var(--zp-line); padding: 14px 18px; margin-bottom: 24px; font-size: 14px; border-radius: var(--zp-radius); }
.zp-ship-bar__track { height: 6px; background: var(--zp-sand); border-radius: 3px; margin-top: 10px; overflow: hidden; }
.zp-ship-bar__fill { height: 100%; background: var(--zp-rust); border-radius: 3px; }

/* Cart / checkout / account */
.woocommerce table.shop_table { border: 1px solid var(--zp-line) !important; border-radius: var(--zp-radius); background: #fff; border-collapse: separate; }
.woocommerce table.shop_table th { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--zp-brown); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-color: var(--zp-line) !important; padding: 14px 16px !important; }
.woocommerce table.cart img { width: 70px !important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals { width: 100%; max-width: 460px; float: right; }
.woocommerce-checkout #customer_details h3, .woocommerce-checkout #order_review_heading { font-size: 28px; }
.woocommerce-checkout #payment { background: var(--zp-cream) !important; border: 1px solid var(--zp-line); border-radius: var(--zp-radius); }
.woocommerce-checkout #payment div.payment_box { background: #fff !important; color: var(--zp-ink) !important; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--zp-rust) !important; background: var(--zp-cream) !important; color: var(--zp-ink) !important; }
.woocommerce-info::before, .woocommerce-message::before { color: var(--zp-rust) !important; }
.woocommerce-order-details, .woocommerce-bacs-bank-details { margin-top: 30px; }
.woocommerce-bacs-bank-details { background: #fff; border: 1px solid var(--zp-line); padding: 20px 24px; border-radius: var(--zp-radius); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--zp-line); background: #fff; }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; border-bottom: 1px solid var(--zp-line); color: var(--zp-brown); }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--zp-cream); color: var(--zp-rust); }
.wc-block-components-button:not(.is-link) { background: var(--zp-rust) !important; color: #fff !important; }

/* Pagination */
.woocommerce nav.woocommerce-pagination ul, .nav-links { border: 0 !important; display: flex; justify-content: center; gap: 6px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span, .nav-links .page-numbers { min-width: 40px; height: 40px; display: inline-flex !important; align-items: center; justify-content: center; border: 1px solid var(--zp-line) !important; background: #fff; color: var(--zp-brown); }
.woocommerce nav.woocommerce-pagination ul li span.current, .nav-links .current { background: var(--zp-brown) !important; color: #fff !important; }

/* Elementor full-width pages: keep content edge to edge */
.elementor-page .zp-main { padding: 0; }
.zp-btn svg { width: 18px; height: 18px; flex: none; }

/* Keep theme UI buttons independent from Elementor's global button style */
html body .zp-icon-btn, html body .zp-icon-btn:hover, html body .zp-icon-btn:focus {
	background: none; border: 0; padding: 8px; color: var(--zp-brown); box-shadow: none; border-radius: 0; font-size: inherit; letter-spacing: 0; text-transform: none;
}
html body .zp-swatch { background: #fff; color: var(--zp-ink); border: 1px solid var(--zp-line); padding: 0 14px; font-size: 13px; letter-spacing: 0; text-transform: none; border-radius: var(--zp-radius); }
html body .zp-swatch:hover { background: #fff; color: var(--zp-ink); border-color: var(--zp-brown); }
html body .zp-swatch.is-active { background: var(--zp-brown); color: #fff; border-color: var(--zp-brown); }
html body .zp-size-link, html body .zp-size-link:hover { background: none; border: 0; padding: 0; color: var(--zp-brown); font-size: 13px; letter-spacing: 0; text-transform: none; }
html body .zp-search button[type=submit] { padding: 12px 24px; }
.zp-hero .zp-hero__media { overflow: hidden; }
.zp-hero .zp-hero__media img { height: 100% !important; width: 100% !important; max-width: none; }
.zp-has-swatches { position: relative; }
html body .zp-has-swatches select { min-width: 0 !important; max-width: 1px !important; left: 0; top: 0; }
.woocommerce div.product div.images { overflow: hidden; min-width: 0; }
.woocommerce div.product div.summary { min-width: 0; }
@media (max-width: 1240px) and (min-width: 961px) {
	.zp-nav ul { gap: 4px 16px; }
	.zp-nav a { font-size: 11.5px; letter-spacing: .1em; }
}
