/* ZibaGol design system v1 (canvas «زیباگل — سیستم طراحی و صفحات») — tokens + components + page sections.
   Mobile-first; scoped to plugin classes / body.zbg so XTRA & Elementor keep their own layout. */


/* ---------- primitives ---------- */
.zg{font-family:var(--zg-font);color:var(--zg-ink)}
.zg-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:var(--zg-r-btn);border:1.5px solid var(--zg-primary);font:700 15px/1.4 var(--zg-font);text-decoration:none!important;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.zg-btn--p{background:var(--zg-primary);color:#fff!important}
.zg-btn--p:hover{background:var(--zg-primary-dark);border-color:var(--zg-primary-dark)}
.zg-btn--o{background:#fff;color:var(--zg-primary)!important}
.zg-btn--o:hover{background:var(--zg-primary);color:#fff!important}
.zg-btn:focus-visible,.zg-chip:focus-visible{outline:2px solid var(--zg-gold);outline-offset:2px}
.zg-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border-radius:var(--zg-r-pill);border:1px solid var(--zg-border);background:#fff;color:var(--zg-ink)!important;font:500 13px/1 var(--zg-font);text-decoration:none!important;white-space:nowrap;transition:all .2s}
.zg-chip:hover,.zg-chip.is-on{background:var(--zg-primary);border-color:var(--zg-primary);color:#fff!important}
.zg-gold{display:block;width:40px;height:2px;background:var(--zg-gold);margin-top:8px}
.zg-sh{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 20px}
.zg-sh__t{margin:0!important;font:800 20px/1.6 var(--zg-font)!important;color:var(--zg-ink)!important}
.zg-sh__m{font:700 13px var(--zg-font);color:var(--zg-primary)!important;text-decoration:none!important;white-space:nowrap}
.zbg-home{max-width:var(--zg-max);margin-inline:auto;padding-inline:16px;box-sizing:border-box;margin-block:32px}
.zbg-home *{box-sizing:border-box}

/* ---------- home: hero ---------- */
.zg-hero{text-align:center;padding-top:8px}
.zg-hero__k{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px!important;font:700 13px var(--zg-font);color:#8a6a1f}
.zg-hero__k .zbg-ico{color:var(--zg-gold)}
.zg-hero__t{margin:0 0 12px!important;font:800 26px/40px var(--zg-font)!important;color:var(--zg-ink)!important;letter-spacing:0}
.zg-hero__s{max-width:640px;margin:0 auto 20px!important;font:400 14px/24px var(--zg-font);color:var(--zg-muted-text)}
.zg-hero__cta{display:flex;gap:10px;justify-content:center}
.zg-hero__cta .zg-btn{flex:1 1 0;max-width:220px}
.zg-hero__chips{list-style:none;margin:18px 0 0!important;padding:0!important;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px}
.zg-hero__chips li{display:flex;align-items:center;gap:6px;margin:0!important;font:500 13px var(--zg-font);color:var(--zg-ink)}
.zg-hero__chips .zbg-ico{color:var(--zg-green)}

/* categories tiles reuse .zbg-cats (home.css) — section header spacing */
.zbg-cats .zg-sh{margin-bottom:16px}

/* ---------- home: occasions ---------- */
.zg-chips{list-style:none;margin:0!important;padding:0 0 4px!important;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.zg-chips::-webkit-scrollbar{display:none}
.zg-chips li{margin:0!important;flex:none}

/* ---------- home: same-day + why ---------- */
.zg-sdw{display:grid;gap:16px}
.zg-sd{background:var(--zg-primary);color:#fff;border-radius:var(--zg-r-card);padding:24px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.zg-sd p{margin:0!important;color:inherit}
.zg-sd__t{display:flex;align-items:center;gap:8px;font:800 18px/1.6 var(--zg-font)}
.zg-sd__l{font:500 13px var(--zg-font);opacity:.85}
.zg-sd__cd{font:800 34px/1.3 var(--zg-font);letter-spacing:1px;direction:ltr}
.zg-sd__cd--txt{font-size:20px;direction:rtl;letter-spacing:0}
.zg-sd__n{font:400 12.5px/1.8 var(--zg-font);opacity:.85;margin-bottom:10px!important}
.zg-sd .zg-btn{background:#fff;color:var(--zg-primary)!important;border-color:#fff}
.zg-why{background:#fff;border:1px solid var(--zg-border);border-radius:var(--zg-r-card);padding:20px}
.zg-why ul{list-style:none;margin:0!important;padding:0!important;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.zg-why li{display:flex;flex-direction:column;gap:6px;margin:0!important}
.zg-why .zbg-ico{color:var(--zg-gold)}
.zg-why b{display:block;font:700 14px/1.6 var(--zg-font)}
.zg-why small{display:block;font:400 12px/1.7 var(--zg-font);color:var(--zg-muted-text)}

/* ---------- home: reviews (real only) ---------- */
.zg-rev ul{list-style:none;margin:0!important;padding:0!important;display:grid;gap:12px}
.zg-rev li{margin:0!important;background:#fff;border:1px solid var(--zg-border);border-radius:var(--zg-r-card);padding:18px}
.zg-rev__s{margin:0 0 6px!important;color:var(--zg-gold);letter-spacing:2px}
.zg-rev__t{margin:0 0 10px!important;font:400 14px/1.9 var(--zg-font)}
.zg-rev__a{margin:0!important;font-size:12.5px;color:var(--zg-muted-text)}

/* ---------- home: FAQ ---------- */
.zg-faq{display:grid;gap:12px}
.zg-faq__h p{margin:0!important;font-size:13px;color:var(--zg-muted-text)}
.zg-faq details,.zbg-faq details{background:#fff;border:1px solid var(--zg-border);border-radius:var(--zg-r-btn);margin:0 0 8px;padding:0 16px}
.zg-faq summary,.zbg-faq summary{list-style:none;cursor:pointer;min-height:56px;display:flex;justify-content:space-between;align-items:center;gap:12px;font:700 14px/1.7 var(--zg-font);color:var(--zg-ink)}
.zg-faq summary::-webkit-details-marker{display:none}
.zg-faq summary::after{content:"";flex:none;width:8px;height:8px;border-left:2px solid var(--zg-primary);border-bottom:2px solid var(--zg-primary);transform:rotate(-45deg);transition:transform .2s}
.zg-faq details[open] summary::after{transform:rotate(135deg)}
.zg-faq details p,.zg-faq details div{margin:0 0 14px!important;font:400 13px/1.9 var(--zg-font);color:var(--zg-muted-text)}

/* ---------- product card (Card board spec) ---------- */
body.zbg-cards ul.products li.product{border-radius:var(--zg-r-card)!important;border-color:var(--zg-border)!important;box-shadow:var(--zg-shadow)!important}
body.zbg-cards ul.products li.product:hover{transform:translateY(-2px);box-shadow:var(--zg-shadow-hover)!important}
body.zbg-cards ul.products li.product:hover .xtra-product-thumbnail img{transform:scale(1.06)}
body.zbg-cards .woocommerce-loop-product__title{font-size:13px!important;font-weight:500!important;line-height:21px!important;height:42px;min-height:0!important;margin:12px 12px 6px!important}
body.zbg-cards ul.products li.product .price{font-size:15px!important;font-weight:800!important;margin:0 12px!important;height:24px;flex-wrap:nowrap!important;white-space:nowrap;overflow:hidden}
body.zbg-cards ul.products li.product .price .woocommerce-Price-currencySymbol{font-size:11px;font-weight:500;color:var(--zg-muted-text)}
body.zbg-cards ul.products li.product .price del{font-size:12px!important;color:var(--zg-muted-text)!important}
body.zbg-cards ul.products li.product .zbg-inst--loop{order:3;display:flex;align-items:center;gap:4px;height:18px;margin:6px 12px 0!important;font:400 11px var(--zg-font);color:var(--zg-muted-text);white-space:nowrap;overflow:hidden}
body.zbg-cards ul.products li.product .zbg-inst--loop b{font-weight:500}
.zg-sp{flex:none;width:14px;height:14px;border-radius:4px;background:#EDE3F7;border:1px solid #D8C8EC;display:inline-block}
body.zbg-cards ul.products li.product .button{margin:auto 12px 12px!important;margin-top:12px!important;min-height:44px;border-radius:var(--zg-r-btn)!important;font-size:13px!important}
body.zbg-cards ul.products li.product .zbg-pill{height:24px;display:inline-flex;align-items:center;padding:0 9px;font-size:11px;font-weight:700;border-radius:999px}
body.zbg-cards ul.products li.product .zbg-pill--fast{color:var(--zg-green-text);background:#fff}
body.zbg-cards ul.products li.product .zbg-pill--off{background:var(--zg-primary)}
body.zbg-cards ul.products li.product.outofstock .xtra-product-thumbnail{filter:grayscale(1);opacity:.6}
@media(min-width:900px){
	body.zbg-cards .woocommerce-loop-product__title{font-size:15px!important;line-height:24px!important;height:48px;margin:16px 16px 8px!important}
	body.zbg-cards ul.products li.product .price{font-size:18px!important;margin:0 16px!important;height:26px}
	body.zbg-cards ul.products li.product .price .woocommerce-Price-currencySymbol{font-size:12px}
	body.zbg-cards ul.products li.product .zbg-inst--loop{font-size:12px;margin:8px 16px 0!important}
	body.zbg-cards ul.products li.product .button{margin:12px 16px 16px!important;min-height:48px;font-size:14px!important}
	body.zbg-cards ul.products li.product .zbg-pill{height:28px;font-size:12px;padding:0 12px}
}

/* ---------- category ---------- */
body.zbg.tax-product_cat .zbg-sort button,.zbg-sort button{min-height:40px;padding:0 16px;font:500 13px var(--zg-font);border-color:var(--zg-border)}
body.zbg .woocommerce-pagination ul.page-numbers{display:flex!important;justify-content:center;gap:8px;border:0!important}
body.zbg .woocommerce-pagination ul.page-numbers li{border:0!important}
body.zbg .woocommerce-pagination .page-numbers a,body.zbg .woocommerce-pagination .page-numbers span{min-width:44px;height:44px;display:flex!important;align-items:center;justify-content:center;border-radius:var(--zg-r-btn);border:1px solid var(--zg-border);background:#fff;color:var(--zg-ink)}
body.zbg .woocommerce-pagination .page-numbers .current{background:var(--zg-primary)!important;border-color:var(--zg-primary);color:#fff!important}

/* ---------- product page: delivery picker as chips (ProductM/ProductD) ---------- */
.zbg-dlv{border-color:var(--zg-border);border-radius:var(--zg-r-card)}
.zbg-dlv__date span{min-width:84px;min-height:56px;border-radius:var(--zg-r-btn);border-color:var(--zg-border);background:#fff;font-family:var(--zg-font)}
.zbg-dlv__date b{font-size:14px}
.zbg-dlv__slot span{min-height:44px;border-radius:var(--zg-r-pill);border-color:var(--zg-border);background:#fff;font:500 13px var(--zg-font)}
.zbg-dlv__date input:checked+span,.zbg-dlv__slot input:checked+span{background:var(--zg-primary);border-color:var(--zg-primary);color:#fff}
.zbg-dlv__date input:checked+span small{color:#fff;opacity:.85}
.zbg-dlv__slot.is-full span{background:#F6F1F2;color:#A3979B}
body.zbg-single.single-product .summary .price{color:var(--zg-primary)!important}
body.zbg-single form.cart .single_add_to_cart_button{border-radius:var(--zg-r-btn)!important;min-height:52px}

/* ---------- cart / checkout inputs ---------- */
body.zbg .woocommerce form .input-text,body.zbg .woocommerce form select,body.zbg .woocommerce-checkout .input-text{min-height:48px;border-radius:var(--zg-r-input)!important;border:1px solid var(--zg-border)!important;background:#fff;padding:0 14px;font-family:var(--zg-font)}
body.zbg .woocommerce form textarea.input-text{padding:12px 14px;min-height:96px}
body.zbg .woocommerce form .input-text:focus{border:2px solid var(--zg-primary)!important;box-shadow:0 0 0 4px rgba(122,31,61,.12);outline:0}
body.zbg .woocommerce-invalid .input-text{border-color:#B3261E!important}
body.zbg #place_order,body.zbg .checkout-button{min-height:52px;border-radius:var(--zg-r-btn)!important;background:var(--zg-primary)!important;color:#fff!important;font:800 16px var(--zg-font)!important}
body.zbg .woocommerce-message,body.zbg .woocommerce-info{border-radius:var(--zg-r-btn);border-top-color:var(--zg-green)}

/* ---------- desktop ---------- */
@media(min-width:900px){
	.zbg-home{margin-block:48px}
	.zg-sh__t{font-size:28px!important;line-height:44px!important}
	.zg-hero{padding-top:24px}
	.zg-hero__t{font-size:44px!important;line-height:64px!important;max-width:900px;margin-inline:auto!important}
	.zg-hero__s{font-size:16px;line-height:28px}
	.zg-hero__cta .zg-btn{flex:0 0 auto;min-width:200px}
	.zg-chips{flex-wrap:wrap;overflow:visible}
	.zg-sdw{grid-template-columns:1fr 1.4fr;gap:24px;align-items:stretch}
	.zg-sd{padding:32px;justify-content:center}
	.zg-sd__cd{font-size:48px}
	.zg-why{padding:32px}
	.zg-why ul{grid-template-columns:repeat(4,1fr)}
	.zg-rev ul{grid-template-columns:repeat(3,1fr);gap:24px}
	.zg-faq{grid-template-columns:1fr 1.6fr;gap:48px;align-items:start}
	.zg-faq summary{font-size:15px;min-height:60px}
}

/* ---------- v2.3: theme title band → design header (CategoryD/M, ProductD/M) ---------- */
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) .page_title{background:var(--zg-bg)!important;background-image:none!important;min-height:0!important;padding:20px 0 4px!important;border:0!important;box-shadow:none!important}
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) .page_title *{background-image:none!important;text-shadow:none!important}
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) .page_title::before,body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) .page_title::after{display:none!important}
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) .page_title .row{display:flex!important;flex-direction:column-reverse;align-items:flex-start;gap:10px;max-width:var(--zg-max);margin-inline:auto;padding-inline:16px}
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product) .page_title h1,body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product) .page_title .codevz-section-title{font:800 26px/40px var(--zg-font)!important;color:var(--zg-ink)!important;margin:0!important}
body.zg-ds.single-product .page_title .codevz-section-title{display:none!important}
body.zg-ds .page_title .breadcrumbs,body.zg-ds .page_title .breadcrumbs *{font:400 12.5px/1.8 var(--zg-font)!important;color:var(--zg-muted-text)!important}
body.zg-ds .page_title .breadcrumbs a:hover{color:var(--zg-primary)!important}
body.zg-ds .page_title .breadcrumbs b,body.zg-ds .page_title .breadcrumbs .current,body.zg-ds .page_title .breadcrumbs span:last-child{color:var(--zg-ink)!important}
body.zg-ds .page_title .breadcrumbs i,body.zg-ds .page_title .breadcrumbs .fa{color:var(--zg-gold)!important;font-size:10px!important}
.zg-cath{max-width:var(--zg-max);margin:0 0 20px}
.zg-cath__s{margin:0 0 12px!important;font:400 14px/24px var(--zg-font);color:#5E4F54;max-width:720px}
.zg-cath__f{list-style:none;margin:0!important;padding:0!important;display:flex;flex-wrap:wrap;gap:8px}
.zg-cath__f li{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;margin:0!important;border-radius:999px;background:#fff;border:1px solid var(--zg-border);font:500 12.5px var(--zg-font);color:var(--zg-ink)}
.zg-cath__f .zbg-ico{color:var(--zg-green)}
.zg-cath__f b{color:var(--zg-primary)}
/* AEO summary: quiet, like the design's intro note */
body.zg-ds .zbg-answer{background:#fff!important;border:1px solid var(--zg-border)!important;border-right:1px solid var(--zg-border)!important;border-radius:var(--zg-r-card)!important;box-shadow:none!important;padding:14px 18px!important;font-size:13px;line-height:2;margin:0 0 20px!important;max-width:none!important;width:auto!important}
/* toolbar: sort chips + count only (theme per-page / columns switch / duplicate select hidden) */
body.zg-ds .codevz-products-per-page,body.zg-ds .codevz-woo-columns{display:none!important}
body.zg-ds .woocommerce-result-count{float:left!important;margin:10px 0 0!important;font:400 13px var(--zg-font);color:var(--zg-muted-text)}
body.zg-ds .zbg-sort{float:right;max-width:calc(100% - 140px);margin-bottom:20px}
body.zg-ds ul.products{clear:both}
/* card: installment line is plain text in the design (no boxed widget) */
body.zbg-cards ul.products li.product .zbg-inst--loop{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;border-radius:0!important}
body.zbg-cards ul.products li.product .button i,body.zbg-cards ul.products li.product .button svg:not(.zbg-ico){display:none!important}
body.zbg-cards ul.products li.product .price ins{order:-1}
.zg-prod .zg-sh{margin-bottom:20px}
@media(max-width:600px){
	body.zg-ds .zbg-sort{float:none;max-width:100%}
	body.zg-ds .woocommerce-result-count{float:none!important;margin:0 0 8px!important}
}
@media(min-width:900px){
	body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product) .page_title h1,body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product) .page_title .codevz-section-title{font-size:40px!important;line-height:56px!important}
	body.zg-ds .page_title{padding:28px 0 8px!important}
	.zg-cath__s{font-size:16px;line-height:28px}
}
/* XTRA overlays a transparent white header on the photo band; with the band gone the header becomes a solid bar */
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) header.page_header{position:relative!important;background:var(--zg-ink)!important}
body.zg-ds:is(.tax-product_cat,.tax-product_tag,.post-type-archive-product,.single-product) .page_title :is(.lefter,.righter){width:100%!important;float:none!important;text-align:right!important;padding:0!important}

/* ---------- v2.4 fixes from live review ---------- */
.zg ul li::before,.zg ul li::marker,.zg-chips li::before,.zbg-cats li::before{content:none!important;display:none!important}
.zg ul{list-style:none!important}
/* product page: the theme paints tab panels navy with white text → plugin boxes became white-on-white */
body.zbg .woocommerce-tabs .woocommerce-Tabs-panel{background:#fff!important;color:var(--zg-ink)!important;border:1px solid var(--zg-border)!important;border-radius:var(--zg-r-card)!important;padding:24px!important;margin:0 0 16px!important;box-shadow:none!important}
body.zbg .woocommerce-tabs .woocommerce-Tabs-panel :is(h2,h3,h4,p,li,td,th,span,strong,b,a,summary,caption){color:inherit}
body.zbg .woocommerce-tabs .woocommerce-Tabs-panel :is(h2,h3){color:var(--zg-ink)!important;font:800 18px/1.7 var(--zg-font)!important;margin:20px 0 8px!important}
body.zbg .woocommerce-tabs .woocommerce-Tabs-panel a{color:var(--zg-primary)!important}
body.zbg .woocommerce-tabs .woocommerce-Tabs-panel>p:first-of-type{margin-top:0}
body.zbg .woocommerce-tabs ul.tabs{background:#fff!important}
body.zbg .woocommerce-tabs.zg-tabs-open ul.tabs{position:sticky;top:0;z-index:20}
.zbg-answer{background:#FBF7F5!important;color:var(--zg-ink)!important;border:1px solid var(--zg-border)!important;border-radius:var(--zg-r-btn)!important;padding:14px 18px!important}
.zbg-answer__label{color:var(--zg-primary)!important;font-weight:800!important;margin:0 0 4px!important}
.zbg-answer__text{color:var(--zg-ink)!important;margin:0!important;line-height:2!important}
.zbg-specs{background:none!important;padding:0!important}
.zbg-specs__title{color:var(--zg-ink)!important;text-align:right!important}
.zbg-specs__table{width:100%;border-collapse:collapse;border:1px solid var(--zg-border)!important;border-radius:var(--zg-r-btn);overflow:hidden;background:#fff}
.zbg-specs__table th,.zbg-specs__table td{color:var(--zg-ink)!important;background:#fff!important;padding:12px 14px!important;border-bottom:1px solid var(--zg-border)!important;text-align:right;font-size:14px}
.zbg-specs__table th{width:34%;color:var(--zg-muted-text)!important;font-weight:500!important;background:#FBF7F5!important}
body.zbg .woocommerce-tabs .shop_attributes th,body.zbg .woocommerce-tabs .shop_attributes td{color:var(--zg-ink)!important;background:#fff!important;border-color:var(--zg-border)!important}
/* related products title: theme navy band → design section header */
body.zbg .related>h2,body.zbg .up-sells>h2{background:none!important;color:var(--zg-ink)!important;font:800 20px/1.6 var(--zg-font)!important;text-align:right!important;padding:0 0 10px!important;margin:32px 0 20px!important;position:relative}
body.zbg .related>h2::after,body.zbg .up-sells>h2::after{content:"";position:absolute;right:0;bottom:0;width:40px;height:2px;background:var(--zg-gold)}
/* FAQ accordions everywhere (home, category, product): one title, one chevron */
.zbg-faq summary .zbg-faq__icon,.zbg-faq summary>span[aria-hidden],.zbg-faq summary svg{display:none!important}
.zbg-faq details{background:#fff;border:1px solid var(--zg-border);border-radius:var(--zg-r-btn);margin:0 0 8px;padding:0 16px}
.zbg-faq summary{list-style:none;cursor:pointer;min-height:56px;display:flex!important;justify-content:space-between;align-items:center;gap:12px;font:700 14px/1.7 var(--zg-font);color:var(--zg-ink)!important}
.zbg-faq summary::-webkit-details-marker{display:none}
.zbg-faq summary::after{content:"";flex:none;width:8px;height:8px;border-left:2px solid var(--zg-primary);border-bottom:2px solid var(--zg-primary);transform:rotate(-45deg);transition:transform .2s}
.zbg-faq details[open] summary::after{transform:rotate(135deg)}
.zbg-faq details>:not(summary){color:var(--zg-muted-text)!important;font-size:13.5px;line-height:2}
body.zbg .woocommerce-tabs .woocommerce-Tabs-panel :is(h2,h3,p,li){text-align:right!important}
