/*
 * طلامد: the site's own styles on top of the base theme (assets/dist/parsa.css). Sizes and colours are the old
 * theme's, measured on the live site (base/tools/probe.mjs), so the shop looks as it always has.
 */

/* the old theme's reset gave every element a zero border width: content that sets only a border style shows none */
:where(.elementor) :where(div, span, a, p, h1, h2, h3, h4, h5, h6, ul, ol, li, section, article, figure, img) { border-width: 0; }
table { line-height: 1.4; }
body { font-size: 15px; line-height: 1.6; }

/* ================================================================ header (desktop) */
.ps-header { border-bottom: 0; }
.ps-header__row--top { background: rgba(44,89,61,.15); color: #242424; font-size: 13px; line-height: 1.2; }
.ps-header__row--top + .ps-header__row--general { border-top: 0; }
.ps-header__row--general { position: relative; z-index: 2; }
.ps-header__row--bottom { box-shadow: 0 1px 1px #dad7d7; }
.ps-header__row.ps-only-desktop + .ps-header__row.ps-only-desktop { border-top: 0; }
.ps-header__row--general .ps-header__inner, .ps-header__row--bottom .ps-header__inner, .ps-header__row--top .ps-header__inner { gap: 0; }
.ps-header__row--general .ps-logo { width: auto; }
.ps-header__row--general .ps-logo__img { max-height: none; }

/* the day's gold prices and the phone line */
.ps-header-html { font-size: 13px; color: #242424; padding-inline: 10px; }
.ps-header-html .wpg-gold-price { display: inline; }
.ps-header-html--phone { direction: ltr; gap: 10px; }
.ps-header-html--phone .ps-header-html__icon { width: 18px; height: 18px; color: #242424; }
.ps-header__row--top .ps-header-divider { height: 18px; margin-inline: 0; background: rgba(0,0,0,.105); }

/* search field: white, a thin grey frame, the magnifier inside its start */
.ps-header__row--general .ps-header__slot--center { padding-inline: 20px; }
.ps-header .ps-search-form__input[type="search"] { height: 45px; padding-inline: 40px 30px; border: 1px solid #7f7f7f; border-radius: 5px; background: #fff; color: #333; font-size: 14px; }
.ps-header .ps-search-form__input::placeholder { color: #333; opacity: 1; }
.ps-header .ps-search-form__go { inset-inline-start: 0; inset-inline-end: auto; width: 46px; border-radius: 0; background: none; color: #333; }
.ps-header .ps-search-form__go svg { width: 18px; height: 18px; stroke-width: 1.8; }
.ps-header .ps-search-form__results { border-radius: 0 0 8px 8px; }

/* account and cart: round outlined icons; the cart's count on its corner */
:is(.ps-header, .ps-header-clone) .ps-only-desktop .ps-tool--account,
:is(.ps-header, .ps-header-clone) .ps-only-desktop .ps-tool--cart,
.ps-header-clone .ps-tool--account, .ps-header-clone .ps-tool--cart { width: 42px; min-width: 42px; height: 42px; margin-inline: 10px; padding: 0; border: 1px solid rgba(0,0,0,.106); border-radius: 42px; color: #333; }
.ps-header .ps-only-desktop .ps-tool--account .ps-tool__text { display: none; }
.ps-header .ps-tool--cart .ps-tool__count, .ps-header-clone .ps-tool--cart .ps-tool__count { top: -3px; inset-inline-start: auto; inset-inline-end: 26px; min-width: 18px; height: 18px; padding: 0 3px; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,.17); color: var(--ps-primary); font-size: 11px; font-weight: 400; line-height: 18px; }

/* categories menu: the green tab, its list under it with each category's little picture */
.ps-header .ps-cats { width: 270px; height: 55px; margin-inline: 0 10px; }
.ps-cats__opener { padding: 10px 15px; border-radius: 10px 10px 0 0; font-size: 15px; font-weight: 700; line-height: 15px; }
.ps-cats__burger { width: 20px; height: 20px; }
.ps-cats__arrow { width: 14px; height: 14px; }
.ps-cats__drop { border-radius: 0 0 10px 10px; box-shadow: 0 0 3px rgba(0,0,0,.15); }
.ps-cats__item { border-bottom: 1px solid rgba(0,0,0,.075); }
.ps-cats__item:last-child { border-bottom: 0; }
.ps-cats__link { justify-content: flex-start; min-height: 45px; padding: 5px 18px; color: #333; font-size: 14px; font-weight: 700; line-height: 1.4; transition: background-color .2s ease, color .2s ease; }
.ps-cats__item:last-child > .ps-cats__link { border-radius: 0 0 10px 10px; }
.ps-cats__item:hover > .ps-cats__link { background: rgba(0,0,0,.03); color: rgba(51,51,51,.6); }
.ps-cats__go { width: 10px; height: 10px; opacity: .5; }
.ps-cats__sub, .ps-cats__mega { top: 45px; width: auto; min-width: 220px; min-height: 0; padding: 12px 0; border-radius: 10px; box-shadow: 0 0 3px rgba(0,0,0,.15); }
.ps-cats__sub a, .ps-cats__mega a { display: block; padding: 8px 18px; color: #2b2b2b; font-size: 13.5px; }
.ps-cats__sub a:hover, .ps-cats__mega a:hover { color: #333; }

/* main menu: bold green-black items, no line under them */
.ps-header__row--bottom .ps-header__slot--start { flex: 1 1 auto; gap: 0; height: 100%; align-items: flex-end; }
.ps-header__row--bottom .ps-nav { height: 100%; padding-inline-start: 20px; }
.ps-header__row--bottom .ps-nav__list, .ps-header-clone .ps-nav__list { justify-content: flex-start; flex-wrap: nowrap; gap: 30px; height: 100%; }
.ps-header__row--bottom .ps-nav__item--depth-0, .ps-header-clone .ps-nav__item--depth-0 { display: flex; align-items: center; }
.ps-header__row--bottom .ps-nav__link, .ps-header-clone .ps-nav__link { min-height: 42px; padding: 5px 0; color: #333; font-size: 15px; font-weight: 700; line-height: 21px; }
.ps-header__row--bottom .ps-nav__link:hover, .ps-header-clone .ps-nav__link:hover,
.ps-header__row--bottom .ps-nav__item--current > .ps-nav__link, .ps-header-clone .ps-nav__item--current > .ps-nav__link { color: var(--ps-primary); }
.ps-header__row--bottom .ps-nav__link::after, .ps-header-clone .ps-nav__link::after { display: none; }

/* «راهنمای سایزبندی»: a small grey-blue pill */
.ps-header-btn--size { gap: 5px; min-height: 28px; height: 28px; padding: 5px 10px; border-radius: 10px; background: #e0eaf0; color: #333; font-size: 11px; font-weight: 700; line-height: 1.2; transition: background-color .2s ease; }
.ps-header-btn--size:hover { background: #d3dfe7; color: #333; }

/* the compact copy (scrolling back up) */
.ps-header-clone { box-shadow: 0 1px 1px #dad7d7; }
.ps-header-clone .ps-header__inner { gap: 30px; }

/* ================================================================ form fields: a border that reads clearly (the old
   rgba(0,0,0,.1) / #e9e9e9 was barely visible), darker on hover, green with a soft ring in focus */
:root { --tm-input: #c3cec8; --ps-input-border: var(--tm-input); }
:is(.woocommerce-checkout, .woocommerce-account, .ps-cart, .woocommerce-cart-form) :is(input.input-text, select, textarea),
.select2-container--default .select2-selection--single { border-color: var(--tm-input); }
:is(input.input-text, select, textarea):hover:not(:focus), .select2-container--default .select2-selection--single:hover { border-color: #93a69b; }
:is(.woocommerce-checkout, .woocommerce-account, .ps-cart, .woocommerce-cart-form, .ps-layout--builder) :is(input.input-text, select, textarea):focus { border-color: var(--ps-primary); box-shadow: 0 0 0 3px rgba(19,91,58,.12); }
:is(input.input-text, textarea)::placeholder { color: #8d948f; }
/* WooCommerce puts a no-break space before «تومان», which this font draws with no width */
.woocommerce-Price-currencySymbol { padding-inline-start: 3px; }

/* ================================================================ product cards */
.ps-product__inner { gap: 12px; padding: 15px; border: 0; border-radius: 10px; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,.12); }
.ps-product__thumb { padding: 0; border-radius: 10px; overflow: clip; }
.ps-product__img { border-radius: 10px; }
.ps-product__body { gap: 12px; padding: 0; }
.ps-product__title { display: block; margin: -3px 0; overflow: visible; color: #333; font-size: 15px; font-weight: 700; line-height: 21px; -webkit-line-clamp: unset; }
.ps-product__title a:hover { color: rgba(51,51,51,.65); }
/* the price right under the title (the owner's request); any spare height of a card goes under the price, the button stays at the bottom */
.ps-product__body > .ps-product__wc-button { margin-top: auto; }
.ps-product__price-row > .price { flex: none; }
.ps-product__price-row { flex-wrap: wrap; align-items: center; gap: 12px; padding-top: 0; }
.ps-product__body > .price { padding-top: 0; }
.ps-product .price { margin: 0 0 -3px; color: var(--ps-primary); font-size: 15px; font-weight: 700; line-height: 21px; }
.ps-product .price del { display: inline; margin: 0; color: #767676; font-size: 13.5px; font-weight: 400; line-height: 18.9px; }
.ps-product .price ins { color: var(--ps-primary); }
.ps-product .price del + ins::before { content: ""; display: block; }
.ps-product .woocommerce-Price-currencySymbol { padding-inline-start: 3px; color: #222; font-size: 13px; font-weight: 400; }
.ps-product .price del .woocommerce-Price-currencySymbol { color: inherit; }
.ps-product .price-prefix { color: var(--ps-primary); font-size: 13px; font-weight: 700; }
.ps-product__swatches { flex: 0 1 auto; justify-content: flex-start; gap: 5px 8px; }
.ps-product__swatch { color: #242424; font-size: 14px; font-weight: 700; line-height: 14px; }
.ps-product .ps-product__wc-button { display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: 100%; min-height: 42px; padding: 5px 20px; border: 0; border-radius: 10px; background: var(--ps-primary); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.2; transition: background-color .25s ease; }
.ps-product .ps-product__wc-button:hover { background: #3b5b50; color: #fff; }
/* the sale label: a red pill with a soft shadow on the picture's corner */
.ps-product__labels { top: 12px; inset-inline-start: auto; inset-inline-end: 12px; }
.ps-product .onsale { padding: 8px 14px; border-radius: 10px; background: linear-gradient(135deg, #ff4d4f, #d90429); box-shadow: 0 4px 12px rgba(0,0,0,.15); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }

/* carousels show exactly the items the widget asks for on each device (5 / 4 / 2 on the home page), no part-cards */
.ps-products.ps-carousel { --ps-per: var(--ps-cols, 5); }
.ps-products.ps-carousel .ps-carousel__item { flex-basis: calc(100% / var(--ps-per)); }
@media (max-width: 1024px) { .ps-products.ps-carousel { --ps-per: var(--ps-cols-t, 4); } }
@media (max-width: 767px) { .ps-products.ps-carousel { --ps-per: var(--ps-cols-m, 2); } }

/* phones: the old cards' sizes (10px padding, 38px button), the weights beside the price as long as they fit */
@media (max-width: 767px) {
	.ps-product__inner { padding: 10px; }
	.ps-product .ps-product__wc-button { min-height: 38px; padding-inline: 8px; }
}

/* the notice bar (SnappPay): 19px on computers, 17 on tablets, 14 on phones */
@media (max-width: 1024px) { .ps-notice { --ps-notice-fs: 17px; } }
@media (max-width: 767px) { .ps-notice { --ps-notice-fs: 15px; min-height: 70px; } .ps-notice .ps-notice__slide { font-size: 14px; } }

/* archive grids (Woodmart «buttons on hover»): the picture edge to edge in a thin frame; the white panel under it
   hides the button below the card's edge and slides up to show it on hover. Touch screens: the button always shows. */
.ps-products--grid .ps-product__inner { gap: 0; padding: 0; border: 1px solid rgba(0,0,0,.106); border-radius: 10px; overflow: clip; }
.ps-products--grid .ps-product__thumb, .ps-products--grid .ps-product__img { border-radius: 0; }
.ps-products--grid .ps-product__body { position: relative; z-index: 2; gap: 12px; margin-bottom: -48px; padding: 15px; background: #fff; transition: transform .3s ease; }
.ps-products--grid .ps-product__price-row, .ps-products--grid .ps-product__body > .price { padding-top: 0; }
.ps-products--grid .ps-product .ps-product__wc-button { height: 36px; min-height: 36px; }
@media (hover: hover) {
	.ps-products--grid .ps-product:is(:hover, :focus-within) .ps-product__body { transform: translateY(-48px); }
}
@media (hover: none) {
	.ps-products--grid .ps-product__body { margin-bottom: 0; }
}

/* archive toolbar: «نمایش ۱۲ / ۲۴», WooCommerce's own sorting field */
.woocommerce-ordering select.orderby { width: 310px; max-width: 100%; height: 42px; padding-inline: 15px 30px; border: 1px solid rgba(0,0,0,.1); border-radius: 5px; background-color: #fff; color: #777; font-size: 14px; }
.ps-page-heading { color: var(--ps-primary); font-size: 24px; font-weight: 700; }
.ps-pagination .page-numbers { min-width: 34px; height: 34px; border-radius: 7px; font-size: 14px; }
.ps-pagination .page-numbers.current { background: var(--ps-primary); color: #fff; font-weight: 700; }

/* ================================================================ product page */
.ps-single-price .price, .elementor-widget-wd_single_product_price .price { color: var(--ps-primary); font-size: 26px; font-weight: 700; line-height: 31px; }
:is(.ps-single-price, .elementor-widget-wd_single_product_price) .price del { display: block; color: #424242; font-size: 20px; font-weight: 400; line-height: 24px; }
:is(.ps-single-price, .elementor-widget-wd_single_product_price) .price ins { color: var(--ps-primary); }
:is(.ps-single-price, .elementor-widget-wd_single_product_price) .woocommerce-Price-currencySymbol { padding-inline-start: 3px; color: #222; font-size: 13px; font-weight: 700; }
:is(.ps-single-price, .elementor-widget-wd_single_product_price) .price del .woocommerce-Price-currencySymbol { font-weight: 400; }
.variations :is(th, td).label label, .variations .label label { color: #242424; font-size: 15px; font-weight: 700; }
.single_add_to_cart_button.button { min-height: 42px; padding: 5px 20px; border-radius: 10px; font-size: 16px; font-weight: 700; }
form.cart .quantity { height: 42px; }
form.cart .quantity .ps-qty-btn { width: 25px; min-height: 42px; padding: 0 5px; border: 1px solid rgba(0,0,0,.1); background: #fff; color: #777; font-size: 13px; }
form.cart .quantity input.qty { width: 30px; height: 42px; color: #555; font-size: 14px; }
.vi-wpvs-option-wrap { letter-spacing: 1px; }
.ps-gallery__labels { inset-inline-start: auto; inset-inline-end: 12px; }

/* ================================================================ blog cards (Woodmart «masonry»: date on the picture, the
   category over its bottom edge, title, «posted by» with share and comments, «read more») */
.ps-blog-card__date { top: 15px; inset-inline-start: 15px; min-width: 52px; padding: 7px 5px; border-radius: 5px; background: #fff; box-shadow: 0 0 9px rgba(0,0,0,.1); color: #333; text-align: center; }
.ps-blog-card__day { font-size: 20px; font-weight: 400; }
.ps-blog-card__month { font-size: 12px; font-weight: 600; }
.ps-blog-card--masonry .ps-blog-card__body { gap: 10px; padding: 0 15px 20px; }
.ps-blog-card--masonry .ps-blog-card__cat { position: relative; z-index: 1; margin-top: -11px; padding: 0 10px; border-radius: 5px; font-size: 12px; font-weight: 700; line-height: 22px; }
.ps-blog-card--masonry .ps-blog-card__body:not(:has(.ps-blog-card__cat)) { padding-top: 20px; }
.ps-blog-card--masonry .ps-blog-card__title { font-size: 18px; font-weight: 500; line-height: 1.4; }
.ps-blog-card__byline { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px; color: #bbb; font-size: 13px; }
.ps-blog-card__author { display: inline-flex; align-items: center; gap: 5px; }
.ps-blog-card__author img { width: 18px; height: 18px; border-radius: 50%; }
.ps-blog-card__share, .ps-blog-card__comments { position: relative; display: inline-flex; color: #777; }
.ps-blog-card__count { position: absolute; top: -6px; inset-inline-end: -7px; min-width: 14px; height: 14px; padding: 0 3px; border-radius: 50%; background: var(--ps-primary); color: #fff; font-size: 9px; line-height: 14px; text-align: center; }
.ps-blog-card__more { font-size: 13px; font-weight: 700; }
.ps-blog-card--mask :is(.ps-blog-card__cat, .ps-blog-card__byline) { display: none; }
.elementor-posts--skin-cards .elementor-post__text { margin-top: 18px; }

/* ================================================================ carousels on tablets and phones, cart */
/* tablets and phones: the arrows always shown, small, half out in the page's margin */
@media (max-width: 1024px) {
	.ps-carousel__arrow { width: 40px; height: 40px; margin-top: -20px; opacity: 1; }
	.ps-carousel__arrow .ps-icon { width: 16px; height: 16px; }
	.ps-carousel__arrow--prev { inset-inline-start: -12px; }
	.ps-carousel__arrow--next { inset-inline-end: -12px; }
}

/* ================================================================ cart (WooCommerce's table, the old theme's look) */
.woocommerce-cart-form .shop_table { width: 100%; margin: 0; border-collapse: collapse; }
.woocommerce-cart-form .shop_table th { padding: 15px 12px; border-bottom: 1px solid #e6e6e6; color: #333; font-size: 16px; font-weight: 600; text-align: start; text-transform: uppercase; }
.woocommerce-cart-form .shop_table td { padding: 15px 12px; border-bottom: 1px solid #e6e6e6; vertical-align: middle; }
.woocommerce-cart-form .product-remove { width: 30px; }
.woocommerce-cart-form a.remove { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; color: #333; font-size: 20px; line-height: 1; }
.woocommerce-cart-form a.remove:hover { color: #e01020; }
.woocommerce-cart-form .product-thumbnail { width: 95px; }
.woocommerce-cart-form .product-thumbnail img { width: 80px; height: auto; }
.woocommerce-cart-form .product-name a { color: #333; }
.woocommerce-cart-form .product-subtotal { color: var(--ps-primary); font-weight: 700; }
/* sale prices (Discount Rules' block): the old price struck through above the new one, no underline under the new */
:is(.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order-table) ins { text-decoration: none; }
.woocommerce-cart-form .awdr_cart_strikeout_line { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; font-size: 0; line-height: 1.5; white-space: nowrap; }
.woocommerce-cart-form .awdr_cart_strikeout_line del { color: #8a8a8a; font-size: 12.5px; }
.woocommerce-cart-form .awdr_cart_strikeout_line ins { color: #333; font-size: 14px; font-weight: 700; }
.woocommerce-cart-form .quantity { display: inline-flex; height: 42px; }
.woocommerce-cart-form .quantity .ps-qty-btn { width: 25px; height: 42px; padding: 0 5px; border: 1px solid rgba(0,0,0,.1); background: #fff; color: #111; font-size: 13px; font-weight: 700; }
.woocommerce-cart-form .quantity .ps-qty-btn--minus { border-radius: 0 5px 5px 0; }
.woocommerce-cart-form .quantity .ps-qty-btn--plus { border-radius: 5px 0 0 5px; }
.woocommerce-cart-form .quantity input.qty { width: 30px; height: 42px; padding: 0; border: 1px solid rgba(0,0,0,.1); border-inline: 0; border-radius: 0; text-align: center; }
.woocommerce-cart-form td.actions { padding-top: 30px; border-bottom: 0; }
.woocommerce-cart-form .coupon { display: flex; gap: 10px; }
.woocommerce-cart-form .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart-form .coupon input.input-text { width: 230px; height: 42px; border: 1px solid var(--tm-input); border-radius: 5px; }
.woocommerce-cart-form .coupon .button { min-height: 42px; padding: 5px 20px; border-radius: 10px; background: var(--ps-primary); color: #fff; }
.woocommerce-cart-form button[name="update_cart"] { display: none; }
.cart_totals .shop_table { width: 100%; margin: 0 0 20px; border-collapse: collapse; }
.cart_totals .shop_table :is(th, td) { padding: 15px 0; border-bottom: 1px solid #e6e6e6; font-size: 14px; vertical-align: middle; }
.cart_totals .shop_table th { vertical-align: top; width: 1%; padding-inline-end: 24px; color: #333; font-weight: 600; white-space: nowrap; }
.cart_totals .shop_table tr:last-child :is(th, td) { border-bottom: 0; }
.cart_totals .order-total .amount { color: var(--ps-primary); font-size: 20px; font-weight: 700; }
.cart_totals #shipping_method { margin: 0; padding: 0; list-style: none; }
.cart_totals #shipping_method li { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; line-height: 1.8; }
.cart_totals #shipping_method input { flex: none; margin-top: 6px; }
.cart_totals #shipping_method .amount { color: var(--ps-primary); font-weight: 700; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 42px; border-radius: 10px; font-size: 13px; font-weight: 600; }
@media (max-width: 767px) {
	.woocommerce-cart-form .shop_table thead { display: none; }
	.woocommerce-cart-form .shop_table tr.cart_item { display: grid; grid-template-columns: 30px 80px 1fr; gap: 6px 10px; padding: 12px 0; border-bottom: 1px solid #e6e6e6; }
	.woocommerce-cart-form .shop_table tr.cart_item td { padding: 0; border: 0; }
	.woocommerce-cart-form .shop_table tr.cart_item td.product-thumbnail { grid-row: span 4; }
	.woocommerce-cart-form .shop_table tr.cart_item td.product-remove { grid-row: span 4; }
	.woocommerce-cart-form .shop_table td[data-title]:not(.product-name)::before { content: attr(data-title) ": "; color: #777; font-size: 12px; }
	.woocommerce-cart-form .coupon { flex-wrap: wrap; }
	.woocommerce-cart-form .coupon input.input-text { flex: 1 1 auto; width: auto; }
}
.ps-cart-totals .cart_totals { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }

/* ================================================================ checkout (the shop's Elementor layout draws the cards) */
.ps-layout--builder :is(#customer_details > *, #order_review, .woocommerce-billing-fields-wrap) { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.ps-layout--builder .woocommerce-billing-fields > h3 { display: none; }
.ps-layout--builder .form-row label { color: #333; font-size: 14px; font-weight: 400; }
.ps-layout--builder :is(input.input-text, select, textarea) { height: 42px; border-color: var(--tm-input); border-radius: 5px; color: #333; }
.ps-layout--builder textarea { height: auto; }
.ps-layout--builder .select2-container--default .select2-selection--single { height: 42px; border-color: var(--tm-input); border-radius: 5px; }
.ps-layout--builder .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 40px; }
.ps-layout--builder .select2-container--default .select2-selection--single .select2-selection__arrow { height: 40px; }
/* «سفارش شما»: a header row lined up with the items; each item = picture, name, «تعداد» label under it, price at the end */
.woocommerce-checkout-review-order-table thead { display: block; }
.woocommerce-checkout-review-order-table thead tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 14px; border-bottom: 1px solid #e6e6e6; }
.woocommerce-checkout-review-order-table thead th { display: block; padding: 0 0 10px; border: 0; color: #777; font-size: 13px; font-weight: 600; }
.woocommerce-checkout-review-order-table thead th.product-total { text-align: end; }
.woocommerce-checkout-review-order-table tr { border-bottom-color: #ececec; }
.woocommerce-checkout-review-order-table td.product-name { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; column-gap: 12px; row-gap: 0; width: auto; color: #333; font-size: 0; }
/* (font-size 0 hides the no-break space WooCommerce prints between the name and the quantity) */
.woocommerce-checkout-review-order-table td.product-name .ps-review-item { display: contents; }
.woocommerce-checkout-review-order-table td.product-name .ps-review-item__img { grid-column: 1; grid-row: 1 / span 2; align-self: center; border-radius: 10px; }
.woocommerce-checkout-review-order-table td.product-name .ps-review-item > span:not(.ps-review-item__img) { grid-column: 2; align-self: end; color: #333; font-size: 13.5px; font-weight: 600; line-height: 1.7; }
.woocommerce-checkout-review-order-table td.product-name dl.variation { grid-column: 2; font-size: 12px; }
.woocommerce-checkout-review-order-table td.product-name > .product-quantity { grid-column: 2; justify-self: start; align-self: start; display: inline-block; margin: 6px 0 0; padding: 2px 10px; border-radius: 10px; background: #f2f4f3; color: #666; font-size: 12px; font-weight: 400; line-height: 1.7; }
.woocommerce-checkout-review-order-table td.product-total { color: #333; font-size: 14px; font-weight: 700; }
.woocommerce-checkout-review-order-table tfoot :is(th, td) { padding-block: 14px; }
@media (max-width: 767px) {
	/* phones: the name takes the full width, the price sits at the end of the «تعداد» line */
	.woocommerce-checkout-review-order-table tr.cart_item { position: relative; grid-template-columns: minmax(0, 1fr); }
	.woocommerce-checkout-review-order-table tr.cart_item td.product-total { position: absolute; bottom: 16px; inset-inline-end: 0; padding: 0; line-height: 1.7; }
	.woocommerce-checkout-review-order-table td.product-name > .product-quantity { margin-top: 8px; }
}
.woocommerce-checkout-review-order-table tfoot td { color: #333; font-weight: 400; }
.woocommerce-checkout-review-order-table tfoot th { color: #333; font-weight: 600; }
.woocommerce-checkout-review-order-table .cart-subtotal .amount, .woocommerce-checkout-review-order-table .order-total .amount { color: var(--ps-primary); font-weight: 700; }
.woocommerce-shipping-methods li { padding: 0; border: 0; background: none; }
.woocommerce-shipping-methods li:has(input:checked) { border: 0; background: none; }
.wc_payment_methods { gap: 0; }
.wc_payment_method { padding: 10px 0; border: 0; border-radius: 0; border-bottom: 1px solid #e6e6e6; background: none; }
.wc_payment_method:has(> input:checked) { border-color: #e6e6e6; background: none; }
.wc_payment_method > label { font-weight: 600; }
.wc_payment_method .payment_box { margin-top: 10px; padding: 10px 15px; border-radius: 5px; background: #f7f7f7; font-size: 13px; }
#place_order { width: 100%; min-height: 42px; border-radius: 10px; font-size: 13px; font-weight: 600; }
/* card-to-card (sonicctc): a «کپی» button at the end of each card / IBAN row (inc/site-rules.php), not the plugin's English one */
.ctc-copy-card { display: none !important; }
.ctc-radio-label-wrapper { flex-wrap: wrap; gap: 6px 8px; border-radius: 10px; }
.ctc-radio-label-wrapper .ctc-radio-text { flex: 1 1 150px; min-width: 0; line-height: 1.7; }
.tm-ctc-copy { flex: none; display: inline-flex; align-items: center; gap: 5px; margin-inline-start: auto; padding: 4px 12px; border: 1px solid var(--ps-primary); border-radius: 10px; background: #fff; color: var(--ps-primary); font-size: 12px; font-weight: 700; line-height: 1.6; cursor: pointer; transition: background-color .2s ease, color .2s ease; }
.tm-ctc-copy::before { content: ""; width: 13px; height: 13px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/%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='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/%3E%3C/svg%3E") center / contain no-repeat; }
.tm-ctc-copy:hover, .tm-ctc-copy.is-done { background: var(--ps-primary); color: #fff; }
.tm-ctc-copy.is-done::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E"); mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E"); }
/* the coupon line: plain text with its link, as before (no tinted notice box) */
/* the coupon line: a light green strip with a ticket icon, clear of the header; it opens a white card with the
   field and the button side by side */
.woocommerce-form-coupon-toggle { margin-top: 30px; }
.woocommerce-form-coupon-toggle .woocommerce-info { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 20px; padding: 14px 18px; border: 1px dashed #a9c6b4; border-radius: 10px; background: #f2f7f4; color: #1d2a22; font-size: 14px; font-weight: 700; line-height: 1.6; }
.woocommerce-form-coupon-toggle .woocommerce-info svg { display: none; }
.woocommerce-form-coupon-toggle .woocommerce-info::before { content: ""; position: static; flex: none; -webkit-mask: none; mask: none; width: 34px; height: 34px; margin: 0; border-radius: 50%; background: var(--ps-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9a2 2 0 0 0 0 6v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3a2 2 0 0 1 0-6V6a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='m9.5 14.5 5-5'/%3E%3Ccircle cx='9.75' cy='9.75' r='.6' fill='%23fff'/%3E%3Ccircle cx='14.25' cy='14.25' r='.6' fill='%23fff'/%3E%3C/svg%3E") center / 18px no-repeat; }
.woocommerce-form-coupon-toggle .showcoupon { color: var(--ps-primary); font-weight: 700; text-decoration: underline dotted; text-underline-offset: 6px; }
.woocommerce-form-coupon-toggle .showcoupon:hover { color: #0d4029; text-decoration-style: solid; }
form.checkout_coupon.woocommerce-form-coupon { gap: 10px; margin: -10px 0 24px; padding: 16px 18px; border: 1px solid #e3ece6; border-radius: 10px; background: #fff; box-shadow: 0 6px 18px rgba(19,91,58,.06); }
form.checkout_coupon .form-row-first { flex: 0 1 360px; }
form.checkout_coupon .clear { display: none; }
form.checkout_coupon input.input-text { height: 44px; border-color: var(--tm-input); border-radius: 10px; }
form.checkout_coupon .button { min-height: 44px; padding: 5px 24px; border-radius: 10px; background: var(--ps-primary); color: #fff; font-size: 14px; font-weight: 700; }
form.checkout_coupon .button:hover { background: #0d4029; color: #fff; }
@media (max-width: 767px) {
	.woocommerce-form-coupon-toggle { margin-top: 20px; }
	.woocommerce-form-coupon-toggle .woocommerce-info { padding: 12px 14px; font-size: 13px; }
	.woocommerce-form-coupon-toggle .showcoupon { flex-basis: 100%; margin-top: -10px; padding-inline-start: 44px; }
	form.checkout_coupon .form-row-first { flex: 1 1 0; min-width: 0; }
	form.checkout_coupon .button { padding-inline: 16px; }
}

/* ================================================================ content classes of the shop's own (old child theme's style.css) */
/* home page categories: each picture in a tinted rounded well, a little zoom on hover */
.main-cate .elementor-widget-image { position: relative; width: 150px; height: 150px; padding: 15px 4px 10px; border-radius: 10px; box-shadow: inset 0 0 20px 20px #2c593d47; }
.main-cate .elementor-widget-image img { transform: scale(1); transition: transform .5s ease-in; }
.main-cate .elementor-widget-image:hover img { transform: scale(1.05); }
.main-cate .wd-text-block, .main-cate .ps-text-block { color: #123; font-size: 14px; font-weight: 700; }
.main-cate a { color: var(--ps-primary); text-decoration: none; transition: color .2s ease; }
.main-cate a:hover { color: #1a1a1a; }
/* section titles with a short green line under them that widens on hover */
.title-line .ps-title__main::after { content: ""; display: block; width: 80px; margin: 10px auto 0; border-bottom: 2px solid #2c593d; transition: width .5s ease; }
.title-line:hover .ps-title__main::after { width: 120px; }
/* the categories' second-level lists in the mega menus: each link steps aside on hover */
.html-2level-menu li { position: relative; inset-inline-start: 0; color: #333; transition: inset-inline-start .2s, color .2s; }
.html-2level-menu li:hover { inset-inline-start: 5px; color: #2c593d; }
/* a category's description under its products */
.cate-desc .term-description { padding: 40px; border: 2px solid #2c593d47; border-radius: 10px; background: #fafafa; text-align: right; }
.adv-talamode .wd-list li { align-items: start; }
.adv-talamode .wd-list li .list-icon { position: relative; top: 2px; }
.varation-table { padding: 25px; border-radius: 10px; background: #f8f8f8; }
.woocommerce-product-details__short-description { margin-block: 10px; font-size: 17px; }
.woocommerce-variation-price .price { font-size: 166%; }
.woocommerce-variation-availability { display: none; }
#billing_country_field { display: none; }
.ps-breadcrumbs :is(a, span) { font-size: 13px; }
@media (max-width: 768px) {
	.center-mobile, .center-mobile div, .center-mobile p { margin-inline: auto; text-align: center !important; }
}

/* ================================================================ the trust bar (theme settings' custom CSS) */
.trust-bar { --tb-color: #1c5b3a; --tb-bg: #eff2ee; --tb-line: #89a789; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; margin-inline: auto; padding: 16px 8px; border-radius: 10px; background: var(--tb-bg); box-shadow: 0 2px 12px rgba(0,0,0,.05); }
.trust-bar__item { position: relative; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 6px 14px; color: var(--tb-color); font-size: 15px; font-weight: 600; line-height: 1.7; text-align: center; text-decoration: none; }
.trust-bar__item::before { content: ""; position: absolute; inset-inline-start: 0; top: 50%; width: 1px; height: 26px; background: var(--tb-line); transform: translateY(-50%); }
.trust-bar__item:nth-child(4n+1)::before { content: none; }
.trust-bar__icon { flex: none; width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 991px) {
	.trust-bar { padding: 14px 4px; }
	.trust-bar__item { gap: 8px; padding: 6px 8px; font-size: 13.5px; }
	.trust-bar__icon { width: 23px; height: 23px; }
}
@media (max-width: 767px) {
	.trust-bar { grid-template-columns: repeat(2, 1fr); row-gap: 4px; padding: 8px 4px; border-radius: 10px; }
	.trust-bar__item { min-height: 54px; padding: 12px 8px; font-size: 13px; }
	.trust-bar__item:nth-child(4n+1)::before { content: ""; }
	.trust-bar__item:nth-child(2n+1)::before { content: none; }
	.trust-bar__item::before { height: 30px; }
	.trust-bar__item:nth-child(-n+2)::after { content: ""; position: absolute; bottom: 0; inset-inline: 8px; height: 1px; background: var(--tb-line); }
}
@media (max-width: 400px) {
	.trust-bar__item { gap: 6px; padding: 10px 6px; font-size: 12px; }
	.trust-bar__icon { width: 20px; height: 20px; }
}
.ps-toc__head { justify-content: flex-start; }
/* cart: the old page's 40px above the table; the totals box has its own heading («جزئیات حساب») */
.woocommerce-cart .ps-main > .ps-layout, .woocommerce-cart .ps-main > .elementor { padding-top: 40px; }
.cart_totals > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cart_totals .shipping-calculator-button { color: var(--ps-primary); font-weight: 700; }

/* ================================================================ phone menu: category pictures, «<» arrows that turn down when open */
.ps-mobile-nav__img { flex: none; width: 18px; height: 18px; margin-inline-end: 8px; vertical-align: -3px; object-fit: contain; }
.ps-mobile-nav__toggle::before { transform: rotate(45deg); }
.is-open > .ps-mobile-nav__toggle::before { transform: rotate(-45deg); }
.ps-menu-tabs__tab { font-size: 14px; font-weight: 700; }
.ps-drawer--menu .search-field, .ps-drawer--menu input[type="search"] { font-size: 15px; font-weight: 600; }
/* the footer's accordion (phones): rounded bars, as before */
.ps-accordion--shadow > .ps-accordion__item { overflow: hidden; border-radius: 10px; }

/* ================================================================ about / contact (migration 002): Talamod's own page blocks
   Sections built with the theme's page blocks carry tm-sec: a deep green opening band with soft gold light, white
   rounded cards, gold accents for icons -- calm and trustworthy, in the shop's own colours. */
.tm-sec { --tm-r: 10px; --tm-ink: #1d2a22; --tm-line: #e3ece6; --tm-gold: #c9a24a; --tm-gold-soft: #f6efdc; --tm-shadow: 0 14px 36px rgba(19, 91, 58, .1); }
.tm-sec :is(.ps-split__title, .ps-feat__title, .ps-cf__title, .ps-cta__title) { color: var(--tm-ink); }
.tm-sec .ps-split__title { font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; line-height: 1.35; }
.tm-sec :is(.ps-split__intro, .ps-feat__intro) { color: #4b5750; line-height: 2; }
.tm-sec .ps-eyebrow { gap: 9px; margin-bottom: 12px; padding: 0; border-radius: 0; background: none; color: #85661c; font-size: 14px; font-weight: 700; }
.tm-sec .ps-eyebrow::before { content: ""; flex: none; width: 22px; height: 2px; border-radius: 2px; background: currentColor; }
.tm-sec .ps-eyebrow::after { content: none !important; }
.tm-sec .ps-actions .ps-button { min-height: 50px; padding-inline: 26px; border-radius: 10px; font-weight: 700; }
.tm-sec .ps-actions .ps-button--primary { border: 0; background: var(--ps-primary); box-shadow: 0 8px 20px rgba(19,91,58,.22); }
.tm-sec .ps-actions .ps-button--primary:hover { background: var(--ps-primary-dark); }
.tm-sec .ps-actions .ps-button--outline { border-color: var(--ps-primary); background: #fff; color: var(--ps-primary); }
.tm-sec .ps-actions .ps-button--outline:hover { background: var(--ps-primary); color: #fff; }
.tm-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) ul { display: grid; gap: 4px; margin: 10px 0 0; padding: 0; list-style: none; }
.tm-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) li { position: relative; margin: 0; padding-inline-start: 22px; line-height: 1.9; text-align: start; }
.tm-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) li::before { content: ""; position: absolute; inset-inline-start: 2px; top: .7em; width: 9px; height: 9px; border-radius: 2px; background: var(--tm-gold); transform: rotate(45deg); }
.tm-sec .ps-feat__text p { margin: 0 0 10px; }
.tm-sec .ps-feat__text > :last-child { margin-bottom: 0; }
.tm-sec a:not(.ps-button):not(.ps-feat__item) { color: var(--ps-primary); }

/* the opening band: light green with a soft gold glow; the picture in a gold frame */
.elementor-section.tm-hero { overflow: hidden; background: radial-gradient(120% 90% at 0% 0%, #fbf6e9 0%, rgba(251,246,233,0) 55%), linear-gradient(180deg, #eef5f0 0%, #f7faf8 100%); }
.tm-hero .ps-split__img img { border-radius: 10px; box-shadow: var(--tm-shadow); }
.tm-sec .ps-split--frame .ps-split__img:first-child::before { inset: -14px -14px 14px 14px; border: 2px solid var(--tm-gold); border-radius: 10px; background: none; }
.tm-sec .ps-split--media-start.ps-split--frame .ps-split__img:first-child::before { inset: -14px 14px 14px -14px; }
.tm-sec .ps-split__img img { border-radius: 10px; box-shadow: var(--tm-shadow); }
.tm-hero--center .ps-split { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; text-align: center; }
.tm-hero--center :is(.ps-split__intro, .ps-split__crumbs) { text-align: center; }
.tm-hero--center :is(.ps-actions, .ps-split__crumbs, .ps-breadcrumbs), .tm-hero--center .ps-eyebrow { justify-content: center; }
.elementor-section.tm-tint { background: #f5f9f6; }

/* the facts / ways under the opening band: white cards lifted onto its edge */
.elementor-section.tm-facts { position: relative; z-index: 2; margin-top: -56px; }
.tm-sec .ps-feat--contact .ps-feat__item { border: 1px solid var(--tm-line); border-radius: 10px; background: #fff; box-shadow: var(--tm-shadow); }
.tm-sec .ps-feat--contact .ps-feat__icon { border-radius: 10px; background: var(--tm-gold-soft); color: #8a6a1f; }
.tm-sec .ps-feat--contact .ps-feat__text { color: var(--tm-ink); font-size: 15px; }
.tm-sec .ps-feat--contact .ps-feat__item--link { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tm-sec .ps-feat--contact .ps-feat__item--link:hover { border-color: var(--ps-primary); transform: translateY(-3px); }
.tm-sec .ps-feat--contact .ps-feat__item--link:hover .ps-feat__icon { background: var(--ps-primary); color: #fff; }

/* cards: services, moments */
.tm-sec .ps-feat--cards .ps-feat__item { padding: 30px 26px; border: 1px solid var(--tm-line); border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(19, 91, 58, .05); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tm-sec .ps-feat--cards .ps-feat__item:hover { border-color: #cfe1d6; box-shadow: var(--tm-shadow); transform: translateY(-4px); }
.tm-sec .ps-feat--cards .ps-feat__icon { width: 58px; height: 58px; border: 0; border-radius: 10px; background: var(--ps-primary); color: #f3dc9b; box-shadow: none; }
.tm-sec .ps-feat--cards.ps-align-right .ps-feat__item { align-items: flex-start; text-align: right; }
.tm-sec .ps-feat--cards .ps-feat__grid .ps-feat__title { font-size: 17px; }

/* category tiles */
.tm-sec .ps-feat--tiles .ps-feat__item { padding: 18px 10px 16px; border: 1px solid var(--tm-line); border-radius: 10px; background: #fff; transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.tm-sec .ps-feat--tiles .ps-feat__item--link:hover { border-color: #cfe1d6; box-shadow: var(--tm-shadow); transform: translateY(-4px); }
.tm-sec .ps-feat__img { width: 100%; margin-inline: auto; border-radius: 10px; background: radial-gradient(closest-side, #fff 30%, #e4eee8 100%); }
.tm-sec .ps-feat__img img { object-fit: contain; padding: 10%; }
.tm-sec .ps-feat--tiles .ps-feat__title { font-size: 14px; }

/* licences: the picture opens in full size */
.tm-license .ps-split__img img, .tm-sec .ps-split__img--zoom img { background: #fff; }

/* contact form and the shop's card: white rounded panels */
.tm-sec .ps-cf, .tm-sec .ps-feat--boxed { padding: clamp(24px, 3vw, 40px); border: 1px solid var(--tm-line); border-radius: 10px; background: #fff; box-shadow: var(--tm-shadow); }
.tm-sec .ps-cf :is(input, select, textarea) { border-radius: 10px; background: #fafcfb; }
.tm-sec .ps-cf :is(input, select, textarea):focus { border-color: var(--ps-primary); background: #fff; box-shadow: 0 0 0 4px rgba(19, 91, 58, .1); }
.tm-sec .ps-cf__foot .ps-button { min-height: 50px; border-radius: 10px; background: var(--ps-primary); }
.tm-sec .ps-feat--list .ps-feat__icon { border: 0; border-radius: 10px; background: var(--tm-gold-soft); color: #8a6a1f; }

/* questions */
.tm-faq .ps-accordion__item { border-radius: 10px; }
.tm-faq .ps-accordion__title { color: var(--tm-ink); font-weight: 700; }

/* the closing band: deep green with a gold line */
.tm-vision .ps-cta--primary { position: relative; overflow: hidden; border-radius: 10px; background: radial-gradient(90% 120% at 100% 0%, rgba(201,162,74,.28) 0%, rgba(201,162,74,0) 60%), linear-gradient(135deg, #135b3a 0%, #0c3f28 100%); box-shadow: 0 20px 40px rgba(12,63,40,.25); }
.tm-vision .ps-cta--primary .ps-eyebrow { color: #f3dc9b; }
.tm-vision .ps-cta--primary :is(.ps-cta__title, .ps-cta__intro, .ps-cta__intro p) { color: #fff; }

@media (max-width: 767px) {
	.elementor-section.tm-facts { margin-top: -40px; }
	.tm-sec .ps-feat--cards .ps-feat__item { padding: 24px 20px; }
	.tm-hero .ps-split__media { display: none; }
}
@media (prefers-reduced-motion: reduce) { .tm-sec * { transition: none !important; transform: none !important; } }
/* a page that opens with its own band: the band starts right under the header */
.ps-main > .ps-layout--page:has(> .elementor > .tm-hero:first-child) { padding-top: 0; }
@media (min-width: 1025px) { .tm-sec .ps-feat--tiles .ps-feat__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); } }

/* readable small text (4.5:1): breadcrumbs, the struck-out old prices, links inside the page blocks' text */
.ps-breadcrumbs, .ps-breadcrumbs a, .rank-math-breadcrumb, .rank-math-breadcrumb a { color: #5c5c5c; }
.price del, .price del .amount { color: #767676; }
.tm-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) a { font-weight: 700; }
/* the archives' subcategory icons (thumbnail size, a % width inside their link): the link keeps the picture's own
   150px before it loads, so the % has something to measure against and nothing below them jumps (CLS) */
.elementor-widget-image > a:has(> img.size-thumbnail[width="150"]) { width: 150px; max-width: 100%; }


/* ================================================================ home page (migration 005) */
/* one look for every section title: H2, the same size, a short green-to-gold line under it */
.tm-title .ps-title__main { color: #1d2a22; font-size: 26px; font-weight: 700; line-height: 1.5; }
.tm-title .ps-title__main::after { content: ""; display: block; width: 56px; height: 3px; margin: 12px auto 0; border-radius: 3px; background: linear-gradient(90deg, #c9a24a, var(--ps-primary)); transition: width .4s ease; }
.tm-title:hover .ps-title__main::after { width: 84px; }
.tm-title--light .ps-title__main { color: #fff; }
.tm-title--light .ps-title__main::after { background: linear-gradient(90deg, #f3dc9b, #fff); }
.elementor-widget-wd_title.tm-title { margin-bottom: 28px; }
@media (max-width: 1024px) { .tm-title .ps-title__main { font-size: 22px; } }
@media (max-width: 767px) { .tm-title .ps-title__main { font-size: 19px; } .elementor-widget-wd_title.tm-title { margin-bottom: 20px; } }

/* the same room between every section: 72px (56 on tablets, 44 on phones); a title's section runs into its content */
.elementor-section.tm-hs { padding-block: 36px; }
.elementor-section.tm-hs--head { padding-bottom: 0; }
.elementor-section.tm-hs--body { padding-top: 0; }
.elementor-section.tm-hs--band { margin-block: 36px; padding-block: 44px; }
.ps-entry > .elementor > .elementor-section.tm-hs:last-child, .elementor > .elementor-section.tm-hs:last-child { padding-bottom: 72px; }
@media (max-width: 1024px) { .elementor-section.tm-hs { padding-block: 28px; } .elementor-section.tm-hs--band { margin-block: 28px; padding-block: 36px; } }
@media (max-width: 767px) { .elementor-section.tm-hs { padding-block: 22px; } .elementor-section.tm-hs--band { margin-block: 22px; padding-block: 28px; } }
.elementor-section.tm-hs--head, .elementor-section.tm-hs--head { padding-bottom: 0; }
.elementor-section.tm-hs--body { padding-top: 0; }

/* the slides: dark green words on the light photographs, on the empty side of each, with a green button */
.tm-slides .ps-slides__content { gap: 14px; padding-block: 40px; }
.tm-slides .ps-slides__content--h-left, .tm-slides .ps-slides__content--h-right { align-items: flex-start; text-align: right; }
.tm-slides .ps-slides__content--h-left { padding-inline: max(40px, calc(100% - 640px)) 9%; }
.tm-slides .ps-slides__content--h-right { padding-inline: 9% max(40px, calc(100% - 640px)); }
.tm-slides .ps-slides__heading { margin: 0; color: #0e3b27; font-size: clamp(27px, 2.8vw, 40px); font-weight: 700; line-height: 1.35; }
.tm-slides .ps-slides__heading::after { content: ""; display: block; width: 64px; height: 3px; margin-top: 14px; border-radius: 3px; background: #c9a24a; }
.tm-slides .ps-slides__text { margin: 0; color: #34433a; font-size: clamp(15px, 1.35vw, 20px); font-weight: 500; line-height: 1.8; }
.tm-slides .ps-slides__button { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; padding: 12px 26px; border: 0; border-radius: 10px; background: var(--ps-primary); box-shadow: 0 10px 22px rgba(19,91,58,.25); color: #fff; font-size: 15px; font-weight: 700; transition: background-color .25s ease, transform .25s ease; }
.tm-slides .ps-slides__button::after { content: "←"; font-weight: 400; }
.tm-slides .ps-slides__inner:hover .ps-slides__button { background: var(--ps-primary-dark); transform: translateY(-2px); }
@media (max-width: 767px) {
	.tm-slides .ps-slides__content, .tm-slides .ps-slides__content--h-left, .tm-slides .ps-slides__content--h-right { justify-content: flex-end; gap: 6px; padding: 16px; }
	.tm-slides .ps-slides__content > * { max-width: 78%; }
	.tm-slides .ps-slides__heading { font-size: 20px; }
	.tm-slides .ps-slides__heading::after { width: 40px; margin-top: 6px; }
	.tm-slides .ps-slides__text { font-size: 13px; line-height: 1.7; }
	.tm-slides .ps-slides__button { margin-top: 4px; padding: 8px 16px; font-size: 12.5px; }
	.tm-slides .ps-slides__content::before { content: ""; position: absolute; inset: auto 0 0; height: 75%; background: linear-gradient(to top, rgba(255,255,255,.88), rgba(255,255,255,0)); pointer-events: none; }
	.tm-slides .ps-slides__content > * { position: relative; }
}
@media (prefers-reduced-motion: reduce) { .tm-slides .ps-slides__button { transition: none; } }


/* «مقالات طلامد»: white cards -- the picture with its date, title, two lines of the article, «read more» */
.tm-mag .ps-carousel__item { padding-block: 14px; }
.tm-mag .ps-blog-card { overflow: hidden; border: 1px solid #e7eee9; border-radius: 10px; background: #fff; box-shadow: 0 3px 6px -2px rgba(14,59,39,.08); text-align: right; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
/* (the carousel clips whatever leaves its row: this shadow stays inside the 10px around each card and the 14px under it) */
.tm-mag .ps-blog-card:hover { border-color: #cfdfd6; box-shadow: 0 10px 12px -6px rgba(14,59,39,.22); transform: translateY(-4px); }
.tm-mag .ps-blog-card__media { margin: 10px 10px 0; border-radius: 10px; }
.tm-mag .ps-blog-card__media img { aspect-ratio: 16 / 11; object-fit: cover; transition: transform .6s ease; }
.tm-mag .ps-blog-card:hover .ps-blog-card__media img { transform: scale(1.05); }
.tm-mag .ps-blog-card__date { top: 12px; inset-inline-start: 12px; display: flex; align-items: baseline; gap: 4px; min-width: 0; padding: 5px 10px; border-radius: 10px; background: rgba(255,255,255,.94); box-shadow: 0 4px 12px rgba(0,0,0,.12); color: var(--ps-primary); }
.tm-mag .ps-blog-card__day { font-size: 14px; font-weight: 700; }
.tm-mag .ps-blog-card__month { font-size: 12px; font-weight: 600; }
.tm-mag .ps-blog-card__body { align-items: stretch; gap: 8px; padding: 16px 18px 18px; }
.tm-mag .ps-blog-card__title { display: -webkit-box; overflow: hidden; color: #1d2a22; font-size: 16px; font-weight: 700; line-height: 1.7; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tm-mag .ps-blog-card__title a { color: inherit; }
.tm-mag .ps-blog-card__title a:hover { color: var(--ps-primary); }
.tm-mag .ps-blog-card__excerpt { display: -webkit-box; overflow: hidden; color: #5d6a62; font-size: 13.5px; line-height: 1.9; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tm-mag .ps-blog-card__more { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--ps-primary); font-size: 13px; font-weight: 700; }
.tm-mag .ps-blog-card__more::after { content: "←"; transition: transform .25s ease; }
.tm-mag .ps-blog-card:hover .ps-blog-card__more::after { transform: translateX(-4px); }

/* home: category names green, no underline, near-black on hover */
.elementor-section.main-cate .elementor-widget-wd_text_block :is(p, li) a, .elementor-section.main-cate .elementor-widget-wd_text_block a { color: var(--ps-primary); text-decoration: none; }
.elementor-section.main-cate .elementor-widget-wd_text_block :is(p, li) a:hover, .elementor-section.main-cate .elementor-widget-wd_text_block a:hover { color: #1a1a1a; }
/* the top bar: the gold prices on the right, the phone and «مشاوره» on the left */
.ps-header__row--top .ps-header__slot--start { flex: 1 1 auto; }
/* the slides: a warm ivory (the photographs' own tone) under them while they load, not Elementor's purple */
.tm-slides .ps-slides__slide { background: #efe9e3; }

/* ================================================================ about / contact, Talamod's own character (2026-11-08)
   A jeweller's boutique, not a clinic: a deep emerald opening with a fine gold line pattern, arched picture frames like
   a showcase, big gold numerals, a dark gallery wall for the licences, numbered services, a quote to close. */
/* the dark opening band */
.elementor-section.tm-hero--dark { position: relative; background: radial-gradient(70% 90% at 85% 10%, rgba(201,162,74,.22) 0%, rgba(201,162,74,0) 60%), linear-gradient(135deg, #0b3a25 0%, #135b3a 60%, #0f4a2f 100%); }
.elementor-section.tm-hero--dark::before { content: ""; position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, rgba(243,220,155,.06) 0 1px, transparent 1px 26px); pointer-events: none; }
.tm-hero--dark :is(.ps-split__title, .ps-split__intro, .ps-split__intro p, .ps-breadcrumbs, .ps-breadcrumbs a, .rank-math-breadcrumb, .rank-math-breadcrumb a) { color: #fff; }
.tm-hero--dark .ps-split__intro, .tm-hero--dark .ps-split__intro p { color: rgba(255,255,255,.86); }
.tm-hero--dark .ps-split__intro a, .tm-hero--dark .ps-split__intro strong { color: #f3dc9b; }
.tm-hero--dark .ps-eyebrow { color: #f3dc9b; }
.tm-hero--dark .ps-split__title { font-size: clamp(32px, 4vw, 52px); }
.tm-hero--dark .ps-actions .ps-button--primary { background: #f3dc9b; box-shadow: 0 10px 24px rgba(0,0,0,.2); color: #0b3a25; }
.tm-hero--dark .ps-actions .ps-button--primary:hover { background: #fff; color: #0b3a25; }
.tm-hero--dark .ps-actions .ps-button--outline { border-color: rgba(255,255,255,.6); background: transparent; color: #fff; }
.tm-hero--dark .ps-actions .ps-button--outline:hover { border-color: #fff; background: #fff; color: #0b3a25; }
/* arched frames: the picture rounded at the top like a showcase window, a thin gold outline set off behind it */
:is(.tm-hero--dark, .tm-arch) .ps-split__img img { border-radius: 10px; aspect-ratio: 4 / 5; object-fit: cover; }
:is(.tm-hero--dark, .tm-arch) .ps-split--frame .ps-split__img:first-child::before { inset: -12px 12px 12px -12px; border: 1.5px solid #c9a24a; border-radius: 10px; }
.tm-arch .ps-split--media-start.ps-split--frame .ps-split__img:first-child::before { inset: -12px -12px 12px 12px; }
.tm-arch .ps-split__img img { aspect-ratio: 1; object-fit: cover; }

/* big gold numerals on a white strip lifted onto the dark band */
.tm-stats .ps-feat__grid { gap: 0; overflow: hidden; border-radius: 10px; background: #fff; box-shadow: 0 20px 44px rgba(11,58,37,.16); }
.tm-sec.tm-stats .ps-feat--contact .ps-feat__item { flex-direction: column; align-items: center; gap: 2px; padding: 26px 16px; border: 0; border-radius: 0; box-shadow: none; text-align: center; }
.tm-stats .ps-feat__grid > li + li .ps-feat__item, .tm-stats .ps-feat__grid > .ps-feat__item + .ps-feat__item { border-inline-start: 1px solid #ece4cf; }
.tm-stats .ps-feat__body { align-items: center; }
.tm-stats .ps-feat__title { margin: 0; background: linear-gradient(180deg, #d9b45c, #a8852f); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 44px; font-weight: 700; line-height: 1.15; }
.tm-sec.tm-stats .ps-feat--contact .ps-feat__text { color: #4b5750; font-size: 13.5px; font-weight: 600; }

/* categories: round pictures on ivory */
.elementor-section.tm-cats { background: #fbf8f1; }
.tm-cats .ps-feat--tiles .ps-feat__item { border: 0; background: none; }
.tm-cats .ps-feat__img { width: 82%; aspect-ratio: 1; border-radius: 10px; background: radial-gradient(closest-side, #fff 40%, #f1e7cf 100%); box-shadow: 0 0 0 6px #fff, 0 0 0 7px #ece0c2; transition: box-shadow .3s ease; }
.tm-cats .ps-feat__item--link:hover .ps-feat__img { box-shadow: 0 0 0 6px #fff, 0 0 0 8px #c9a24a; }
.tm-cats .ps-feat__item--link:hover { box-shadow: none; transform: none; }

/* occasions and best sellers: two panels with a gold top edge, one tinted */
.tm-bento .ps-feat--cards .ps-feat__item { border-top: 4px solid #c9a24a; }
.tm-bento .ps-feat__grid > :nth-child(2) .ps-feat__item, .tm-bento .ps-feat__grid > .ps-feat__item:nth-child(2) { background: #f5f9f6; }

/* services: numbered, no icon boxes */
.tm-steps .ps-feat__grid { counter-reset: tm-step; }
.tm-steps .ps-feat__item { position: relative; counter-increment: tm-step; }
.tm-steps .ps-feat__icon { display: none; }
.tm-steps .ps-feat__item::before { content: "۰" counter(tm-step, persian); display: block; margin-bottom: 6px; color: #e3d3a6; font-size: 46px; font-weight: 700; line-height: 1; }

/* licences: a dark gallery wall, each certificate on a white mat in a gold frame */
.elementor-section.tm-dark { background: #0e2f20; }
.tm-dark :is(.ps-split__title, .ps-split__intro, .ps-split__intro p, .ps-split__caption, figcaption) { color: #fff; }
.tm-dark .ps-split__intro, .tm-dark .ps-split__intro p { color: rgba(255,255,255,.82); }
.tm-dark .ps-split__intro a { color: #f3dc9b; }
.tm-dark .ps-eyebrow { color: #f3dc9b; }
.tm-dark figcaption, .tm-dark .ps-split__caption { color: rgba(255,255,255,.62); }
.tm-dark .ps-split__img img { padding: 14px; border: 1px solid #c9a24a; border-radius: 10px; background: #fff; box-shadow: 0 24px 48px rgba(0,0,0,.35); }
.tm-dark .ps-split--frame .ps-split__img:first-child::before { display: none; }
.elementor-section.tm-license--2 { border-top: 1px solid rgba(243,220,155,.14); }

/* values: four large lines, gold outline icons */
.tm-values .ps-feat--contact .ps-feat__item { border-color: #ece4cf; box-shadow: none; background: #fffdf8; }
.tm-values .ps-feat--contact .ps-feat__icon { border: 1.5px solid #c9a24a; background: none; color: #a8852f; }

/* the closing quote: ivory with a gold rule and a large quotation mark */
.tm-quote .ps-cta--primary { background: #fbf8f1; box-shadow: none; border: 1px solid #ece0c2; }
.tm-quote .ps-cta--primary::before { content: "«"; position: absolute; top: -18px; inset-inline-start: 28px; color: #e3d3a6; font-size: 140px; font-weight: 700; line-height: 1; pointer-events: none; }
.tm-quote .ps-cta--primary :is(.ps-cta__title, .ps-cta__intro, .ps-cta__intro p) { color: #1d2a22; }
.tm-quote .ps-cta--primary .ps-eyebrow { color: #85661c; }
.tm-quote .ps-cta--primary .ps-button--white { background: var(--ps-primary); color: #fff; }
.tm-quote .ps-cta--primary .ps-button--scheme-light { border-color: var(--ps-primary); color: var(--ps-primary); }

/* contact: the ways as glass cards on the dark band's edge; the shop's details as a dark green panel */
.tm-ways .ps-feat--contact .ps-feat__item { border-color: #ece4cf; }
.tm-ways .ps-feat--contact .ps-feat__icon { background: #0e3b27; color: #f3dc9b; }
.tm-place .ps-feat--boxed { border: 0; background: radial-gradient(80% 60% at 100% 0%, rgba(201,162,74,.25), rgba(201,162,74,0) 60%), #0e3b27; color: #fff; }
.tm-place .ps-feat--boxed :is(.ps-feat__title, .ps-feat__head .ps-feat__title, .ps-feat__text) { color: #fff; }
.tm-place .ps-feat--boxed .ps-feat__text { color: rgba(255,255,255,.82); }
.tm-place .ps-feat--boxed .ps-eyebrow { color: #f3dc9b; }
.tm-place .ps-feat--boxed .ps-feat__icon { background: rgba(243,220,155,.14); color: #f3dc9b; }
.tm-place .ps-feat--boxed .ps-feat__more { color: #f3dc9b; }
.tm-place .ps-feat--boxed .ps-feat__item { border-color: rgba(255,255,255,.12); }
@media (max-width: 767px) {
	.tm-stats .ps-feat__grid > li:nth-child(odd) .ps-feat__item { border-inline-start: 0; }
	.tm-stats .ps-feat__title { font-size: 34px; }
	.tm-quote .ps-cta--primary::before { font-size: 96px; }
}
/* every heading of the page blocks at 700 (IRANYekan's heavier weights look clumsy) */
.tm-sec :is(h1, h2, h3, .ps-split__title, .ps-feat__title, .ps-cta__title, .ps-cf__title, .ps-accordion__title) { font-weight: 700; }
/* (the stats' numerals over the contact style's small grey label) */
.tm-sec.tm-stats .ps-feat--contact .ps-feat__grid .ps-feat__title { order: 0; margin: 0; background: linear-gradient(180deg, #d9b45c, #a8852f); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 44px; font-weight: 700; line-height: 1.2; }
@media (max-width: 767px) { .tm-sec.tm-stats .ps-feat--contact .ps-feat__grid .ps-feat__title { font-size: 34px; } }
/* links on the dark bands in gold (they were the page's green: unreadable there) */
.tm-sec:is(.tm-hero--dark, .tm-dark) a:not(.ps-button):not(.ps-feat__item), .tm-place .ps-feat--boxed a:not(.ps-button) { color: #f3dc9b; }
/* the slides' words: one line for the title on computers (about 600px for the words) */
@media (min-width: 768px) {
	.tm-slides .ps-slides__content--h-left { padding-inline: max(40px, calc(91% - 600px)) 9%; }
	.tm-slides .ps-slides__content--h-right { padding-inline: 9% max(40px, calc(91% - 600px)); }
}

/* the articles' cards: no date */
.tm-mag .ps-blog-card__date { display: none; }

/* «طلاهای منتخب»: the picture alone (no frame, no zoom), and under it the name with a small arrow, then a short line */
.tm-picks .ps-feat__grid { gap: 28px; }
.tm-picks .ps-feat__item { display: flex; flex-direction: column; gap: 0; overflow: visible; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; transform: none; }
.tm-picks .ps-feat__item--link:hover { border: 0; box-shadow: none; transform: none; }
.tm-picks .ps-feat__img, .tm-sec .tm-picks .ps-feat__img { display: block; width: 100%; height: auto; aspect-ratio: auto; margin: 0; overflow: hidden; padding: 0; border: 0; border-radius: 10px; background: none; }
.tm-picks .ps-feat__img img { display: block; width: 100%; height: auto; aspect-ratio: 5 / 4; padding: 0; border-radius: 10px; object-fit: cover; transform: none; transition: none; }
.tm-picks .ps-feat__body { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 2px 0; background: none; text-align: right; }
.tm-picks .ps-feat__item--link .ps-feat__title { display: inline-flex; align-items: center; gap: 10px; margin: 0; color: #1d2a22; font-size: 16px; font-weight: 700; line-height: 1.6; transition: color .25s ease; }
.tm-picks .ps-feat__item--link .ps-feat__title::after { content: "←"; display: inline-grid; place-items: center; width: 28px; height: 28px; border: 0; border-radius: 10px; background: #eef5f1; color: var(--ps-primary); font-size: 14px; transform: none; transition: background-color .25s ease, color .25s ease, transform .25s ease; }
.tm-picks .ps-feat__text { color: #6b766f; font-size: 13px; }
.tm-picks .ps-feat__item--link:hover .ps-feat__title { color: var(--ps-primary); }
.tm-picks .ps-feat__item--link:hover .ps-feat__title::after { background: var(--ps-primary); color: #fff; transform: translateX(-3px) rotate(0deg); }
.tm-picks .ps-feat__item--link:focus-visible { outline: 2px solid var(--ps-primary); outline-offset: 4px; border-radius: 10px; }
@media (max-width: 1024px) { .tm-picks .ps-feat__grid { gap: 20px; } }
@media (max-width: 767px) {
	.tm-picks .ps-feat__grid { gap: 14px; }
	.tm-picks .ps-feat__body { padding-top: 10px; }
	.tm-picks .ps-feat__item--link .ps-feat__title { gap: 6px; font-size: 13.5px; }
	.tm-picks .ps-feat__item--link .ps-feat__title::after { width: 22px; height: 22px; font-size: 12px; }
	.tm-picks .ps-feat__text { display: none; }
}

/* the closing bands: one frame only (the base's inner line off), the quote mark without a box */
.tm-sec .ps-cta::before { border: 0; }
.tm-quote .ps-cta--primary::before { inset: auto; }

/* questions (about, contact): separate white cards; the open one with a gold edge and its question in green */
.elementor-section.tm-faq { background: linear-gradient(180deg, #ffffff 0%, #f6faf7 100%); }
.tm-faq .ps-accordion { display: grid; gap: 12px; border: 0; }
.tm-faq .ps-accordion__item { margin: 0; overflow: hidden; border: 1px solid #e6ece8; border-radius: 10px; background: #fff; box-shadow: 0 4px 14px rgba(14,59,39,.04); transition: border-color .3s ease, box-shadow .3s ease; }
.tm-faq .ps-accordion__item.is-open { border-color: #d9c48f; border-inline-start: 3px solid #c9a24a; box-shadow: 0 10px 26px rgba(14,59,39,.08); }
.tm-faq .ps-accordion__title { padding: 18px 22px; color: #1d2a22; font-size: 15.5px; font-weight: 700; }
.tm-faq .ps-accordion__item.is-open > .ps-accordion__title { color: var(--ps-primary); }
.tm-faq .ps-accordion__content { padding: 0 22px 20px; color: #4b5750; font-size: 14.5px; line-height: 2; }
.tm-faq .ps-accordion__opener { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 10px; background: #eef5f1; color: var(--ps-primary); }
.tm-faq .ps-accordion__item.is-open .ps-accordion__opener { background: var(--ps-primary); color: #fff; }
.tm-faq .ps-feat__head { position: sticky; top: 90px; }

/* categories menu: a category's sub-list opens right beside it, exactly as tall as the list (never past its end);
   the open category runs into its panel (no line between them), the panel's corners on the list's side square */
.ps-cats__drop { box-shadow: none; filter: drop-shadow(0 0 3px rgba(0,0,0,.15)); }
.ps-cats__sub, .ps-cats__mega { top: 0; bottom: 0; min-height: 0; max-height: none; overflow: auto; padding: 12px 0; border-radius: 10px 0 0 10px; box-shadow: none; }
.ps-cats__drop:has(.ps-cats__item--parent:is(:hover, :focus-within)) { border-end-end-radius: 0; }
.ps-cats__drop:has(.ps-cats__item--parent:is(:hover, :focus-within)) .ps-cats__item:last-child > .ps-cats__link { border-end-end-radius: 0; }
.ps-cats__link { border-inline-end: 1px solid transparent; }
.ps-cats__drop:has(.ps-cats__item--parent:is(:hover, :focus-within)) .ps-cats__item:not(:hover, :focus-within) > .ps-cats__link { border-inline-end-color: rgba(0,0,0,.075); background: #f7f7f7; }
.ps-cats__item--parent:is(:hover, :focus-within) > .ps-cats__link { border-inline-end-color: transparent; background: #fff; color: var(--ps-primary); }
/* about / contact: links in the text without underline (bold, in the page's colour) */
.elementor-section.tm-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro, .ps-cta__intro, .ps-accordion__content) :is(p, li) a:not(.ps-button), .elementor-section.tm-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro, .ps-cta__intro) a:not(.ps-button) { font-weight: 700; text-decoration: none; }
/* categories menu: every sub-list in one style, whether a plain sub-menu or an HTML block (wd_list) -- same size,
   weight, colour and spacing, the same little step aside on hover; never wider than its panel (no sideways scroll) */
.ps-cats__sub, .ps-cats__mega { width: 240px; min-width: 0; overflow-x: hidden; overflow-y: auto; }
.ps-cats__mega :is(.elementor, .elementor-section, .elementor-container, .elementor-column, .elementor-widget-wrap, .elementor-widget) { width: 100% !important; max-width: none; margin: 0 !important; padding: 0 !important; }
.ps-cats__mega .ps-list { display: block; margin: 0; padding: 0; list-style: none; }
.ps-cats__mega .ps-list > li { display: block; margin: 0; padding: 0; }
.ps-cats__mega .ps-list__icon { display: none; }
.ps-cats__sub li, .ps-cats__mega .ps-list > li { position: relative; inset-inline-start: 0; transition: inset-inline-start .2s ease; }
.ps-cats__sub li:hover, .ps-cats__mega .ps-list > li:hover { inset-inline-start: 5px; }
.ps-cats__sub a, .ps-cats__mega a, .ps-cats__mega .ps-list__text { display: block; padding: 8px 18px; color: #2b2b2b; font-size: 13.5px; font-weight: 400; line-height: 1.6; text-decoration: none; white-space: normal; }
.ps-cats__mega .ps-list__text { padding: 0; }
.ps-cats__sub a:hover, .ps-cats__mega a:hover { color: #2c593d; }
/* (the blocks' own Elementor settings make their list bold and spaced: the menu's style wins) */
.ps-cats__mega .ps-list, .ps-cats__mega .ps-list > li { gap: 0 !important; margin: 0 !important; }
.ps-cats__mega .ps-list__text, .ps-cats__mega .ps-list__text a { font-size: 13.5px !important; font-weight: 400 !important; line-height: 1.6 !important; }

/* ================================================================ footer (migration 006): light grey (owner's pick from three
   previews, 2026-11-08), the green logo, no gold. One top row: logo, contact items, social icons on the far left. Four link columns under
   short green rules. Bottom row: the copyright on the right, the three licences as equal white cards on the left. */
.ps-footer { --ft-bg: #f4f5f5; --ft-line: #e3e5e4; --ft-text: #4b5450; --ft-ink: #1f2421; --ft-icon: #5d6661; --ft-soft: transparent;
	position: relative; border-top: 1px solid var(--ft-line); background: var(--ft-bg); color: var(--ft-text); }
.ps-footer .elementor-section.tm-ft-top { margin: 0 !important; padding-block: 14px; border-bottom: 1px solid var(--ft-line); }
.ps-footer .tm-ft-top .elementor-widget-image img { max-width: 92px; }
/* the top row: everything on one line -- contact items, then the social icons pushed to the far left */
.ps-footer .tm-ft-top .elementor-column + .elementor-column > .elementor-widget-wrap { flex-wrap: nowrap; align-items: center; gap: 24px; }
.ps-footer .tm-ft-top .elementor-element.tm-ft-contact { flex: 1 1 auto; width: auto !important; max-width: none; margin: 0 !important; }
.ps-footer .tm-ft-top .elementor-widget-social-icons { flex: none; width: auto !important; margin: 0 !important; margin-inline-start: auto !important; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-items.elementor-inline-items { gap: 10px 26px; justify-content: flex-start; margin-inline: 0; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item { margin: 0; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item::after { content: none; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item > :is(a, span) { display: inline-flex; align-items: center; gap: 10px; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-icon { display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid var(--ft-line); border-radius: 10px; background: var(--ft-soft); }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-icon svg { width: 14px; height: 14px; fill: var(--ft-icon); }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-text { color: var(--ft-ink); font-size: 14px; font-weight: 600; direction: ltr; unicode-bidi: isolate; transition: color .2s ease; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item:last-child .elementor-icon-list-text { direction: rtl; }
.ps-footer .elementor-element.tm-ft-contact a:hover .elementor-icon-list-text { color: var(--ps-primary); text-decoration: none; }
.ps-footer .elementor-social-icon { border: 1px solid var(--ft-line) !important; background: var(--ft-soft) !important; transition: background-color .25s ease, border-color .25s ease; }
.ps-footer .elementor-social-icon svg { fill: var(--ft-icon) !important; }
.ps-footer .elementor-social-icon:hover { background: none !important; }
.ps-footer .elementor-social-icon:hover svg { fill: var(--ps-primary) !important; }
/* link columns */
.ps-footer .elementor-section.tm-ft-links { padding-block: 36px 28px; }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-heading .elementor-heading-title { margin-bottom: 4px; color: var(--ft-ink); font-size: 15px; font-weight: 700; text-align: right; }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-heading .elementor-heading-title::after { content: ""; display: block; width: 26px; height: 2px; margin-top: 10px; margin-inline: 0 auto; border-radius: 2px; background: var(--ps-primary); }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-icon-list .elementor-icon-list-text { color: var(--ft-text); font-size: 14px; transition: color .2s ease; }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-icon-list .elementor-icon-list-item > a { transition: transform .2s ease; }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-icon-list .elementor-icon-list-item:hover > a { transform: translateX(-3px); }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-icon-list .elementor-icon-list-item:hover .elementor-icon-list-text { color: var(--ps-primary); }
.ps-footer .elementor-section.tm-ft-links .elementor-widget-icon-list .elementor-icon-list-icon svg { width: 8px; height: 8px; fill: #9aa29d; }
/* bottom row: copyright and the licences as one row of equal white cards */
.ps-footer .elementor-section.tm-ft-bottom { border-top: 1px solid var(--ft-line); }
.ps-footer .tm-ft-bottom .elementor-column > .elementor-widget-wrap { align-items: center; align-content: center; padding-block: 16px !important; }
.ps-footer .tm-ft-copy .elementor-widget-text-editor { width: 100%; }
.ps-footer .tm-ft-copy .elementor-widget-text-editor :is(p, div, span) { margin: 0; color: #616864 !important; font-size: 13px; text-align: right; }
.ps-footer .tm-ft-badges > .elementor-widget-wrap { display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 10px; }
.ps-footer :is(.tm-ft-badges, .tm-ft-mobile) .elementor-widget-wd_image_or_svg { flex: none; width: auto !important; max-width: none !important; height: 64px; margin: 0 !important; padding: 6px 10px !important; border: 1px solid var(--ft-line); border-radius: 10px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.ps-footer :is(.tm-ft-badges, .tm-ft-mobile) .elementor-widget-wd_image_or_svg:hover { box-shadow: 0 8px 18px rgba(0,0,0,.08); transform: translateY(-2px); }
.ps-footer :is(.tm-ft-badges, .tm-ft-mobile) .elementor-widget-wd_image_or_svg :is(a, .ps-img-svg, figure) { display: flex; align-items: center; justify-content: center; height: 100%; }
.ps-footer :is(.tm-ft-badges, .tm-ft-mobile) .elementor-widget-wd_image_or_svg img { width: auto; max-width: 100%; height: 100%; max-height: 52px; object-fit: contain; }
/* phones and tablets */
.ps-footer .tm-ft-mobile .ps-accordion--shadow > .ps-accordion__item { border: 1px solid var(--ft-line); background: #fff; box-shadow: none !important; }
.ps-footer .tm-ft-mobile :is(.ps-accordion__title, .ps-accordion__title-text) { color: var(--ft-ink) !important; }
.ps-footer .tm-ft-mobile .ps-accordion__opener { color: var(--ft-icon); }
.ps-footer .tm-ft-mobile .ps-accordion__content, .ps-footer .tm-ft-mobile .ps-accordion__content a { color: var(--ft-text); }
.ps-footer .tm-ft-mobile .ps-accordion__content a:hover { color: var(--ps-primary); }
/* phones and tablets: the column's own title and rule repeated the accordion's title inside it (owner: remove) */
.ps-footer .tm-ft-mobile .ps-accordion__content > :is(h1, h2, h3, h4, h5, h6, hr, .elementor-heading-title):first-child,
.ps-footer .tm-ft-mobile .ps-accordion__content > :is(h1, h2, h3, h4, h5, h6) + hr { display: none; }
.ps-footer .tm-ft-mobile .elementor-column > .elementor-widget-wrap { gap: 10px; justify-content: center; }
.ps-footer .tm-ft-mobile .elementor-widget-wd_image_or_svg { flex: 1 1 0; height: 70px; }
.ps-footer .tm-ft-mobile .elementor-widget-heading { width: 100%; margin: 8px 0 0 !important; }
.ps-footer .tm-ft-mobile .elementor-widget-heading .elementor-heading-title { color: var(--ft-ink); font-size: 15px; font-weight: 700; text-align: center; }
@media (max-width: 1024px) {
	.ps-footer .elementor-section.tm-ft-top .elementor-column { width: 100% !important; }
	.ps-footer .tm-ft-top .elementor-column + .elementor-column > .elementor-widget-wrap { flex-wrap: wrap; justify-content: center !important; }
	.ps-footer .tm-ft-top .elementor-widget-social-icons { margin-inline: auto !important; }
	.ps-footer .elementor-section.tm-ft-top .elementor-widget-wrap { justify-content: center !important; text-align: center; }
	.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-items.elementor-inline-items { justify-content: center; }
	.ps-footer .tm-ft-bottom .elementor-column { width: 100% !important; }
	.ps-footer .tm-ft-copy .elementor-widget-text-editor :is(p, div, span) { text-align: center; }
}
/* tablets and wide phones (owner: at ~700px the row fell apart): logo, then the four contacts as one centred row
   that wraps only when it must, then the social icons on their own centred row */
@media (max-width: 1024px) {
	.ps-footer .tm-ft-top .elementor-column + .elementor-column > .elementor-widget-wrap { flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 14px; }
	.ps-footer .tm-ft-top .elementor-element.tm-ft-contact { flex: none; width: 100% !important; }
	.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-items.elementor-inline-items { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; }
	.ps-footer .tm-ft-top .elementor-widget-social-icons { flex: none; margin: 0 !important; }
	.ps-footer .tm-ft-top .elementor-widget-social-icons .elementor-social-icons-wrapper { justify-content: center; }
	.ps-footer .tm-ft-top .elementor-widget-image { width: 100%; margin: 0 !important; text-align: center; }
	.ps-footer .tm-ft-top .elementor-widget-image :is(a, img) { display: inline-block; }
}
/* narrow phones: the two phone numbers side by side, the e-mail and the hours each on a line */
@media (max-width: 480px) {
	.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-items.elementor-inline-items { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; justify-items: center; }
	.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item:nth-child(n+3) { grid-column: 1 / -1; }
	.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-text { font-size: 13px; }
}
/* footer icons plain (owner): no frame, no box -- contact icons and social icons alike */
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-icon { width: auto; height: auto; border: 0; border-radius: 0; background: none; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: var(--ft-icon); }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item > :is(a, span) { gap: 8px; }
.ps-footer .elementor-social-icon { width: auto !important; height: auto !important; padding: 4px !important; border: 0 !important; border-radius: 0 !important; background: none !important; }
.ps-footer .elementor-social-icon svg { width: 20px; height: 20px; fill: var(--ft-icon) !important; transition: fill .2s ease; }
.ps-footer .elementor-social-icon:hover { background: none !important; }
.ps-footer .elementor-social-icon:hover svg { fill: var(--ps-primary) !important; }
.ps-footer .elementor-widget-social-icons .elementor-grid { gap: 14px; }

/* the footer's contact row: icon and words on one centre line, the same 8px between them in every item (linked or not) */
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item, .ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-item > a { display: inline-flex; align-items: center; gap: 8px; line-height: 1; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-icon { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 16px; height: 16px; margin: 0; padding: 0; line-height: 1; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-icon svg { display: block; margin: 0; }
.ps-footer .elementor-element.tm-ft-contact .elementor-icon-list-text { display: block; margin: 0; padding: 0; line-height: 1.4; }
.ps-footer .elementor-element.tm-ft-contact a:hover, .ps-footer .elementor-element.tm-ft-contact a:hover * { text-decoration: none; }
/* the phone's receiver faces the number */
.ps-footer .elementor-element.tm-ft-contact .e-fas-phone-alt { transform: scaleX(-1); }

/* the closing words about the shop (migration 005): one soft grey panel, no frame; the first paragraph as a calm lead,
   the rest quieter, in one comfortable measure; «ادامه مطلب» / «بستن» as plain words */
.elementor-section.tm-seo { --seo-bg: #f6f7f7; --ps-collapse-bottom: 26px; }
@media (max-width: 767px) { .elementor-section.tm-seo { --ps-collapse-bottom: 20px; } }
.elementor-section.tm-seo.tm-seo--archive { --ps-collapse-bottom: 20px; }
.elementor-section.tm-seo .elementor-column.wd-collapsible-content > .elementor-widget-wrap.elementor-element-populated { padding: 34px clamp(24px, 7vw, 110px) 26px; border: 0 !important; border-radius: 10px !important; background: var(--seo-bg); box-shadow: none; }
.elementor-section.tm-seo .elementor-column.wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap.elementor-element-populated { max-height: 236px; }
.elementor-section.tm-seo .wd-collapsible-content:is(:not(.wd-opened), .is-sliding) > .elementor-widget-wrap::after { height: 110px; color: var(--seo-bg); border-radius: 0 0 10px 10px; }
.elementor-section.tm-seo .elementor-widget-text-editor { color: #565e5a; font-size: 14.5px; line-height: 2.05; }
.elementor-section.tm-seo .elementor-widget-text-editor p { margin: 0 0 14px; text-align: justify; }
.elementor-section.tm-seo .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-section.tm-seo .elementor-widget-text-editor p:first-child { margin-bottom: 16px; color: #1f2421; font-size: 17px; font-weight: 500; line-height: 2; }
.elementor-section.tm-seo .elementor-widget-text-editor :is(em, span) { color: inherit !important; font-style: normal; }
.elementor-section.tm-seo .elementor-widget-text-editor strong { color: #1f2421; font-weight: 700; }
/* the button: just words, in the shop's green */
.elementor-section.tm-seo .elementor-widget-wd_button { text-align: center; }
.elementor-section.tm-seo .ps-collapse-button { display: block; padding: 0; border: 0; border-radius: 0; background: none; }
.elementor-section.tm-seo .ps-collapse-button:hover { background: none; }
.elementor-section.tm-seo .ps-collapse-button .ps-button { display: inline-block; min-height: 0; padding: 6px 4px; border: 0; background: none !important; color: var(--ps-primary) !important; font-size: 14px; font-weight: 700; text-decoration: none; transition: color .2s ease; }
.elementor-section.tm-seo .ps-collapse-button .ps-button:hover { color: #1a1a1a !important; }
.elementor-section.tm-seo .ps-collapse-button .ps-button__icon { display: none; }
.elementor-section.tm-seo .wd-opened:not(.is-closing) .ps-collapse-button .ps-button__text { display: none; }
.elementor-section.tm-seo .wd-opened:not(.is-closing) .ps-collapse-button .ps-button::after { content: "بستن"; }
@media (max-width: 767px) {
	.elementor-section.tm-seo .elementor-column.wd-collapsible-content > .elementor-widget-wrap.elementor-element-populated { padding: 24px 18px 20px; }
	.elementor-section.tm-seo .elementor-column.wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap.elementor-element-populated { max-height: 250px; }
	.elementor-section.tm-seo .elementor-widget-text-editor p:first-child { font-size: 15.5px; }
}
.elementor-section.tm-seo .elementor-widget-text-editor :is(p, li) a:not(.ps-button) { color: var(--ps-primary); text-decoration: none; }
.elementor-section.tm-seo .elementor-widget-text-editor :is(p, li) a:not(.ps-button):hover { color: #1a1a1a; }
.elementor-section.tm-seo .ps-collapse-button .ps-button, .elementor-section.tm-seo .ps-collapse-button .ps-button__text { font-size: 14px !important; line-height: 1.6 !important; }

/* ---- the product archives: filters, sorting (as on parsateb, in Talamod's colours; migration 007) ---- */
.ps-filters-box { --ps-f-pad: 16px; border: 1px solid #e8ecea; border-radius: 10px; background: #fff; }
.ps-filters-box .ps-filters__head { gap: 8px; min-height: 52px; padding: 10px var(--ps-f-pad); border-bottom: 1px solid #eef1ef; }
.ps-filters-box .ps-filters__title { flex: 1 1 auto; gap: 8px; color: #1f2421; font-size: 15px; }
.ps-filters-box .ps-filters__title .ps-icon { width: 18px; height: 18px; color: var(--ps-primary); }
.ps-filters__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 6px; background: var(--ps-primary); color: #fff; font-size: 12px; font-weight: 600; line-height: 1; }
.ps-filters__clear { color: #8b948f; font-size: 12.5px; font-weight: 500; text-decoration: none; transition: color .2s ease; }
.ps-filters__clear:hover { color: var(--ps-primary); }
.ps-filters-box .ps-filters__body { padding: 0 var(--ps-f-pad); overflow: visible; overscroll-behavior: auto; } /* (the base's sheet scrolls here; this box doesn't, and a finger stopped on it) */
.ps-filters-box .ps-filter { border-bottom-color: #eef1ef; }
.ps-filters-box .ps-filter__title { padding: 14px 0; color: #1f2421; font-size: 13.5px; }
.ps-filters-box .ps-filter__title .ps-icon { width: 12px; height: 12px; color: #8b948f; }
.ps-filters-box .ps-filter__body { padding-bottom: 14px; }
.ps-filters-box .ps-filter__list { gap: 0; }
.ps-filters-box .ps-filter__opt { gap: 9px; min-height: 32px; padding: 4px 0; border-radius: 0; background: none; color: #48524c; font-size: 13px; font-weight: 400; line-height: 1.5; text-decoration: none; }
.ps-filters-box .ps-filter__opt:hover { background: none; color: #1f2421; }
.ps-filters-box .ps-filter__opt.is-active { background: none; color: var(--ps-primary); font-weight: 600; }
.ps-filters-box .ps-filter__otm--up { color: #8b948f; font-size: 12.5px; }
.ps-filters-box .ps-filter__count { min-width: 0; padding: 0; background: none; color: #7b847f; font-size: 12px; font-weight: 400; }
.ps-filters-box .ps-filter__opt.is-active .ps-filter__count { background: none; color: var(--ps-primary); }
.ps-filters-box .ps-check { width: 18px; height: 18px; border: 1.5px solid #d3d9d5; border-radius: 5px; transition: background-color .15s ease, border-color .15s ease; }
.ps-filters-box .ps-filter__opt:hover .ps-check { border-color: var(--ps-primary); }
.ps-filters-box .ps-swatch { width: 18px; height: 18px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.16); }
.ps-filters-box .is-active > .ps-swatch { box-shadow: inset 0 0 0 1px rgba(0,0,0,.16), 0 0 0 2px #fff, 0 0 0 3.5px var(--ps-primary); }
/* sizes, yes and no: pills in a row */
.ps-filters-box .ps-filter__list--pills { flex-direction: row; flex-wrap: wrap; gap: 6px; }
.ps-filters-box .ps-filter__list--pills .ps-filter__opt { gap: 5px; min-height: 32px; padding: 0 10px; border: 1px solid #e3e7e4; border-radius: 8px; transition: border-color .15s ease, background-color .15s ease, color .15s ease; }
.ps-filters-box .ps-filter__list--pills .ps-filter__opt:hover { border-color: var(--ps-primary); color: var(--ps-primary); }
.ps-filters-box .ps-filter__list--pills .ps-filter__opt.is-active { border-color: var(--ps-primary); background: var(--ps-primary); color: #fff; }
.ps-filters-box .ps-filter__list--pills .ps-filter__opt.is-active .ps-filter__count { color: rgba(255,255,255,.75); }
.ps-filters-box .ps-filter__list--pills .ps-check { display: none; }
/* «show all» */
.ps-filter__more > summary { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--ps-primary); font-size: 12.5px; font-weight: 600; list-style: none; cursor: pointer; }
.ps-filter__more > summary::-webkit-details-marker { display: none; }
.ps-filter__more > summary::after { content: ""; width: 6px; height: 6px; margin-top: -3px; border-inline-end: 1.5px solid currentColor; border-block-end: 1.5px solid currentColor; transform: rotate(45deg); }
.ps-filter__more[open] > summary { display: none; }
/* the price: a slim line, two white handles, the two values under it */
.ps-filters-box .ps-range__track { height: 24px; margin: 2px 9px 6px; }
.ps-filters-box .ps-range__track::before, .ps-filters-box .ps-range__fill { top: 10px; height: 4px; }
.ps-filters-box .ps-range__track::before { background: #e3e7e4; }
.ps-filters-box .ps-range__input { height: 24px; }
.ps-filters-box .ps-range__input::-webkit-slider-runnable-track { height: 24px; }
.ps-filters-box .ps-range__input::-moz-range-track { height: 24px; }
.ps-filters-box .ps-range__input::-webkit-slider-thumb { width: 18px; height: 18px; margin-top: 3px; box-shadow: none; }
.ps-filters-box .ps-range__input::-moz-range-thumb { width: 14px; height: 14px; box-shadow: none; }
.ps-filters-box .ps-range__input:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 4px rgba(19,91,58,.2); }
.ps-filters-box .ps-range__values { gap: 6px; margin-top: 6px; }
.ps-filters-box .ps-range__value { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 6px; padding: 7px 10px; border-color: #e8ecea; border-radius: 8px; background: #f7f8f7; }
.ps-filters-box .ps-range__value small { color: #8b948f; font-size: 11.5px; }
.ps-filters-box .ps-range__value b { color: #1f2421; font-size: 12.5px; font-weight: 600; }
/* in stock only */
.ps-filters-box .ps-filter--switch { padding: 8px 0; }
.ps-filters-box .ps-switch { min-height: 36px; color: #1f2421; font-size: 13.5px; text-decoration: none; }
.ps-filters-box .ps-switch__ui { width: 38px; height: 22px; background: #dbe0dc; }
.ps-filters-box .ps-switch__ui::after { width: 16px; height: 16px; box-shadow: none; }
.ps-filters-box .ps-switch.is-active .ps-switch__ui::after { inset-inline-start: 19px; }
/* large screens: the active filters are over the products; the sheet's button only on the sheet */
.ps-filters-box__foot { display: none; }
@media (min-width: 1025px) { .ps-filters-box .ps-chips { display: none; } }

.tm-filter-open .ps-offcanvas-btn { min-height: 40px !important; padding: 0 14px !important; border: 1px solid #e8ecea !important; border-radius: 8px; background: #fff; color: #1f2421 !important; font-size: 14px; font-weight: 600 !important; }
@media (min-width: 1025px) { .tm-filter-open { display: none; } }
@media (min-width: 1025px) { .ps-filters-box .ps-chips { display: none; } }
/* the side column as a panel on tablets and phones: its «close» row on top, the filters under it */
@media (max-width: 1024px) {
	.tm-filter-open { width: 100%; }
	.tm-filter-open .ps-offcanvas-btn { width: 100% !important; justify-content: center; }
	/* one scrolling box, the panel itself; its head and the «show products» button stay in place while it moves */
	.tm-archive-side.wd-role-offcanvas { display: block !important; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.tm-archive-side .ps-offcanvas-head { position: sticky; top: 0; z-index: 3; align-items: center; justify-content: space-between; width: 100%; height: auto; min-height: 58px; padding: 0 18px; border-bottom: 1px solid #eef1ef; background: #fff; }
	.tm-archive-side .ps-offcanvas-head::before { content: "فیلترها"; color: #1f2421; font-size: 16px; font-weight: 700; }
	.tm-archive-side .ps-offcanvas-close { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 1px solid #e3e7e4; border-radius: 8px; background: #fff; color: #48524c; font-size: 13px; font-weight: 600; line-height: 1; transition: border-color .2s ease, color .2s ease; }
	.tm-archive-side .ps-offcanvas-close:hover { border-color: var(--ps-primary); color: var(--ps-primary); }
	.tm-archive-side > .elementor-element-populated { display: block !important; width: 100%; margin: 0 !important; padding: 0 !important; overflow: visible; }
	.tm-archive-side .ps-filters-box { --ps-f-pad: 18px; }
	/* filter and sorting side by side, the same size, on every template */
	.elementor-section.tm-toolbar { margin: 0 0 16px !important; padding: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
	.tm-toolbar > .elementor-container { width: 100%; margin-inline: 0 !important; padding: 0 !important; }
	.tm-toolbar .elementor-column, .tm-toolbar .elementor-widget-wrap { width: 100%; background: none !important; box-shadow: none !important; }
	.tm-toolbar .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
	.tm-toolbar .elementor-widget { flex: 1 1 0; width: auto !important; min-width: 0; max-width: none !important; margin: 0 !important; }
	.tm-toolbar .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
	.tm-toolbar .elementor-widget-wd_shop_archive_per_page { display: none !important; }
	.tm-toolbar .tm-filter-open { order: 1; }
	.tm-toolbar .elementor-widget-wd_shop_archive_orderby { display: block !important; order: 2; }
	.tm-toolbar .elementor-widget-wd_shop_archive_orderby:not(:has(select)) { display: none !important; }
	.tm-toolbar .tm-filter-open .ps-offcanvas-btn { justify-content: center; gap: 8px; width: 100% !important; height: 44px; min-height: 44px !important; padding: 0 10px !important; border: 1px solid #e3e7e4 !important; border-radius: 8px; background: #fff; color: #1f2421 !important; font-size: 13.5px; font-weight: 600 !important; line-height: 1; }
	.tm-toolbar .tm-filter-open .ps-offcanvas-btn > svg { display: none; }
	.tm-toolbar .tm-filter-open .ps-offcanvas-btn::before { content: ""; flex: none; width: 16px; height: 16px; background: var(--ps-primary); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%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='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2'/%3E%3Ccircle cx='9' cy='17' r='2'/%3E%3C/svg%3E") center / contain no-repeat; }
	.tm-toolbar .ps-orderby, .tm-toolbar .woocommerce-ordering { width: 100%; }
	.tm-toolbar .woocommerce-ordering select.orderby { width: 100%; height: 44px; padding-block: 0; padding-inline: 10px 28px; border: 1px solid #e3e7e4; border-radius: 8px; background-color: #fff; color: #1f2421; font-size: 13px; font-weight: 600; text-overflow: ellipsis; }
	.tm-archive-side .elementor-widget-parsa_shop_filters { margin: 0; }
	.tm-archive-side .ps-filters-box { border: 0; border-radius: 0; }
	.tm-archive-side .ps-filters-box .ps-filters__head { display: none; }
	.tm-archive-side .ps-filters-box .ps-filters__body > .ps-chips { padding-top: 12px; }
	.tm-archive-side .ps-filters-box__foot { position: sticky; bottom: 0; z-index: 2; display: block; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid #eef1ef; background: #fff; }
	.ps-filters-box__done { width: 100%; min-height: 46px; border: 0; border-radius: 8px; background: var(--ps-primary); color: #fff; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
}

@media (min-width: 1025px) {
	.elementor-section.tm-toolbar { margin: 4px 0 20px !important; padding: 0 !important; border-block: 1px solid #eef1ef; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
	.tm-toolbar > .elementor-container { width: 100%; margin-inline: 0 !important; padding: 0 !important; }
	.tm-toolbar .elementor-column { width: 100%; background: none !important; box-shadow: none !important; }
	.tm-toolbar .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap; align-items: center; justify-content: space-between; margin: 0 !important; padding: 8px 0 !important; background: none !important; box-shadow: none !important; }
	.tm-toolbar .elementor-widget { flex: 0 0 auto; width: auto !important; max-width: none !important; margin: 0 !important; }
	.tm-toolbar .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
	/* how many per page: quiet choices, the current one marked */
	.ps-per-page { gap: 2px; color: #7b847f; font-size: 13px; }
	.ps-per-page__label { margin-inline-end: 6px; }
	.ps-per-page__sep { display: none; }
	.ps-per-page__opt { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 6px; border-radius: 8px; color: #7b847f; font-weight: 600; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
	.ps-per-page__opt:hover { background: #f1f6f3; color: #1f2421; }
	.ps-per-page__opt.is-current { background: #e9f3ee; color: var(--ps-primary); }
	/* sorting: the menu over the same field */
	.tm-toolbar .woocommerce-ordering.is-enhanced select.orderby { display: none; }
}
.ps-sort { position: relative; display: none; }
@media (min-width: 1025px) { .ps-sort { display: block; } }
.ps-sort__btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid #e3e7e4; border-radius: 8px; background: #fff; color: #1f2421; font: inherit; font-size: 13px; line-height: 1.4; cursor: pointer; transition: border-color .15s ease; }
.ps-sort__btn:hover, .ps-sort__btn[aria-expanded="true"] { border-color: var(--ps-primary); }
.ps-sort__btn:focus-visible { outline: 2px solid var(--ps-primary); outline-offset: 2px; }
.ps-sort__icon { flex: none; width: 15px; height: 15px; background: var(--ps-primary); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h10M4 18h5'/%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='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h10M4 18h5'/%3E%3C/svg%3E") center / contain no-repeat; }
.ps-sort__label { color: #7b847f; }
.ps-sort__value { font-weight: 600; }
.ps-sort__arrow { flex: none; width: 7px; height: 7px; margin-inline-start: 6px; margin-top: -3px; border-right: 1.5px solid #7b847f; border-bottom: 1.5px solid #7b847f; transform: rotate(45deg); transition: transform .15s ease, margin .15s ease; }
.ps-sort__btn[aria-expanded="true"] .ps-sort__arrow { margin-top: 3px; transform: rotate(225deg); }
.ps-sort__menu { position: absolute; top: calc(100% + 6px); inset-inline-end: 0; z-index: 30; min-width: 100%; width: max-content; margin: 0; padding: 6px; border: 1px solid #e8ecea; border-radius: 10px; background: #fff; box-shadow: 0 12px 32px rgba(20,35,28,.12); list-style: none; outline: 0; animation: ps-sort-in .12s ease; }
.ps-sort__menu[hidden] { display: none; }
@keyframes ps-sort-in { from { opacity: 0; transform: translateY(-4px); } }
@media (prefers-reduced-motion: reduce) { .ps-sort__menu { animation: none; } }
.ps-sort__opt { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 36px; padding: 0 10px; border-radius: 6px; color: #48524c; font-size: 13px; cursor: pointer; }
.ps-sort__opt.is-at { background: #f1f6f3; color: #1f2421; }
.ps-sort__opt[aria-selected="true"] { color: var(--ps-primary); font-weight: 600; }
.ps-sort__opt[aria-selected="true"]::after { content: ""; flex: none; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5.5 5.5L20 7'/%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='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12.5l5.5 5.5L20 7'/%3E%3C/svg%3E") center / contain no-repeat; }

/* the sub-categories over the products: one row of tidy cards, each a whole link */
.tm-subcats > .elementor-container { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 12px; width: 100%; max-width: none; margin-inline: 0 !important; }
.tm-subcats .elementor-column.elementor-inner-column { width: auto !important; min-width: 0; }
.elementor-section.tm-subcats .elementor-column > .elementor-widget-wrap.elementor-element-populated { position: relative; display: flex; flex-flow: row nowrap; align-items: center; gap: 12px; height: 100%; margin: 0 !important; padding: 10px 14px !important; border: 1px solid #e8ecea !important; border-radius: 10px !important; background: #fff; box-shadow: none !important; transition: border-color .2s ease, background-color .2s ease; }
.elementor-section.tm-subcats .elementor-column > .elementor-widget-wrap.elementor-element-populated:hover { border-color: var(--ps-primary) !important; background: #f4f8f6; }
.tm-subcats .elementor-widget { width: auto !important; max-width: none !important; margin: 0 !important; }
.tm-subcats .elementor-widget-image { flex: none; }
.tm-subcats .elementor-widget-image a { display: block; width: 56px !important; }
.tm-subcats .elementor-widget-image img { display: block; width: 56px !important; height: 56px !important; object-fit: contain; }
.tm-subcats .elementor-widget-button { flex: 1 1 auto; min-width: 0; }
.elementor-section.tm-subcats .elementor-widget-button a.elementor-button { display: block; width: auto; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: #1f2421 !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.7 !important; text-align: start; }
.tm-subcats .elementor-widget-button .elementor-button-content-wrapper { justify-content: flex-start; }
.tm-subcats .elementor-widget-button a.elementor-button::after { content: ""; position: absolute; inset: 0; border-radius: 10px; }
.tm-subcats .elementor-element-populated::after { content: ""; flex: none; width: 7px; height: 7px; margin-inline-start: auto; border-inline-end: 1.5px solid #9aa39e; border-block-end: 1.5px solid #9aa39e; transform: rotate(45deg); transition: border-color .2s ease; }
.tm-subcats .elementor-element-populated:hover::after { border-color: var(--ps-primary); }
.elementor-section.tm-subcats .elementor-element-populated:hover a.elementor-button { color: var(--ps-primary) !important; }
@media (max-width: 767px) {
	.tm-subcats > .elementor-container { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	.elementor-section.tm-subcats .elementor-column > .elementor-widget-wrap.elementor-element-populated { gap: 8px; padding: 8px 10px !important; }
	.tm-subcats .elementor-widget-image a, .tm-subcats .elementor-widget-image img { width: 42px !important; }
	.tm-subcats .elementor-widget-image img { height: 42px !important; }
	.elementor-section.tm-subcats .elementor-widget-button a.elementor-button { font-size: 12.5px !important; line-height: 1.6 !important; white-space: normal; }
	.tm-subcats .elementor-element-populated::after { display: none; }
}
.elementor-section.tm-subcats { margin-block: 0 14px !important; padding: 0 !important; }

/* the side column: the box of filters, then the articles in a box of the same kind */
@media (min-width: 1025px) {
	.tm-archive-side > .elementor-element-populated { padding-top: 40px !important; }
}
.tm-archive-side .elementor-element.tm-side-title { margin: 16px 0 0 !important; padding: 14px 16px 12px !important; border: 1px solid #e8ecea !important; border-bottom-color: #eef1ef !important; border-radius: 10px 10px 0 0 !important; background: #fff; }
.tm-side-title .elementor-icon-box-icon { display: none !important; }
.tm-side-title .elementor-icon-box-wrapper { display: block !important; text-align: start !important; }
.tm-side-title .elementor-icon-box-title, .tm-side-title .elementor-icon-box-title * { margin: 0 !important; color: #1f2421 !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.7 !important; }
.tm-archive-side .elementor-element.tm-side-posts { margin: 0 !important; padding: 0 16px !important; border: 1px solid #e8ecea !important; border-top: 0 !important; border-radius: 0 0 10px 10px !important; background: #fff; }
.tm-side-posts .elementor-posts-container { display: block !important; gap: 0 !important; }
.tm-side-posts article.elementor-post { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px; margin: 0 !important; padding: 12px 0 !important; border-bottom: 1px solid #eef1ef; }
.tm-side-posts article.elementor-post:last-child { border-bottom: 0; }
.tm-side-posts .elementor-post__thumbnail__link { flex: none !important; width: 64px !important; height: 64px !important; margin: 0 !important; }
.tm-side-posts .elementor-post__thumbnail { position: static !important; width: 100%; height: 100%; padding: 0 !important; overflow: hidden; border-radius: 10px; background: #f6f7f7; }
.tm-side-posts .elementor-post__thumbnail img { position: static !important; display: block; width: 100% !important; height: 100% !important; object-fit: cover; border-radius: 10px; transform: none !important; }
.tm-side-posts .elementor-post__text { flex: 1 1 auto; min-width: 0; margin: 0 !important; padding: 0 !important; }
.tm-side-posts .elementor-post__title { margin: 0 !important; font-size: 13px !important; line-height: 1.85 !important; }
.tm-side-posts .elementor-post__title a { display: -webkit-box; overflow: hidden; color: #1f2421 !important; font-size: inherit !important; font-weight: 500 !important; line-height: inherit !important; text-decoration: none !important; -webkit-box-orient: vertical; -webkit-line-clamp: 3; transition: color .2s ease; }
.tm-side-posts .elementor-post__title a:hover { color: var(--ps-primary) !important; }

/* a category's text under its products: the home page's panel in its own box, as wide as the page's content, little padding */
.elementor-section.tm-seo--archive { padding-inline: 0 !important; }
.elementor-section.tm-seo--archive > .elementor-container { width: 100%; margin-inline: 0 !important; }
.elementor-section.tm-seo--archive .elementor-column.wd-collapsible-content { padding: 0 !important; }
.elementor-section.tm-seo--archive .elementor-column.wd-collapsible-content > .elementor-widget-wrap.elementor-element-populated { margin: 0 !important; padding: 26px 24px 20px; }
@media (max-width: 767px) { .elementor-section.tm-seo--archive .elementor-column.wd-collapsible-content > .elementor-widget-wrap.elementor-element-populated { padding: 20px 16px 18px; } }
.elementor-section.tm-seo--archive .elementor-widget-text-editor :is(h2, h3, h4) { margin: 22px 0 10px; color: #1f2421; font-size: 17px; font-weight: 700; line-height: 1.8; }
.elementor-section.tm-seo--archive .elementor-widget-text-editor :is(h2, h3, h4):first-child { margin-top: 0; }
.elementor-section.tm-seo--archive .elementor-widget-text-editor p:first-child { font-size: inherit; font-weight: inherit; color: inherit; margin-bottom: 14px; }
@media (min-width: 768px) {
	.elementor-section.tm-seo--archive .elementor-column.wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap.elementor-element-populated { max-height: 220px; }
}

/* no underline on the breadcrumbs (the owner's rule for links) */
.rank-math-breadcrumb a, .ps-breadcrumbs a { text-decoration: none !important; }
.rank-math-breadcrumb a:hover, .ps-breadcrumbs a:hover { color: var(--ps-primary); }

/* the list of page numbers carries the class «page-numbers» too: only each number has the border */
.ps-pagination ul.page-numbers { min-width: 0; height: auto; padding: 0; border: 0; border-radius: 0; background: none; }

/* the chosen filters, over the products */
.ps-chips--top { margin-block: 6px 18px; }
