/*
 * پارساطب: 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.
 */

/* ---- fonts the content's Elementor typography names (as the old theme defined them); each file loads only where used ---- */
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-Thin.woff2") format("woff2");font-weight:100;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-Regular.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-SemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-Bold.woff2") format("woff2");font-weight:bold;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-ExtraBold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:optional}
@font-face{font-family:"YekanBakhFaNum";src:url("fonts/content/YekanBakhFaNum-ExtraBlack.woff2") format("woff2");font-weight:950;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Thin.woff2") format("woff2");font-weight:100;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-UltraLight.woff2") format("woff2");font-weight:200;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Regular.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-DemiBold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Bold.woff2") format("woff2");font-weight:bold;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Extrabold.woff2") format("woff2");font-weight:800;font-style:normal;font-display:optional}
@font-face{font-family:"IRANSansXFaNum";src:url("fonts/content/IRANSansXFaNum-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:optional}
@font-face{font-family:"Morabba";src:url("fonts/content/Morabba-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:optional}
@font-face{font-family:"Morabba";src:url("fonts/content/Morabba-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:optional}

/* the old theme's reset gave every element a zero border width: content that sets only a border style (an Elementor
   «border: solid» with no width) showed no border there, so it shows none here either */
:where(.elementor) :where(div, span, a, p, h1, h2, h3, h4, h5, h6, ul, ol, li, section, article, figure, img) { border-width: 0; }
/* and tables kept their own line height (text in a post's tables does not take the article's tall lines) */
table { line-height: 1.4; }

/* ================================================================ header (desktop) */
.ps-header { border-bottom: 0; }
.ps-header__row--general { border-bottom: 1px solid #f6f6f6; box-shadow: 0 15px 20px rgba(183,181,181,.1); }
.ps-header__row--bottom { background: #fcfcfc; border-bottom: 1px solid #e9e9e9; box-shadow: 0 15px 20px rgba(183,181,181,.1); }
.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 { gap: 0; }
.ps-header__row--general .ps-logo { width: auto; }
.ps-header__row--general .ps-logo__img { max-height: none; padding-block: 5px; }

/* search field: grey well, blue button on its end */
.ps-header .ps-search-form__input[type="search"] { height: 46px; padding-inline: 15px 76px; border: 1px solid #e8e8e8; border-radius: 5px; background: #f4f4f4; color: #8e8e8e; font-size: 14px; }
.ps-header .ps-search-form__input::placeholder { color: #d0d0d0; opacity: 1; }
.ps-header .ps-search-form__input:focus { border-color: #808080; }
.ps-header .ps-search-form__go { width: 46px; border-radius: 5px 0 0 5px; background: var(--ps-primary); }
.ps-header .ps-search-form__go svg { width: 20px; height: 20px; stroke-width: 2.2; }
.ps-header .ps-search-form__results { border-radius: 0 0 8px 8px; }

/* the phone line (HTML block 572) */
.ps-header-block { padding-inline: 10px; }
.ps-header-block .elementor-widget-container { margin: 0 6px; }

/* the header's three buttons (cart, account, «shop») share one shape: 42px tall, 8px corners, no shadow */
/* cart: blue, the icon on a white square, then the subtotal */
.ps-header .ps-header-divider { height: 18px; margin-inline: 0 10px; background: rgba(0,0,0,.105); }
.ps-tool--cart-total { position: relative; gap: 10px; min-width: 168px; height: 46px; padding-block: 0; padding-inline: 6px 16px; border-radius: 8px; background: var(--ps-primary); color: #fff; transition: background-color .2s ease; }
.ps-header-clone .ps-tool--cart-total { height: 42px; padding-inline-start: 4px; }
.ps-tool--cart-total:hover { color: #fff; background: var(--ps-primary-dark); }
/* the icon on a light tile of the button's own blue, white lines */
.ps-tool--cart-total .ps-tool__icon { display: flex; flex: none; width: 36px; height: 36px; padding: 6px; border-radius: 7px; background: rgba(255, 255, 255, .16); color: #fff; order: -1; transition: background-color .2s ease; }
.ps-header-clone .ps-tool--cart-total .ps-tool__icon { width: 34px; height: 34px; }
.ps-tool--cart-total .ps-tool__icon :is(path, circle, rect, line, polyline) { stroke: currentColor; }
.ps-tool--cart-total:hover .ps-tool__icon { background: rgba(255, 255, 255, .24); }
/* «سبد خرید» over the amount */
.ps-tool--cart-total .ps-tool__total { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; margin: 0; color: #fff; font-size: 14.5px; font-weight: 700; line-height: 1; white-space: nowrap; }
.ps-tool--cart-total .ps-tool__total::before { content: "سبد خرید"; color: rgba(255, 255, 255, .78); font-size: 11.5px; font-weight: 500; }
.ps-tool--cart-total .ps-tool__total .woocommerce-Price-amount { color: inherit; }
.ps-tool--cart-total .woocommerce-Price-currencySymbol { margin-inline-start: 3px; font-size: 12px; font-weight: 500; opacity: .85; }
.ps-tool--cart-total .ps-tool__empty { font-size: 13.5px; font-weight: 600; }
/* the count on the button's corner, by the icon, ringed in white over the page */
.ps-tool--cart-total .ps-tool__count { top: -5px; inset-inline-start: -3px; inset-inline-end: auto; min-width: 19px; height: 19px; padding: 0 4px; border: 0; border-radius: 10px; background: #fff; box-shadow: 0 0 0 2px var(--ps-primary); color: var(--ps-primary); font-size: 11px; font-weight: 700; line-height: 19px; transition: box-shadow .2s ease; z-index: 1; }
.ps-tool--cart-total:hover .ps-tool__count { box-shadow: 0 0 0 2px var(--ps-primary-dark); }
.ps-header-clone .ps-tool--cart-total .ps-tool__count { top: -5px; inset-inline-start: -4px; }
.ps-tool--cart-total:has(.ps-tool__empty) .ps-tool__count { display: none; }

/* categories menu: blue tab with the list under it, mega menus beside it */
.ps-header .ps-cats { width: 270px; height: 52px; }
.ps-cats__opener { padding: 10px 15px; border-radius: 8px 8px 0 0; font-size: 14px; line-height: 14px; }
.ps-cats__burger { width: 18px; height: 18px; stroke-width: 2.2; }
.ps-cats__arrow { width: 12px; height: 12px; }
/* the shadow is drawn around the list and its open mega menu together, so the two read as one panel */
.ps-cats__drop { border-radius: 0 0 8px 8px; box-shadow: none; filter: drop-shadow(0 0 3px rgba(0,0,0,.15)); transition: opacity .2s ease, visibility .2s ease, border-radius .25s ease; }
.ps-cats__item { border-bottom: 1px solid rgba(0,0,0,.075); }
.ps-cats__item:last-child { border-bottom: 0; }
.ps-cats__link { min-height: 44px; padding: 5px 18px; border-inline-end: 1px solid transparent; color: rgba(51,51,51,.9); font-size: 14px; font-weight: 600; line-height: 1.4; transition: background-color .2s ease, color .2s ease, border-radius .25s ease; }
.ps-cats__item:last-child > .ps-cats__link { border-radius: 0 0 8px 8px; }
.ps-cats__item:hover > .ps-cats__link { background: #f7f7f7; color: rgba(51,51,51,.7); }
.ps-cats__go { width: 10px; height: 10px; opacity: .5; transition: opacity .2s ease; }
/* a mega menu open: exactly as tall as the list, its corner taking over from the list's. The item it belongs to runs
   into it (white, no line between them); the other items step back behind a line */
.ps-cats__mega { width: min(var(--ps-mega-w, 700px), calc(100vw - max(15px, (100vw - var(--ps-container)) / 2 + 15px) - 285px)); min-height: 100%; border-end-end-radius: 8px; 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__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 { background: #fff; color: var(--ps-primary); }
.ps-cats__item--parent:is(:hover, :focus-within) > .ps-cats__link .ps-cats__go { opacity: 1; }

/* main menu: separated items */
.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: 0; 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__item--depth-0 + .ps-nav__item--depth-0::before,
.ps-header-clone .ps-nav__item--depth-0 + .ps-nav__item--depth-0::before { content: ""; width: 1px; height: 18px; margin-inline: 15px; background: rgba(0,0,0,.105); }
.ps-header__row--bottom .ps-nav__link, .ps-header-clone .ps-nav__link { min-height: 42px; padding: 5px 0; color: rgba(51,51,51,.7); font-size: 15px; font-weight: 500; 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: #333; }
.ps-header__row--bottom .ps-nav__link::after, .ps-header-clone .ps-nav__link::after { display: none; }

/* account: an outlined white box around the icon; the sign-in drops down under it */
:is(.ps-header, .ps-header-clone) .ps-tool--account { width: 52px; height: 42px; padding: 0; border: 1px solid #dbe3ea; border-radius: 8px; background: #fff; box-shadow: none; color: #333; }
:is(.ps-header, .ps-header-clone) .ps-tool--account .ps-tool__icon { width: 30px; height: 30px; }
.ps-account-drop__panel { width: 350px; margin-top: 2px; border-radius: 8px; }

/* «shop»: blue, with a pulsing dot */
.ps-header-btn--shop { gap: 5px; height: 42px; margin-inline-start: 10px; padding: 0 25px; border-radius: 8px; background: var(--ps-primary); font-size: 13px; font-weight: 600; transition: background-color .2s ease; }
.ps-header-btn--shop:hover { background: var(--ps-primary-dark); }
.ps-header-btn--shop .ps-header-btn__dot { position: relative; width: 10px; height: 10px; background: #fff; animation: ps-dot 1.25s cubic-bezier(.455,.03,.515,.955) -.4s infinite; }
.ps-header-btn--shop .ps-header-btn__dot::before { content: ""; position: absolute; inset: -50%; border-radius: 50%; background: #01a4e9; z-index: -1; animation: ps-ring 1.25s cubic-bezier(.215,.61,.355,1) infinite; }
@keyframes ps-ring { 0% { transform: scale(.33); } 80%, 100% { opacity: 0; } }
@keyframes ps-dot { 0% { transform: scale(.8); } 50% { transform: scale(1); } 100% { transform: scale(.8); } }
@media (prefers-reduced-motion: reduce) { .ps-header-btn--shop .ps-header-btn__dot, .ps-header-btn--shop .ps-header-btn__dot::before { animation: none; } }

/* the compact copy (scrolling back up) */
.ps-header-clone { box-shadow: 0 15px 20px rgba(183,181,181,.1); }
.ps-header-clone .ps-header__inner { gap: 30px; }
.ps-header-clone .ps-header__slot--end { gap: 10px; }

/* search results under the field: two columns of products */
.ps-search-form .ps-search-results__head { display: none; }
.ps-search-form .ps-search-results__list { display: grid; grid-template-columns: 1fr 1fr; }
.ps-search-form .ps-search-result { display: flex; align-items: center; gap: 15px; padding: 15px; border-bottom: 1px solid rgba(0,0,0,.075); color: #333; }
.ps-search-form .ps-search-result:nth-child(odd) { border-inline-end: 1px solid rgba(0,0,0,.075); }
.ps-search-form .ps-search-result:hover { background: rgba(0,0,0,.03); }
.ps-search-form .ps-search-result__img { flex: none; width: 65px; }
.ps-search-form .ps-search-result__img img { width: 65px; height: auto; }
.ps-search-form .ps-search-result__title { display: block; margin-bottom: 5px; font-size: 14px; line-height: 1.4; color: #333; }
.ps-search-form .ps-search-result__title mark { background: none; color: inherit; font-weight: 700; }
.ps-search-form .ps-search-result .price { font-size: 14px; }

/* mega menus (Elementor blocks in the categories list and the main menu): dark links, as the old theme's dark
   dropdowns had them -- not the content's blue */
:is(.ps-cats__mega, .ps-nav__dropdown--block) { --ps-link: #333; --ps-link-hover: #242424; }
/* their columns: instead of each column's own edge line, a line halfway between two columns (the gap is 20px), fading
   out at both ends */
:is(.ps-cats__mega, .ps-nav__dropdown--block) .elementor-widget-icon-list > .elementor-widget-container { padding-inline: 0 !important; border-width: 0 !important; }
:is(.ps-cats__mega, .ps-nav__dropdown--block) .elementor-icon-list-item::after { width: 100% !important; }
:is(.ps-cats__mega, .ps-nav__dropdown--block) .elementor-widget-icon-list:not(:last-child)::after { content: ""; position: absolute; inset-block: 0; inset-inline-end: -10.5px; width: 1px; background: linear-gradient(to bottom, transparent, #dcdcdc 25%, #dcdcdc 75%, transparent); }

/* ================================================================ notice bar (the old header banner) */
.ps-notice { padding: 0; gap: 0; }
.ps-notice__slide { font-weight: 500; }
@media (max-width: 767px) { .ps-notice { min-height: 30px; padding: 0; font-size: 14px; } .ps-notice__center { flex-basis: 100%; } }

/* ================================================================ phones */
.ps-toolbar { height: 55px; }
.ps-toolbar__item { color: #333; font-size: 11px; font-weight: 600; }

/* ================================================================ product cards (the old «full-width button» cards) */
.ps-product { text-align: start; }
.ps-product__inner { gap: 12px; padding: 15px; overflow: visible; border: 1px solid rgba(0,0,0,.106); border-radius: 8px; box-shadow: 0 0 4px rgba(0,0,0,.12); line-height: 1.4; }
.ps-product__thumb { padding: 0; border-radius: 8px; overflow: clip; }
.ps-product__img { padding: 14px; border-radius: 0; }
.ps-product.is-out .ps-product__img img { opacity: 1; filter: none; }
.ps-product__labels { top: 7px; inset-inline-start: 7px; gap: 10px; max-width: 50%; }
.ps-product .onsale, .ps-product__label { padding: 5px 10px; border-radius: 12px; background: #e12d14; font-size: 14px; font-weight: 700; line-height: 16.8px; text-transform: uppercase; direction: ltr; }
.ps-product__label--out { background: #dd3333; color: #fff; }
.ps-product__body { gap: 12px; padding: 0; }
.ps-product__title { display: block; max-height: 2.8em; margin: -2.8px 0; color: #565656; font-size: 14px; font-weight: 500; line-height: 1.4; -webkit-line-clamp: none; }  /* two lines, cut with no «…» */
.ps-product__title a:hover { color: #f94327; }
/* every product box in a row the same height: carousels set to «auto height» too, titles always taking two lines'
   room (so prices and buttons line up across the row) */
.ps-products.ps-carousel--autoheight .ps-carousel__track { align-items: stretch; }
.ps-product__title { min-height: 2.8em; }
.ps-product .price { margin: 0 0 -3px; color: var(--ps-primary); font-size: 15px; font-weight: 700; line-height: 1.4; }
.ps-product .price del { display: inline; margin-inline-end: 0; color: #545454; font-size: 12px; font-weight: 600; }
.ps-product .price ins { color: var(--ps-primary); }
.ps-product .price del + ins, .ps-product .price ins + del { margin-inline-start: 4px; }
.ps-product .ps-product__wc-button { width: 100%; min-height: 42px; margin-top: auto; padding: 5px 20px; overflow: hidden; border-radius: 5px; background: var(--ps-primary); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.2; white-space: nowrap; }
.ps-product .ps-product__wc-button > span { overflow: hidden; text-overflow: ellipsis; }
.ps-product .ps-product__wc-button:hover { background: var(--ps-primary-dark); color: #fff; box-shadow: none; }
.ps-product .ps-product__wc-button.is-loading { opacity: .6; pointer-events: none; }
.ps-products { --ps-gap: 20px; --ps-gap-m: 10px; }
@media (max-width: 767px) {
	.ps-product__inner { gap: 10px; padding: 10px; }
	.ps-product__img { padding: 12.6px; }
	.ps-product .onsale, .ps-product__label { padding: 5px; font-size: 14px; }
	.ps-product__body { gap: 10px; }
	.ps-product__title { margin: -2.5px 0; font-size: 12.6px; }
	.ps-product .price { font-size: 15px; }
	.ps-product .price del { display: block; }
	.ps-product .ps-product__wc-button { min-height: 42px; padding-inline: 10px; font-size: 13px; }
}

/* ================================================================ header (phones) */
.ps-header__row--mobile { border-bottom: 1px solid #f6f6f6; box-shadow: 0 15px 20px rgba(183,181,181,.1); }
.ps-header__row--mobile .ps-tool { height: 40px; min-width: 40px; padding: 0 10px; gap: 7px; color: #333; }
.ps-header__row--mobile .ps-tool__icon { width: 20px; height: 20px; }
.ps-header__row--mobile .ps-tool--burger .ps-tool__text { position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: 15px; font-weight: 500; line-height: 15px; }
.ps-header__row--mobile .ps-header__slot--start { gap: 0; }
.ps-header__row--mobile .ps-logo__img { max-height: 60px; }
.ps-header__row--mobile .ps-tool__count, .ps-toolbar .ps-tool__count { top: -5px; inset-inline-start: auto; inset-inline-end: 6px; min-width: 15px; height: 15px; padding: 0 2px; border: 0; background: var(--ps-primary); color: #fff; font-size: 9px; font-weight: 400; line-height: 15px; }
.ps-header__row--mobile .ps-tool--cart .ps-tool__count { top: 0; inset-inline-end: 4px; }
.ps-toolbar { padding: 5px; }
.ps-toolbar__item { gap: 3px; padding: 0 10px; font-size: 11px; font-weight: 600; line-height: 11px; }
.ps-toolbar__icon, .ps-toolbar__item > .ps-icon { width: 20px; height: 20px; }
.ps-toolbar .ps-tool__count { top: 2px; inset-inline-end: calc(50% - 16px); }

/* ================================================================ product page */
.product_title { font-size: 20px; line-height: 24px; }
.ps-sticky-cart .ps-sticky-cart__inner { min-height: 75px; }
.ps-sticky-cart .ps-sticky-cart__button { min-height: 42px; border-radius: 5px; font-size: 13px; font-weight: 600; }
.ps-sticky-cart .star-rating { color: #eabe12; }
.ps-product__label--attr { padding: 5px 10px; border-radius: 12px; background: #fff; color: #242424; font-size: 12px; font-weight: 600; line-height: 14.4px; text-transform: uppercase; box-shadow: none; }
.ps-gallery__labels { top: 15px; inset-inline: auto 15px; align-items: flex-end; gap: 10px; max-width: 30%; z-index: 10; }
.ps-single .onsale { padding: 5px 10px; border-radius: 12px; background: #e12d14; font-size: 14px; font-weight: 700; line-height: 16.8px; direction: ltr; }
/* price: the old one and the sale price on one line, at the far side */
.elementor-widget-wd_single_product_price .price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: flex-end; gap: 0 8px; }
.ps-single .price del, .elementor-widget-wd_single_product_price .price del { display: inline; }
/* gallery: dots under the picture; the thumbnail of the picture shown is the faded one */
.ps-gallery__thumb { opacity: 1; }
.ps-gallery__thumb.is-active { opacity: .5; }
.ps-gallery__thumb:hover { opacity: .7; }
/* quantity: a small bordered group, − and + at its sides */
.ps-single .quantity { display: flex; align-items: stretch; width: auto; height: 42px; gap: 0; border: 0; }
.ps-single .quantity .ps-qty-btn { width: 25px; height: 42px; padding: 0 5px; border: 1px solid #bababa; background: #fff; color: #111; font-size: 13px; font-weight: 700; }
.ps-single .quantity .ps-qty-btn--minus { border-radius: 0 5px 5px 0; }
.ps-single .quantity .ps-qty-btn--plus { border-radius: 5px 0 0 5px; }
.ps-single .quantity input.qty { width: 30px; height: 42px; min-height: 42px; padding: 0; border: 1px solid #bababa; border-inline: 0; border-radius: 0; color: #111; font-size: 14px; font-weight: 600; text-align: center; }
/* variations: each label above its choice, the attributes side by side */
.ps-single table.variations tbody { display: flex; flex-wrap: wrap; gap: 0 40px; }
.ps-single table.variations tr { display: block; }
.ps-single table.variations th.label { display: block; width: auto; margin: 0 0 5px; padding: 0; }
.ps-single table.variations th.label label::after { content: " :"; }
.ps-single table.variations td.value { display: block; padding: 0; }
/* meta: a grey band with the code and categories */
.ps-single .product_meta { display: inline-flex; flex-wrap: wrap; gap: 0 10px; padding: 7px 10px; border-radius: 8px; background: #f2f2f2; }

/* ================================================================ blog cards (Woodmart «masonry» with a shadow) */
.ps-blog-card--masonry { overflow: hidden; border-radius: 8px; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,.12); }
.ps-blog-card--masonry .ps-blog-card__media { border-radius: 8px 8px 0 0; }
.ps-blog-card__date { top: 15px; inset-inline-start: 15px; min-width: 52px; padding: 7px 5px; border-radius: 5px; box-shadow: 0 0 9px rgba(0,0,0,.1); 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: 600; line-height: 22px; }
.ps-blog-card--masonry .ps-blog-card__body:not(:has(.ps-blog-card__cat)) { padding-top: 20px; }
.ps-blog-card__title { font-size: 16px; font-weight: 500; line-height: 1.6; }
.ps-blog-card__title a { color: #333; }
.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: 600; }
/* «small images» blog cards (home): the picture, and a white card with the title beside it, over its edge */
.ps-blog-card--small { align-items: center; text-align: center; }
.ps-blog-card--small .ps-blog-card__media { flex: 0 0 50%; max-width: 50%; padding: 5px; border-radius: 8px; }
.ps-blog-card--small .ps-blog-card__media img { height: auto; border-radius: 8px; object-fit: cover; }
.ps-blog-card--small .ps-blog-card__body { position: relative; z-index: 1; flex: 0 0 50%; max-width: 50%; gap: 10px; margin-inline-start: -15px; padding: 25px; border-radius: 8px; background: #fff; box-shadow: 0 0 4px rgba(0,0,0,.12); }
.ps-blog-card--small .ps-blog-card__title { font-size: 17px; font-weight: 500; line-height: 1.4; }
.ps-blog-card--small .ps-blog-card__title a { color: #565656; }
.ps-blog-card--small .ps-blog-card__byline, .ps-blog-card--small .ps-blog-card__cat { display: none; }
.ps-blog-card--small .ps-blog-card__more { font-size: 12.6px; }
/* phones and tablets: the picture on top at its own shape, the white card under it (square corners where they meet) */
@media (max-width: 768.98px) {
	.ps-blog-card--small { flex-direction: column; align-items: stretch; }
	.ps-blog-card--small .ps-blog-card__media { flex: none; max-width: none; padding: 0; }
	.ps-blog-card--small .ps-blog-card__media img { width: 100%; border-radius: 8px 8px 0 0; }
	.ps-blog-card--small .ps-blog-card__body { flex: none; max-width: none; margin: 0; padding: 15px; border-radius: 0 0 8px 8px; }
	.ps-blog-card--small .ps-blog-card__title { font-size: 14px; }
}
/* carousel dots: small round dots, the current one dark */
.ps-carousel__dot, .ps-carousel__dot.is-active { width: 20px; }
.ps-carousel__dot::before, .ps-carousel__dot.is-active::before { top: 5px; inset-inline-start: 5px; width: 10px; height: 10px; box-sizing: border-box; border: 2px solid #bbb; border-radius: 50%; background: transparent; }
.ps-carousel__dot.is-active::before { border-color: #333; background: #333; }
/* page numbers under the products: plain 34px squares, the current one filled (the old theme's) */
.ps-pagination { margin-top: 30px; }
.ps-pagination ul, .woocommerce-pagination ul { gap: 3px; }
.page-numbers { min-width: 34px; height: 34px; padding: 0 5px; border: 0; border-radius: 5.33px; background: none; color: #242424; font-weight: 600; }
a.page-numbers:hover { background: #f7f7f7; color: #242424; }

/* products per page above the list: grey choices, the current one dark */
.ps-per-page { display: inline-flex; flex-wrap: wrap; align-items: center; color: #767676; }
.ps-per-page__opt { padding: 0 7px; color: #767676; }
.ps-per-page__opt:hover, .ps-per-page__opt.is-current { color: #333; }
.ps-per-page__opt.is-current { font-weight: 600; }
/* product carousels on phones: two whole cards, no edge of a third (as the shop has them) */
@media (max-width: 767px) { .ps-products.ps-carousel { --ps-per: max(2, var(--ps-cols-m, 2)); } }
/* 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; }
.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 #bababa; 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 #bababa; 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 #bababa; border-radius: 5px; }
.woocommerce-cart-form .coupon .button { min-height: 42px; padding: 5px 20px; border-radius: 5px; 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: 5px; 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; }
.ps-cart-totals .cart_totals > h2 { display: none; }
.cart_totals .woocommerce-shipping-destination { margin: 6px 0 0; color: #333; font-size: 13px; }
.cart_totals .woocommerce-shipping-calculator { display: none; }
.cart_totals .shop_table td { color: #333; font-weight: 400; text-align: start; }
.cart_totals .shop_table th { font-size: 14px; }

/* the cart's rows, tidier: quieter headings, the name in bold, the picture framed, prices on one line */
.woocommerce-cart-form .shop_table th { padding-block: 12px; color: #66727e; font-size: 14px; text-transform: none; }
.woocommerce-cart-form .shop_table td { padding-block: 18px; }
.woocommerce-cart-form .product-thumbnail img { width: 76px; height: 76px; padding: 4px; border: 1px solid #edf1f5; border-radius: 8px; background: #fff; object-fit: contain; }
.woocommerce-cart-form .product-name > a { color: #14263a; font-size: 14.5px; font-weight: 600; line-height: 1.75; }
.woocommerce-cart-form .product-name > a:hover { color: var(--ps-primary); }
.woocommerce-cart-form :is(.product-price, .product-subtotal) { white-space: nowrap; }
.woocommerce-cart-form .product-subtotal .amount { color: var(--ps-primary); font-weight: 700; }

/* a product's chosen options (cart, checkout; woocommerce/cart/cart-item-data.php): small tags side by side that wrap,
   in place of a line for each name and another for each value */
dl.variation.ps-opts { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 0; padding: 0; }
.ps-opts__row { display: inline-flex; align-items: baseline; gap: 4px; padding: 1px 9px; border-radius: 6px; background: #f1f5f9; font-size: 12px; line-height: 1.9; }
dl.variation.ps-opts :is(dt, dd) { margin: 0; padding: 0; border: 0; background: none; font-size: inherit; }
dl.variation.ps-opts dt { color: #66727e; font-weight: 400; }
dl.variation.ps-opts dd { color: #14263a; font-weight: 600; white-space: nowrap; }
dl.variation.ps-opts dd p { display: inline; margin: 0; }

/* ================================================================ 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: #bababa; border-radius: 5px; color: #848484; }
.ps-layout--builder textarea { height: auto; }
.ps-layout--builder .select2-container--default .select2-selection--single { height: 42px; border-color: #bababa; 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; }
.woocommerce-checkout-review-order-table thead { display: table-header-group; }
.woocommerce-checkout-review-order-table thead th { padding: 15px 0; border-bottom: 1px solid #e6e6e6; color: #333; font-size: 16px; font-weight: 600; }
.woocommerce-checkout-review-order-table :is(th, td) { border-bottom: 1px solid #e6e6e6; }
.woocommerce-checkout-review-order-table .product-name { width: 70%; color: #333; font-size: 14px; }
.woocommerce-checkout-review-order-table .product-total, .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: 5px; font-size: 13px; font-weight: 600; }
.woocommerce-checkout-review-order-table tfoot td { white-space: normal; }
.woocommerce-checkout-review-order-table .amount { white-space: nowrap; }
.woocommerce-checkout-review-order-table .cart_item td { padding-block: 16px; vertical-align: top; }
.woocommerce-checkout-review-order-table .cart_item .product-total { padding-top: 22px; padding-inline-start: 12px; }
.woocommerce-checkout-review-order-table .ps-review-item { display: flex; align-items: center; gap: 12px; color: #14263a; font-weight: 600; line-height: 1.75; }
.woocommerce-checkout-review-order-table .ps-review-item__img { flex: none; }
.woocommerce-checkout-review-order-table .ps-review-item__img img { display: block; width: 56px; height: 56px; padding: 3px; border: 1px solid #edf1f5; border-radius: 8px; background: #fff; object-fit: contain; }
.woocommerce-checkout-review-order-table .ps-checkout-qty { display: block; margin: 10px 0 0; margin-inline-start: 68px; }
.woocommerce-checkout-review-order-table .product-name dl.variation.ps-opts { margin-inline-start: 68px; }
.woocommerce-checkout-review-order-table .cart_item .product-name { font-size: 0; } /* (the template's &nbsp; after the name, a line of its own) */
.woocommerce-checkout-review-order-table .cart_item .ps-review-item { font-size: 13.5px; }
.woocommerce-checkout-review-order-table .cart_item .ps-checkout-qty { font-size: 14px; }
/* every row its own line (the shipping choices had the products' narrow price column) */
.woocommerce-checkout-review-order-table, .woocommerce-checkout-review-order-table :is(thead, tbody, tfoot) { display: block; width: 100%; }
.woocommerce-checkout-review-order-table :is(thead, tbody) tr { display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid #e6e6e6; }
.woocommerce-checkout-review-order-table :is(thead, tbody) :is(th, td) { display: block; border-bottom: 0; }
.woocommerce-checkout-review-order-table tbody .product-name { flex: 1 1 auto; width: auto; min-width: 0; }
.woocommerce-checkout-review-order-table tbody .product-total { flex: none; }
.woocommerce-checkout-review-order-table tfoot tr { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 14px 0; border-bottom: 1px solid #e6e6e6; }
.woocommerce-checkout-review-order-table tfoot tr:last-child { border-bottom: 0; }
.woocommerce-checkout-review-order-table tfoot :is(th, td) { display: block; padding: 0; border: 0; }
.woocommerce-checkout-review-order-table tfoot th { flex: none; white-space: nowrap; }
.woocommerce-checkout-review-order-table tfoot td { flex: 0 1 auto; min-width: 0; text-align: end; }
.woocommerce-checkout-review-order-table tfoot :is(.shipping, .elkgrid-credit) td { flex: 1 1 auto; text-align: start; }
.woocommerce-checkout-review-order-table tfoot .order-total { align-items: center; padding-top: 16px; }
.woocommerce-checkout-review-order-table #shipping_method li { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 8px; font-weight: 400; line-height: 1.8; }
.woocommerce-checkout-review-order-table #shipping_method input { flex: none; margin-top: 6px; }
.woocommerce-checkout-review-order-table #shipping_method .amount { color: var(--ps-primary); font-weight: 700; }
:is(.cart_totals, .woocommerce-checkout-review-order-table) .elkgrid-credit td { color: #66727e; font-size: 12.5px; font-weight: 400; line-height: 1.8; }
@media (max-width: 1024px) {
	/* the form and the order one under the other: side by side, the order's column was too narrow for its options */
	form.checkout .elementor-top-section > .elementor-container { flex-wrap: wrap; }
	form.checkout .elementor-top-section > .elementor-container > .elementor-column { width: 100% !important; }
}
@media (max-width: 767px) {
	.woocommerce-checkout-review-order-table tbody tr { flex-wrap: wrap; gap: 0; }
	.woocommerce-checkout-review-order-table tbody .product-name { flex-basis: 100%; padding-bottom: 6px; }
	.woocommerce-checkout-review-order-table .cart_item .product-total { flex: 1 1 100%; padding-top: 0; padding-inline-start: 0; text-align: end; }
	.woocommerce-checkout-review-order-table .ps-review-item__img img { width: 48px; height: 48px; }
	.woocommerce-checkout-review-order-table :is(.ps-checkout-qty, .product-name dl.variation.ps-opts) { margin-inline-start: 0; }
	.woocommerce-cart-form .product-thumbnail img { width: 72px; height: 72px; }
}

/* ================================================================ phone menu panel */
.ps-drawer__head--close { justify-content: flex-start; min-height: 50px; padding: 0 20px; border-bottom: 1px solid rgba(0,0,0,.105); }
.ps-drawer__head--close .ps-drawer__close { gap: 8px; padding: 0; color: #333; font-size: 14px; font-weight: 600; }
.ps-menu-tabs__tab { color: #9a9a9a; font-size: 14px; }
.ps-menu-tabs__tab.is-active { color: #333; }
.ps-mobile-nav__toggle::before { transform: rotate(45deg); }
.is-open > .ps-mobile-nav__toggle::before { transform: rotate(-45deg); }
.ps-drawer--menu .ps-mobile-nav__list a { font-size: 13px; }
.ps-menu-tabs__tab { font-size: 13px; background: #fbfbfb; }
.ps-menu-tabs__tab.is-active { background: #f1f1f1; }
.ps-drawer--menu .ps-search-form__input { font-size: 14px; }

/* ================================================================ page frame: the old theme's 40px above and below the content */
.ps-main > .ps-layout, .ps-main > .ps-layout--page:first-of-type { padding-block: 40px; }
/* the old theme's hidden title band above plain pages: 40px of room (30 on tablets and phones) */
.ps-page-title-space { height: 40px; }
@media (max-width: 1024px) { .ps-page-title-space { height: 30px; } }
/* shop archives drawn by a theme template (not a Woodmart layout): 20px on tablets and phones, as the old theme had */
@media (max-width: 1024px) { body.woocommerce .ps-main > .ps-layout--theme { padding-block: 20px; } }

/* the archive's «filter by» button on phones: a line of text in the frame the widget draws around it */
.elementor-widget-wd_builder_off_canvas_column_btn > .elementor-widget-container .ps-offcanvas-btn { width: auto; min-height: 19px; gap: 4px; padding: 0; color: #424242; font-weight: 600; line-height: 14px; }

/* «link» style buttons (e.g. «ادامه مطلب» under the home page's text): the old theme's light line under them */
.ps-button--link { border-bottom: 2px solid #e9e9e9; }

/* image galleries: each picture at its own size, centred in its column (the shop's logos and licences) */
.ps-images__item { display: flex; flex-direction: column; align-items: center; justify-content: center; }
.ps-images__item img { width: auto; max-width: 100%; margin-inline: auto; }

/* ================================================================ accessibility, without changing the look */
/* carousel dots: the same small dots, a 24px target around each */
.ps-carousel__dot, .ps-carousel__dot.is-active { width: 24px; height: 24px; }
.ps-carousel__dot::before, .ps-carousel__dot.is-active::before { top: 7px; inset-inline-start: 7px; }

/* ================================================================ page blocks (about, contact): Parsateb's look
   Sections built with the theme's page blocks carry the class pt-sec (migration 002): rounded white cards with a soft
   blue shadow, icons in the brand's gradient, light blue bands -- a calm, clinical look in the shop's own colours. */
.pt-sec { --pt-r: 18px; --pt-ink: #1f2f3f; --pt-line: #e3edf6; --pt-shadow: 0 14px 36px rgba(3, 115, 200, .09); --pt-grad: var(--ps-primary); }
.elementor-section.pt-hero { overflow: hidden; background: #f2f7fc; }
.elementor-section.pt-tint { background: #f5f9fd; }
.pt-sec :is(.ps-split__title, .ps-feat__title, .ps-cf__title, .ps-cta__title) { color: var(--pt-ink); }
.pt-sec .ps-split__title { font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; }
.pt-sec :is(.ps-split__intro, .ps-feat__intro) { color: #4f5b67; }
/* the short line above a heading: the brand's medical cross before it, in the brand colour (no pill, no rules) */
.pt-sec .ps-eyebrow { gap: 9px; margin-bottom: 12px; padding: 0; border-radius: 0; background: none; color: var(--ps-primary); font-size: 14px; font-weight: 700; }
.pt-sec .ps-eyebrow::before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 0; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5 0h4v5h5v4H9v5H5V9H0V5h5z'/%3E%3C/svg%3E") center / 14px 14px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5 0h4v5h5v4H9v5H5V9H0V5h5z'/%3E%3C/svg%3E") center / 14px 14px no-repeat; }
.pt-sec .ps-eyebrow::after { content: none !important; }
/* buttons: rounded, the main one in the gradient */
.pt-sec .ps-actions .ps-button { min-height: 50px; padding-inline: 26px; border-radius: 14px; font-weight: 700; }
.pt-sec .ps-actions .ps-button--primary { border: 0; background: var(--ps-primary); box-shadow: none; }
.pt-sec .ps-actions .ps-button--primary:hover { background: var(--ps-primary-dark); box-shadow: none; }
/* (no button moves under the pointer: only its colour changes) */
.pt-sec .ps-button, .pt-sec .ps-button:hover { transform: none !important; }
.pt-sec .ps-actions .ps-button--outline { border-color: var(--ps-primary); background: #fff; color: var(--ps-primary); }
.pt-sec .ps-actions .ps-button--outline:hover { background: var(--ps-primary); color: #fff; box-shadow: none; }
/* lists in the shop's text: blue dots */
.pt-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) ul { display: grid; gap: 2px; margin: 10px 0 0; padding: 0; list-style: none; }
.pt-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) li { position: relative; margin: 0; padding-inline-start: 20px; line-height: 1.9; text-align: start; }
.pt-sec :is(.ps-split__intro, .ps-feat__text, .ps-feat__intro) li::before { content: ""; position: absolute; inset-inline-start: 2px; top: .78em; width: 8px; height: 8px; border-radius: 50%; background: var(--ps-primary); opacity: .75; transform: none; }
.pt-sec .ps-feat__text p { margin: 0 0 10px; }
.pt-sec .ps-feat__text > :last-child { margin-bottom: 0; }

/* opening band: the logo on a white card; centred when the band has no picture (contact) */
.pt-hero .ps-split__img { display: grid; place-items: center; aspect-ratio: 5 / 4; padding: 10%; border-radius: 32px; background: #fff; box-shadow: var(--pt-shadow); }
.pt-hero .ps-split__img::after { content: ""; position: absolute; inset: -14px 14px 14px -14px; z-index: -1; border-radius: 32px; background: #dcebf8; }
.pt-hero .ps-split__img img { width: 82%; height: auto; object-fit: contain; }
.pt-hero--center .ps-split { grid-template-columns: minmax(0, 1fr); max-width: 860px; margin-inline: auto; text-align: center; }
.pt-hero--center :is(.ps-split__intro, .ps-split__crumbs) { text-align: center; }
.pt-hero--center :is(.ps-actions, .ps-split__crumbs) { justify-content: center; }
.pt-hero--center .ps-breadcrumbs { justify-content: center; }

/* facts and ways to get in touch: white cards lifted over the band's lower edge */
.elementor-section.pt-facts { position: relative; z-index: 2; margin-top: -56px; }
.pt-sec .ps-feat--contact .ps-feat__item { border: 1px solid var(--pt-line); border-radius: var(--pt-r); background: #fff; box-shadow: var(--pt-shadow); }
.pt-sec .ps-feat--contact .ps-feat__icon { border-radius: 14px; background: #e6f2fc; }
.pt-sec .ps-feat--contact .ps-feat__text { color: var(--pt-ink); font-size: 15px; }
.pt-sec .ps-feat--contact .ps-feat__item--link { transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.pt-sec .ps-feat--contact .ps-feat__item--link:hover { border-color: var(--ps-primary); }
.pt-sec .ps-feat--contact .ps-feat__item--link:hover .ps-feat__icon { background: var(--pt-grad); }

/* cards: rounded, an icon in the gradient, a gentle lift */
.pt-sec .ps-feat--cards .ps-feat__item { padding: 30px 26px; border: 1px solid var(--pt-line); border-radius: var(--pt-r); background: #fff; box-shadow: 0 4px 14px rgba(3, 115, 200, .05); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.pt-sec .ps-feat--cards .ps-feat__item:hover { border-color: #cfe3f5; box-shadow: var(--pt-shadow); transform: translateY(-4px); }
.pt-sec .ps-feat--cards .ps-feat__icon { width: 58px; height: 58px; border: 0; border-radius: 18px; background: var(--ps-primary); color: #fff; box-shadow: none; }
.pt-sec .ps-feat--cards.ps-align-right .ps-feat__item { align-items: flex-start; }
.pt-sec .ps-feat--cards .ps-feat__grid .ps-feat__title { font-size: 17px; }

/* category tiles: the illustration on a soft circle, in a white card */
.pt-sec .ps-feat--tiles .ps-feat__item { padding: 20px 14px 18px; border: 1px solid var(--pt-line); border-radius: var(--pt-r); background: #fff; transition: transform .3s ease, box-shadow .3s ease; }
.pt-sec .ps-feat--tiles .ps-feat__item--link:hover { border-color: #cfe3f5; box-shadow: var(--pt-shadow); transform: translateY(-4px); }
.pt-sec .ps-feat__img { width: 74%; margin-inline: auto; background: none; }
.pt-sec .ps-feat__img img { object-fit: contain; padding: 12%; }

/* picture beside text (the licence): rounded, a soft frame behind it */
.pt-sec .ps-split--frame .ps-split__img:first-child::before { inset: -16px -16px 16px 16px; border: 0; border-radius: 26px; background: #e3effa; }
.pt-sec .ps-split--media-start.ps-split--frame .ps-split__img:first-child::before { inset: -16px 16px 16px -16px; }
.pt-sec .ps-split__img img { border-radius: 18px; box-shadow: var(--pt-shadow); }
.pt-hero .ps-split__img img { border-radius: 0; box-shadow: none; }

/* partners: the standards as pills, the logos on white cards */



/* contact form and the office card: white rounded panels */
.pt-sec .ps-cf, .pt-sec .ps-feat--boxed { padding: clamp(24px, 3vw, 40px); border: 1px solid var(--pt-line); border-radius: 22px; background: #fff; box-shadow: var(--pt-shadow); }
.pt-sec .ps-cf :is(input, select, textarea) { border-radius: 12px; background: #fafcfe; }
.pt-sec .ps-cf :is(input, select, textarea):focus { border-color: var(--ps-primary); background: #fff; box-shadow: 0 0 0 4px rgba(3, 115, 200, .1); }
.pt-sec .ps-cf__foot .ps-button { min-height: 50px; border-radius: 14px; background: var(--pt-grad); }
.pt-sec .ps-feat--list .ps-feat__icon { border: 0; border-radius: 12px; background: #e6f2fc; }
@media (max-width: 767px) {
	.elementor-section.pt-facts { margin-top: -40px; }
	.pt-hero .ps-split__img { aspect-ratio: 16 / 9; border-radius: 24px; }
	.pt-sec .ps-feat--cards .ps-feat__item { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) { .pt-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 > .pt-hero:first-child) { padding-top: 0; }

/* ================================================================ the blog (parsa-mag; migration 004) */
.pt-maghero .elementor-heading-title { color: var(--pt-ink); font-size: clamp(28px, 3.4vw, 42px); font-weight: 800; line-height: 1.35; }
.pt-maghero .elementor-widget-text-editor { max-width: 640px; margin-inline: auto; color: #4f5b67; font-size: 15px; line-height: 2; }
.pt-maghero .rank-math-breadcrumb, .pt-maghero .rank-math-breadcrumb p { justify-content: center; margin: 0; color: #6b7785; font-size: 13px; }
.pt-maghero .ps-eyebrow { margin: 0; }
.pt-maghero .elementor-widget-search { width: min(100%, 580px); margin-inline: auto; }
.pt-maghero .ps-pro-search { display: flex; gap: 6px; padding: 6px; border: 1px solid #d6e8f7; border-radius: 18px; background: #fff; box-shadow: var(--pt-shadow); }
.pt-maghero .ps-pro-search__input { flex: 1; min-width: 0; min-height: 48px; padding-inline: 14px; border: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 15px; }
.pt-maghero .ps-pro-search__go { display: grid; place-items: center; width: 50px; border: 0; border-radius: 13px; background: var(--pt-grad); color: #fff; cursor: pointer; }
.pt-maghero .elementor-widget-wd_text_block { text-align: center; }
.pt-maghero .ps-text-block > * { display: inline-flex; width: auto; margin-inline: auto; }
.pt-maghero .ps-text-block .rank-math-breadcrumb { display: block; }
.pt-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 4px; }
.pt-pills a { padding: 7px 16px; border: 1px solid #d6e8f7; border-radius: 999px; background: #fff; color: #33475b; font-size: 13px; font-weight: 600; transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.pt-pills a:hover { border-color: transparent; background: var(--ps-primary); color: #fff; }

/* articles: rounded cards, the picture easing in a little under the pointer */
.pt-mag { --pt-ink: #1f2f3f; --pt-line: #e3edf6; --pt-shadow: 0 14px 36px rgba(3, 115, 200, .09); --pt-grad: var(--ps-primary); }
.pt-mag .elementor-post__card { overflow: hidden; border: 1px solid var(--pt-line); border-radius: 18px !important; background: #fff; box-shadow: 0 4px 14px rgba(3, 115, 200, .05); transition: transform .3s ease, box-shadow .3s ease; }
.pt-mag .elementor-post__card:hover { box-shadow: var(--pt-shadow); transform: translateY(-4px); }
.pt-mag .elementor-post__card .elementor-post__thumbnail img { transition: transform .5s ease; }
.pt-mag .elementor-post__card:hover .elementor-post__thumbnail img { transform: scale(1.05); }
.pt-mag .elementor-post__card .elementor-post__title, .pt-mag .elementor-post__card .elementor-post__title a { color: var(--pt-ink) !important; font-weight: 700; line-height: 1.7; }
.pt-mag .elementor-post__card .elementor-post__title a:hover { color: var(--ps-primary) !important; }
.pt-mag .elementor-post__card .elementor-post__read-more { color: var(--ps-primary) !important; font-weight: 700; }
.pt-mag .elementor-post__card .elementor-post__meta-data { border-color: var(--pt-line); color: #8593a1; }
/* page numbers: rounded squares, the current one in the gradient */
.pt-mag .elementor-pagination { margin-top: 40px; }
.pt-mag .elementor-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; margin: 4px !important; padding: 0 12px; border: 1px solid var(--pt-line); border-radius: 12px; background: #fff; color: #33475b !important; transition: border-color .25s ease, color .25s ease; }
.pt-mag .elementor-pagination a.page-numbers:hover { border-color: var(--ps-primary); color: var(--ps-primary) !important; }
.pt-mag .elementor-pagination .page-numbers.current { border-color: transparent; background: var(--pt-grad); color: #fff !important; }
.pt-mag .elementor-pagination .page-numbers.dots { border: 0; background: none; }
.pt-mag .elementor-pagination span.page-numbers:is(.prev, .next) { opacity: .45; }
/* the sidebar: one rounded white panel */
.pt-mag .elementor-inner-section { border: 1px solid var(--pt-line); border-radius: 18px !important; box-shadow: var(--pt-shadow) !important; }
.pt-maghero .elementor-widget-wrap { flex-direction: column; flex-wrap: nowrap; align-items: center; gap: 16px; }
.pt-maghero .elementor-widget-wrap > .elementor-element { width: 100%; margin: 0; }
.pt-maghero .elementor-widget-wrap > :is(.elementor-widget-text-editor, .elementor-widget-search) { width: min(100%, 640px); }
.pt-maghero .ps-text-block { text-align: center !important; }
.pt-maghero .rank-math-breadcrumb p { display: inline; }
.ps-main > .ps-layout--theme:has(> .elementor > .pt-hero:first-child) { padding-top: 0; }
.pt-maghero .ps-eyebrow { align-items: center; line-height: 1.6; }
.pt-maghero .rank-math-breadcrumb a { color: #33475b; text-decoration: none; }
.pt-maghero .rank-math-breadcrumb a:hover { color: var(--ps-primary); }
/* phones: the opening band without the logo card (the header shows the logo; the band stays short and steady) */
@media (max-width: 767px) { .pt-hero .ps-split__media { display: none; } }

/* partners: the text and the standards as a checklist beside the certificates; the brands in one even row */
.pt-brands .ps-feat__head { max-width: none; margin: 0; }
.pt-brands .ps-feat__intro ul { gap: 8px; margin-top: 16px; }
.pt-brands .ps-feat__intro li { padding-inline-start: 30px; }
.pt-brands .ps-feat__intro li::before { top: .3em; inset-inline-start: 0; width: 20px; height: 20px; border-radius: 50%; background: #e3effa; opacity: 1; }
.pt-brands .ps-feat__intro li::after { content: ""; position: absolute; top: calc(.3em + 5px); inset-inline-start: 7px; width: 6px; height: 9px; border: solid var(--ps-primary); border-width: 0 2px 2px 0; transform: rotate(45deg); }
.pt-certs .ps-images { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.pt-certs .ps-images__item { flex: 0 0 calc((100% - 28px) / 3); display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 18px; border: 1px solid var(--pt-line); border-radius: 16px; background: #fff; }
.pt-certs .ps-images__item img { width: auto; max-height: 72px; object-fit: contain; }
.pt-logos .ps-feat__head { margin-bottom: 24px; }
.pt-logos .ps-feat__head .ps-feat__title { color: var(--pt-ink); font-size: clamp(20px, 2vw, 24px); font-weight: 800; }
/* each logo on its own white card, with room between the cards; the logo fills its card */
.pt-logos .ps-images--carousel { --ps-g: 20px !important; }
.pt-logos .ps-images__item { display: grid; place-items: center; aspect-ratio: 4 / 3; padding: 4px 10px; border: 1px solid var(--pt-line); border-radius: 16px; background: #fff; transition: border-color .25s ease; }
.pt-logos .ps-images__item:hover { border-color: #bcdaf3; }
.pt-logos .ps-images__item img { width: 100%; height: 100%; max-width: 170px; object-fit: contain; }
@media (max-width: 767px) { .pt-logos .ps-images--carousel { --ps-g: 12px !important; } }

/* questions: each one its own card; the open one framed in the brand colour, its title in it too */
.pt-faq .ps-feat__head { margin: 0; }
.pt-faq .ps-accordion { display: grid; gap: 12px; border: 0; }
.pt-faq .ps-accordion .ps-accordion__item { overflow: hidden; margin: 0; border: 1px solid var(--pt-line) !important; border-radius: 14px; background: #fff; box-shadow: none; transition: border-color .25s ease; }
.pt-faq .ps-accordion .ps-accordion__item.is-open { border-color: var(--ps-primary) !important; }
.pt-faq .ps-accordion__title { gap: 14px; padding: 18px 20px; border: 0; color: var(--pt-ink); font-size: 15px; font-weight: 700; }
.pt-faq .ps-accordion__item.is-open .ps-accordion__title { color: var(--ps-primary); }
.pt-faq .ps-accordion__opener { display: grid; flex: none; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: #e6f2fc; color: var(--ps-primary); transition: background-color .25s ease, color .25s ease; }
.pt-faq .ps-accordion__item.is-open .ps-accordion__opener { background: var(--ps-primary); color: #fff; }
.pt-faq .ps-accordion__content { padding: 0 20px 18px; color: #4f5b67; line-height: 2; }
.pt-faq .ps-accordion__content > :last-child { margin-bottom: 0; }

/* «need advice?»: one light panel -- the question beside three ways to reach an advisor, the call in the brand colour */
.elementor-section.pt-help > .elementor-container { padding: clamp(24px, 4vw, 48px) clamp(16px, 3vw, 40px); border: 1px solid #d6e8f7; border-radius: 24px; background: #f5f9fd; }
.pt-help .elementor-column > .elementor-widget-wrap { align-content: center; }
.pt-help .ps-feat__head { max-width: none; margin: 0; }
.pt-help .ps-feat__head .ps-feat__title { font-size: clamp(22px, 2.4vw, 30px); }
.pt-help .pt-help__hours { display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; color: #6b7785; font-size: 13px; }
.pt-help .pt-help__hours::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #2fa36b; }
.pt-help .ps-feat__grid { gap: 12px; }
.pt-help .ps-feat--contact .ps-feat__item { box-shadow: none; }
.pt-help .ps-feat__grid > li:first-child .ps-feat__item { border-color: var(--ps-primary); background: var(--ps-primary); }
.pt-help .ps-feat__grid > li:first-child :is(.ps-feat__text, .ps-feat__title) { color: #fff !important; }
.pt-help .ps-feat__grid > li:first-child .ps-feat__title { opacity: .85; }
.pt-help .ps-feat__grid > li:first-child .ps-feat__icon { background: rgba(255, 255, 255, .16); color: #fff; }
.pt-help .ps-feat__grid > li:first-child .ps-feat__item--link:hover { border-color: var(--ps-primary-dark); background: var(--ps-primary-dark); }
/* contact: licences and trust seals, a short text over a row of even cards */
.pt-trust .ps-feat__head { max-width: 860px; margin: 0 auto 28px; }
.pt-trust .ps-images { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.pt-trust .ps-images__item { display: grid; flex: 0 0 150px; place-items: center; height: 112px; padding: 16px; border: 1px solid var(--pt-line); border-radius: 16px; background: #fff; }
.pt-trust .ps-images__item img { width: auto; max-height: 72px; object-fit: contain; }
@media (max-width: 767px) { .pt-trust .ps-images__item, .pt-certs .ps-images__item { flex-basis: calc((100% - 28px) / 3); height: 92px; padding: 12px; } }
/* phones: the band's line about the magazine keeps the room of its four lines while the site's font loads (no jump) */
@media (max-width: 767px) { .pt-maghero .elementor-widget-text-editor { min-height: 8em; } }

/* the standards in the partners' text: plain text, no underlines (the text came with three layers of them) */
.pt-brands .ps-feat__intro :is(a, span, u) { border: 0 !important; color: inherit !important; text-decoration: none !important; }
.pt-brands .ps-feat__intro a:hover { color: var(--ps-primary) !important; }
/* phone numbers inside Persian text: read left to right, as one piece */
.pt-sec a[href^="tel:"][dir="ltr"] { display: inline-block; unicode-bidi: isolate; }

/* ================================================================ home page: section titles and blue bands (migration 005)
   40px between what comes before and a title or a band (32 on phones), 20px between a title and what it heads; the
   margins make up the rest, on top of the sections' and columns' own padding */
.pt-title { margin-top: 30px; }
.pt-band .pt-title { margin-top: 0; }
.pt-title.elementor-element-00068d3 { margin-top: 20px; margin-bottom: 10px !important; }
.pt-title:has(+ .elementor-widget-wd_products) { margin-bottom: 10px; }
.pt-title:has(+ .elementor-widget-wd_blog) { margin-bottom: 20px !important; }
.elementor-section.pt-band { margin-top: 30px !important; }
.elementor-section.elementor-element-b7c3213 { margin-top: 20px !important; }
@media (max-width: 767px) {
	.pt-title { margin-top: 22px; }
	.pt-title.elementor-element-00068d3 { margin-top: 12px; }
	.pt-title.elementor-element-1c583e6 { margin-top: 7px; }
	.elementor-section.pt-band { margin-top: 22px !important; }
	.elementor-section.elementor-element-b7c3213 { margin-top: 12px !important; }
}

/* «see all» in the blue bands: nothing moves but the little arrow */
.pt-more .elementor-button { display: inline-flex; align-items: center; min-height: 42px; padding: 0 20px; box-shadow: none; line-height: 1; transition: background-color .2s ease, color .2s ease; }
.pt-more .elementor-button-content-wrapper { display: flex; align-items: center; gap: 10px; }
.pt-more .elementor-button-content-wrapper::after { content: ""; width: 7px; height: 7px; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg); transition: translate .2s ease; }
.pt-more .elementor-button:hover .elementor-button-content-wrapper::after { translate: -3px 0; }

/* ================================================================ home page: the magazine (migration 005) */
.pt-home-mag .ps-carousel__track { align-items: stretch; }
.pt-home-mag .ps-blog-card { overflow: hidden; border: 1px solid #e6edf3; border-radius: 12px; background: #fff; box-shadow: 0 2px 10px rgba(3,115,200,.05); text-align: start; transition: border-color .2s ease, box-shadow .2s ease; }
.pt-home-mag .ps-blog-card:hover { border-color: #b9d8ef; box-shadow: 0 8px 24px rgba(3,115,200,.1); }
.pt-home-mag .ps-blog-card__media { border-radius: 0; }
.pt-home-mag .ps-blog-card__media a { display: block; }
.pt-home-mag .ps-blog-card__media img { aspect-ratio: 16 / 10; object-fit: cover; }
.pt-home-mag .ps-blog-card__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: 8px; padding: 14px 16px 0; }
.pt-home-mag .ps-blog-card__byline { display: none; }
.pt-home-mag .ps-blog-card__cat { align-self: flex-start; margin: 0; padding: 0 9px; border-radius: 6px; background: #eaf4fc; color: var(--ps-primary); font-size: 12px; font-weight: 600; line-height: 24px; }
.pt-home-mag .ps-blog-card__title { display: -webkit-box; min-height: 3.4em; margin: 0; overflow: hidden; font-size: 15px; font-weight: 700; line-height: 1.7; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.pt-home-mag .ps-blog-card__title a { color: #1f2f3f; }
.pt-home-mag .ps-blog-card__title a:hover { color: var(--ps-primary); }
.pt-home-mag .ps-blog-card__excerpt { display: -webkit-box; margin: 0; overflow: hidden; color: #5f6c78; font-size: 13px; line-height: 1.9; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.pt-home-mag .ps-blog-card__more { display: flex; align-self: stretch; align-items: center; justify-content: space-between; margin-top: auto; padding: 12px 0 14px; border-top: 1px solid #eef2f6; color: var(--ps-primary); font-size: 13px; font-weight: 600; }
.pt-home-mag .ps-blog-card__more::after { content: ""; width: 7px; height: 7px; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; transform: rotate(45deg); transition: translate .2s ease; }
.pt-home-mag .ps-blog-card:hover .ps-blog-card__more::after { translate: -3px 0; }
.pt-home-mag .ps-carousel { --ps-arrow-offset: -31px; }
.pt-home-mag .ps-carousel__arrow { width: 38px; height: 38px; margin-top: -19px; border-radius: 50%; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.14); color: #1f2f3f; }
.pt-home-mag .ps-carousel__arrow .ps-icon { width: 16px; height: 16px; stroke-width: 2; }
@media (max-width: 767px) { .pt-home-mag .ps-carousel__arrow { display: none; } }

/* ================================================================ home page: the category boxes (migration 005)
   every picture the same height so the captions line up; the caption is the link and covers the whole box. Nothing
   moves on hover but the little arrow */
.pt-cats > .elementor-container { padding-inline: 5px; }
.elementor-section.elementor-element-246a8cd { margin-top: 10px !important; }
.pt-cat > .elementor-element-populated { padding: 8px !important; border: 1px solid #e9eef2; background: #fff; box-shadow: none; }
.pt-cat .elementor-widget, .pt-cat .elementor-widget-container { position: static; height: 100%; }
.pt-cat figure { display: flex; flex-direction: column; height: 100%; margin: 0; }
.pt-cat figure > a { display: flex; flex: none; align-items: center; justify-content: center; height: 156px; padding: 8px; }
.pt-cat figure img { width: auto !important; max-width: 100%; height: 100%; object-fit: contain; }
.pt-cat figcaption { flex: 1 1 auto; display: flex; align-items: flex-start; justify-content: center; margin: 0 !important; padding: 10px 4px 6px; font-size: 14px; font-weight: 600; line-height: 1.5; }
.pt-cat figcaption a { display: inline-flex; align-items: center; gap: 8px; color: #1f2f3f; text-decoration: none; transition: color .2s ease; }
.pt-cat:hover figcaption a { color: var(--ps-primary); }
.pt-cat figcaption a::before { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.pt-cat figcaption a:focus-visible { outline: 0; }
.pt-cat figcaption a:focus-visible::before { outline: 2px solid var(--ps-primary); outline-offset: -2px; }
.pt-cat figcaption a::after { content: ""; flex: none; width: 6px; height: 6px; border-inline-end: 2px solid currentColor; border-block-end: 2px solid currentColor; opacity: .55; transform: rotate(45deg); transition: translate .2s ease, opacity .2s ease; }
.pt-cat:hover figcaption a::after { opacity: 1; translate: -3px 0; }
@media (max-width: 1024px) { .pt-cat figure > a { height: 116px; } .pt-cat figcaption { font-size: 13px; } }
@media (max-width: 767px) {
	.elementor-section.elementor-element-246a8cd { margin-top: 8px !important; }
	.pt-cat > .elementor-element-populated { padding: 4px !important; }
	.pt-cat figure > a { height: 68px; padding: 6px; }
	.pt-cat figcaption { padding: 6px 1px 4px; font-size: 12px; text-align: center; }
	.pt-cat figcaption a::after { display: none; }
}

/* ================================================================ home page: the text about the shop (migration 005)
   a calm panel, the two paragraphs side by side and whole on large screens; narrower, cut with «read more» as before */
.elementor-section.pt-about { margin-block: 30px 40px !important; padding: 0 !important; }
.pt-about > .elementor-container { padding-inline: 10px; }
.pt-about .elementor-column > .elementor-element-populated { padding: 30px 34px !important; background: #f4f8fc; }
.pt-about .elementor-widget-text-editor { margin: 0; }
.pt-about p { margin: 0 0 14px; color: #44525f; font-size: 15px; line-height: 2; text-align: start; }
.pt-about p:last-child { margin-bottom: 0; }
.pt-about strong { color: #1f2f3f; font-weight: 700; }
.pt-about p a, .pt-about p span[style] { color: var(--ps-primary) !important; }
.pt-about p a { font-weight: 600; text-decoration: none; }
.pt-about p a:hover { text-decoration: underline; text-underline-offset: 4px; }
.pt-about p span[style*="008000"] { font-weight: 600; }
.pt-about p.pt-about__eyebrow { display: flex; align-items: center; gap: 9px; width: 100%; margin-bottom: 12px; color: var(--ps-primary); font-size: 14px; font-weight: 700; line-height: 1.6; }
.pt-about__eyebrow::before { 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 14 14'%3E%3Cpath d='M5 0h4v5h5v4H9v5H5V9H0V5h5z'/%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 14 14'%3E%3Cpath d='M5 0h4v5h5v4H9v5H5V9H0V5h5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.pt-about .wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap { max-height: 250px !important; }
.pt-about .wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap::after { color: #f4f8fc; }
.pt-about .ps-button--link { border-bottom: 0; color: var(--ps-primary); font-weight: 600; }
@media (min-width: 1025px) {
	.pt-about .elementor-widget-text-editor > .elementor-widget-container { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
	.pt-about p { margin: 0; }
	.pt-about p.pt-about__eyebrow { grid-column: 1 / -1; }
	.pt-about .wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap { max-height: none !important; }
	.pt-about .wd-collapsible-content:not(.wd-opened) > .elementor-widget-wrap::after, .pt-about .elementor-widget-wd_button { display: none; }
}
@media (max-width: 767px) {
	.elementor-section.pt-about { margin-block: 22px 14px !important; }
	.pt-about .elementor-column > .elementor-element-populated { padding: 22px 18px !important; }
	.pt-about p { font-size: 14px; }
}

/* ================================================================ footer (block 435, migration 006)
   deep navy; logo and social icons, the contact tiles, the link columns, the licence
   on a white card, the copyright. Nothing moves or grows on hover: only colours change. (Pages keep an empty 40px and
   more under their content, as the old theme's «pre-footer» had: the footer's negative margin takes part of it back) */
.ps-footer { --ps-link: #c9dcec; --ps-link-hover: #fff; --pt-navy: #0a2540; --pt-line: rgba(255,255,255,.1); position: relative; margin-top: -30px; padding-top: 44px; overflow: hidden; border-radius: 16px 16px 0 0; background: var(--pt-navy); color: rgba(255,255,255,.72); }
.ps-footer .elementor-435 { position: relative; }
.ps-footer .elementor-435 .elementor-element-populated { padding: 0 !important; }
.ps-footer .elementor-435 > .elementor-section > .elementor-container { padding-inline: 10px; }

/* logo and social icons */
.ps-footer .elementor-435 .elementor-element.elementor-element-10c60f6 { margin-top: 0; }
.elementor-element-10c60f6 > .elementor-container { align-items: center; justify-content: space-between; gap: 20px; }
.elementor-element-10c60f6 .elementor-column { width: auto !important; }
.elementor-element-3590ba8 { width: 150px !important; max-width: 150px !important; margin: 0 !important; }
.elementor-element-3590ba8 img { display: block; width: 100%; height: auto; filter: brightness(0) invert(1); }
.ps-footer .elementor-social-icons-wrapper { display: flex; flex-wrap: wrap; gap: 10px; }
.ps-footer .elementor-grid-item { margin: 0 !important; }
.ps-footer .elementor-social-icon { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; padding: 0; border-radius: 12px; background: rgba(255,255,255,.07) !important; box-shadow: inset 0 0 0 1px var(--pt-line); transition: background-color .2s ease; }
.ps-footer .elementor-social-icon:hover { background: var(--ps-primary) !important; }
.ps-footer .elementor-social-icon svg { width: 19px; height: 19px; filter: brightness(0) invert(1); }

/* the contact tiles */
.ps-footer .elementor-element.elementor-element-ec07374 { margin: 30px 0 0; }
.elementor-element-4db97f3 { width: 100% !important; max-width: none !important; margin: 0 !important; }
.elementor-element-4db97f3 > .elementor-widget-container { padding: 0 !important; }
.pt-foot-contact { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.pt-foot-contact__item { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 4px; min-height: 82px; padding: 14px 18px; padding-inline-start: 78px; border-radius: 12px; background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px var(--pt-line); }
.pt-foot-contact__item::before { content: ""; position: absolute; top: 50%; inset-inline-start: 18px; width: 46px; height: 46px; margin-top: -23px; border-radius: 12px; background: var(--ps-primary); }
.pt-foot-contact__item::after { content: ""; position: absolute; top: 50%; inset-inline-start: 30px; width: 22px; height: 22px; margin-top: -11px; background: #fff; -webkit-mask: var(--pt-ic) center / contain no-repeat; mask: var(--pt-ic) center / contain no-repeat; }
.pt-foot-contact__item--phone { --pt-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11 11 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11 11 0 0 0 .6 3.6 1 1 0 0 1-.25 1z'/%3E%3C/svg%3E"); }
.pt-foot-contact__item--mail { --pt-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2zm0 2v.5l8 5 8-5V7H4zm16 2.8-8 5-8-5V17h16V9.8z'/%3E%3C/svg%3E"); }
.pt-foot-contact__item--time { --pt-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20zm0 2a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm1 3v4.6l3.5 2.1-1 1.7L11 12.7V7h2z'/%3E%3C/svg%3E"); }
.pt-foot-contact__label { color: rgba(255,255,255,.6); font-size: 12.5px; line-height: 1.5; }
.pt-foot-contact__value { display: flex; flex-wrap: wrap; gap: 2px 16px; color: #fff; font-size: 15px; font-weight: 600; line-height: 1.6; }
.pt-foot-contact__value a { display: inline-block; color: #fff; text-decoration: none !important; unicode-bidi: isolate; transition: color .2s ease; }
.pt-foot-contact__value a:hover { color: #7cc4f7; }

/* the link columns */
.elementor-element-34c01e0 { margin-top: 40px; }
.elementor-element-34c01e0 > .elementor-container { display: grid; grid-template-columns: 1fr 1fr 1fr 1.7fr auto; gap: 32px; }
.elementor-element-34c01e0 .elementor-column { width: auto !important; }
.ps-footer .elementor-heading-title { margin: 0; color: #fff !important; text-align: start !important; font-size: 15px !important; font-weight: 700 !important; line-height: 1.6; }
.ps-footer .elementor-widget-heading { margin-bottom: 16px !important; }
.ps-footer .elementor-icon-list-items { display: flex; flex-direction: column; gap: 11px; }
.ps-footer .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.ps-footer .elementor-icon-list-item > a { display: flex; align-items: center; }
.ps-footer .elementor-icon-list-icon { display: none !important; }
.ps-footer .elementor-icon-list-text { padding: 0 !important; color: rgba(255,255,255,.72) !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.6; transition: color .2s ease; }
.ps-footer .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: #fff !important; }
.ps-footer .ps-image { display: block; text-align: start; }
.ps-footer .ps-image img { display: block; width: 104px; height: auto; padding: 8px; border-radius: 12px; background: #fff; box-sizing: border-box; }

/* the copyright */
.ps-footer .elementor-element.elementor-element-0f6cd3d { margin-top: 36px; padding: 16px 15px; border-top: 1px solid var(--pt-line) !important; }
.elementor-element-2e2580e, .elementor-element-2e2580e p { margin: 0; color: rgba(255,255,255,.55); font-size: 13px; line-height: 1.6; }

/* tablets and phones: the columns as an accordion, everything else stacked */
.ps-footer .ps-accordion { display: flex; flex-direction: column; gap: 10px; }
.ps-footer .ps-accordion > .ps-accordion__item { margin: 0 !important; border: 0 !important; border-radius: 12px; background: rgba(255,255,255,.05) !important; box-shadow: inset 0 0 0 1px var(--pt-line) !important; }
.ps-footer .ps-accordion__title { color: #fff !important; font-size: 15px !important; font-weight: 600 !important; }
.ps-footer .ps-accordion__opener { color: #fff; }
.ps-footer .ps-accordion__content { color: rgba(255,255,255,.72); }
.ps-footer .ps-accordion__content h4 { display: none; }
.ps-footer .ps-accordion__content hr { display: none; }
.ps-footer .ps-accordion__content ul { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ps-footer .ps-accordion__content a, .ps-footer .ps-accordion__content span[style] { color: rgba(255,255,255,.78) !important; font-size: 14px; font-weight: 500; text-decoration: none; }
.elementor-element-54ba653 { margin-top: 24px; }
.elementor-element-4a8cfd9 { margin-top: 24px; }
.ps-footer .elementor-element-4a8cfd9 .elementor-heading-title { text-align: center !important; }
.elementor-element-85a783b .ps-image { display: flex; justify-content: center; }
@media (min-width: 768px) { .single-product .ps-footer { margin-top: 0; } }
@media (max-width: 1024px) { .pt-foot-contact { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
	.ps-footer { margin-top: -10px; padding-top: 32px; }
	.elementor-element-10c60f6 > .elementor-container { flex-direction: column; }
	.ps-footer .elementor-social-icons-wrapper { justify-content: center; }
	.ps-footer .elementor-element.elementor-element-ec07374 { margin-top: 24px; }
	.ps-footer .elementor-element.elementor-element-0f6cd3d { margin-top: 24px; }
}

/* ================================================================ the side cart, as the old theme drew it: whole-width
   rows, each attribute on its own line with its name in bold, the price in blue, and the total with the buttons held at
   the bottom of the panel while the items scroll. (WooCommerce swaps the content's wrapper after every change for one
   that has only .widget_shopping_cart_content) */
.ps-drawer--cart .ps-drawer__head { min-height: 66px; padding: 15px; }
.ps-drawer--cart .ps-drawer__title { color: #242424; font-size: 18px; font-weight: 600; }
.ps-drawer--cart .ps-drawer__close { color: #424242; font-size: 14px; font-weight: 400; }
.ps-drawer--cart .ps-drawer__body { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.ps-drawer--cart .widget_shopping_cart_content { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; }
.ps-drawer--cart .woocommerce-mini-cart { flex: 1 1 auto; min-height: 0; margin: 0; padding: 0; overflow-y: auto; list-style: none; }
.ps-drawer--cart .woocommerce-mini-cart-item { grid-template-columns: 65px 1fr; gap: 6px 15px; padding: 15px; padding-inline-end: 35px; border-bottom: 0; transition: background-color .2s ease; }
.ps-drawer--cart .woocommerce-mini-cart-item:not(:last-child) { border-bottom: 1px solid rgba(0,0,0,.105); }
.ps-drawer--cart .woocommerce-mini-cart-item:hover { background: rgba(0,0,0,.04); }
.ps-drawer--cart .woocommerce-mini-cart-item img { width: 65px; height: 65px; border: 0; border-radius: 5px; }
.ps-drawer--cart .woocommerce-mini-cart-item > a:not(.remove) { color: #565656; font-weight: 500; line-height: 1.4; }
.ps-drawer--cart .woocommerce-mini-cart-item > a:not(.remove):hover { color: var(--ps-primary); }
.ps-drawer--cart .woocommerce-mini-cart-item .remove { top: 13px; inset-inline-end: 10px; width: 20px; height: 20px; color: #333; font-size: 16px; }
.ps-drawer--cart .woocommerce-mini-cart-item .ps-opts__row { display: block; padding: 0; border-radius: 0; background: none; font-size: inherit; line-height: inherit; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation.ps-opts dt { color: #333; font-weight: 600; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation.ps-opts dd { color: inherit; font-weight: 400; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation.ps-opts dd::after { content: none; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation { display: block; margin: 0; color: #424242; font-size: 12.6px; line-height: 1.5; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation dt { display: inline; color: #333; font-weight: 600; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation dd { display: inline; margin-inline-start: 4px; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation dd::after { content: "\A"; white-space: pre; }
.ps-drawer--cart .woocommerce-mini-cart-item dl.variation p { display: inline; }
.ps-drawer--cart .woocommerce-mini-cart-item .quantity { display: block; border-radius: 0; background: none; color: #bbb; font-size: 12.6px; line-height: 1.4; }
.ps-drawer--cart .woocommerce-mini-cart-item .quantity .amount { color: var(--ps-primary); font-weight: 600; }
.ps-drawer--cart .woocommerce-mini-cart__total { flex: none; align-items: center; padding: 15px; border-top: 1px solid rgba(0,0,0,.105); font-size: 18px; font-weight: 400; }
.ps-drawer--cart .woocommerce-mini-cart__total strong { color: #242424; font-weight: 600; }
.ps-drawer--cart .woocommerce-mini-cart__total .amount { font-weight: 600; }
.ps-drawer--cart .woocommerce-mini-cart__buttons { flex: none; padding: 0 15px 35px; }
.ps-drawer--cart .woocommerce-mini-cart__buttons .button { min-height: 42px; border-radius: 8px; }

/* ================================================================ product archives (migration 007)
   the filter box in the side column, the row of sub-categories, the title, the consultation line, the toolbar */
.pt-archive-main .elementor-heading-title, .pt-archive-main .elementor-headline { color: #1f2f3f !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.5; text-align: start; }
@media (max-width: 767px) { .pt-archive-main .elementor-heading-title, .pt-archive-main .elementor-headline { font-size: 18px !important; } }
.pt-archive-main .elementor-headline { text-align: start !important; }
.pt-archive-main .elementor-headline :is(.elementor-headline-plain-text, .elementor-headline-dynamic-text) { color: #1f2f3f !important; font-size: 22px !important; font-weight: 700 !important; line-height: 1.5; }
.pt-archive-main .elementor-headline-dynamic-wrapper svg { display: none; }
@media (max-width: 767px) { .pt-archive-main .elementor-headline :is(.elementor-headline-plain-text, .elementor-headline-dynamic-text) { font-size: 18px !important; } }
.pt-subcat > .elementor-widget-container, .pt-subcat .elementor-button-wrapper { display: flex; }
.pt-subcat > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.pt-archive-side > .elementor-element-populated { align-content: flex-start; }
/* the same distance under the breadcrumbs on every template (each had its own margin, some none) */
.elementor-section:has(> .elementor-container > .pt-archive-side) { margin-top: 23px !important; }
@media (max-width: 1024px) { .elementor-section:has(> .elementor-container > .pt-archive-side) { margin-top: 10px !important; } }
.pt-archive-side .elementor-widget-parsa_shop_filters { width: 100%; margin-bottom: 24px; }

/* the filters: quiet lines, one blue for everything that is on */
.ps-filters-box { --ps-f-pad: 16px; border: 1px solid #e9eef2; border-radius: 12px; background: #fff; }
.ps-filters-box .ps-filters__head { gap: 8px; min-height: 52px; padding: 10px var(--ps-f-pad); border-bottom: 1px solid #eef2f6; }
.ps-filters-box .ps-filters__title { flex: 1 1 auto; gap: 8px; color: #1f2f3f; 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: #93a0ad; 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: #eef2f6; }
.ps-filters-box .ps-filter__title { padding: 14px 0; color: #1f2f3f; font-size: 13.5px; }
.ps-filters-box .ps-filter__title .ps-icon { width: 12px; height: 12px; color: #93a0ad; }
.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: #44525f; font-size: 13px; font-weight: 400; line-height: 1.5; text-decoration: none; }
.ps-filters-box .ps-filter__opt:hover { background: none; color: #1f2f3f; }
.ps-filters-box .ps-filter__opt.is-active { background: none; color: var(--ps-primary); font-weight: 600; }
.ps-filters-box .ps-filter__opt--up { color: #93a0ad; font-size: 12.5px; }
.ps-filters-box .ps-filter__count { min-width: 0; padding: 0; background: none; color: #7c8996; 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 #cfd8e0; 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 #e3e9ee; 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: #e3e9ee; }
.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(3,115,200,.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: #e9eef2; border-radius: 8px; background: #f8fafc; }
.ps-filters-box .ps-range__value small { color: #93a0ad; font-size: 11.5px; }
.ps-filters-box .ps-range__value b { color: #1f2f3f; 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: #1f2f3f; font-size: 13.5px; text-decoration: none; }
.ps-filters-box .ps-switch__ui { width: 38px; height: 22px; background: #d8e0e7; }
.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; } }

/* over the products: how many, and what is on */
.ps-results-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 16px; }
.ps-results-head__count { color: #1f2f3f; font-size: 14px; font-weight: 700; }
.ps-results-head .ps-chips { display: flex; flex: 1 1 auto; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; }
.ps-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 0 10px; border: 0; border-radius: 8px; background: #eaf4fc; color: var(--ps-primary); font-size: 12.5px; font-weight: 600; text-decoration: none; transition: background-color .15s ease; }
.ps-chip:hover { background: #dcedfa; color: var(--ps-primary); }
.ps-chips__clear { color: #93a0ad; font-size: 12.5px; text-decoration: none; }
.ps-chips__clear:hover { color: var(--ps-primary); }

/* recent articles under the filters: one panel, the newest with its picture, the others as short rows */
.pt-side-title { width: 100%; margin: 0 !important; }
.pt-side-title > .elementor-widget-container { margin: 0 !important; padding: 14px 16px !important; border: 1px solid #e9eef2 !important; border-bottom: 0 !important; border-radius: 12px 12px 0 0; background: #fff; }
.pt-side-title .elementor-icon-box-wrapper { display: block !important; text-align: start !important; }
.pt-side-title .elementor-icon-box-icon { display: none !important; }
.pt-side-title .elementor-icon-box-title { margin: 0; }
.pt-side-title .elementor-icon-box-title :is(a, span) { display: flex; align-items: center; gap: 8px; color: #1f2f3f !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.5; text-decoration: none; transition: color .2s ease; }
.pt-side-title .elementor-icon-box-title :is(a, span)::before { content: ""; flex: none; width: 13px; height: 13px; background: var(--ps-primary); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M5 0h4v5h5v4H9v5H5V9H0V5h5z'/%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 14 14'%3E%3Cpath d='M5 0h4v5h5v4H9v5H5V9H0V5h5z'/%3E%3C/svg%3E") center / contain no-repeat; }
.pt-side-title .elementor-icon-box-title a::after { content: ""; flex: none; width: 6px; height: 6px; margin-inline-start: auto; border-inline-end: 1.5px solid #93a0ad; border-block-end: 1.5px solid #93a0ad; transform: rotate(45deg); }
.pt-side-title .elementor-icon-box-title a:hover { color: var(--ps-primary) !important; }
.pt-side-posts { width: 100%; }
.pt-side-posts > .elementor-widget-container { margin: 0 !important; padding: 0 16px 6px !important; border: 1px solid #e9eef2 !important; border-top: 0 !important; border-radius: 0 0 12px 12px; background: #fff; }
.pt-side-posts .elementor-posts-container { display: flex !important; flex-direction: column; gap: 0 !important; }
.pt-side-posts article.elementor-post { display: flex !important; flex-direction: row; align-items: center; gap: 12px; margin: 0 !important; padding: 12px 0 !important; border-top: 1px solid #eef2f6; }
.pt-side-posts .elementor-post__thumbnail__link { flex: none; width: 58px !important; margin: 0 !important; }
.pt-side-posts .elementor-post__thumbnail { position: relative; width: 58px; height: 58px; padding: 0 !important; overflow: hidden; border-radius: 8px; }
.pt-side-posts .elementor-post__thumbnail img { position: static !important; display: block; width: 100% !important; height: 100% !important; object-fit: cover; transform: none !important; }
.pt-side-posts .elementor-post__text { flex: 1 1 auto; min-width: 0; margin: 0 !important; }
.pt-side-posts .elementor-post__title { display: -webkit-box; margin: 0 !important; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.pt-side-posts .elementor-post__title, .pt-side-posts .elementor-post__title a { color: #44525f !important; font-size: 12.5px !important; font-weight: 500 !important; line-height: 1.7 !important; text-decoration: none; transition: color .2s ease; }
.pt-side-posts article.elementor-post:hover .elementor-post__title a { color: var(--ps-primary) !important; }
.pt-side-posts :is(.elementor-post__excerpt, .elementor-post__read-more, .elementor-post__meta-data) { display: none; }
.pt-side-posts article.elementor-post:first-child { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 0 !important; border-top: 0; }
.pt-side-posts article.elementor-post:first-child .elementor-post__thumbnail__link { width: 100% !important; }
.pt-side-posts article.elementor-post:first-child .elementor-post__thumbnail { width: 100%; height: auto; aspect-ratio: 16 / 10; }
.pt-side-posts article.elementor-post:first-child .elementor-post__title, .pt-side-posts article.elementor-post:first-child .elementor-post__title a { color: #1f2f3f !important; font-size: 13.5px !important; font-weight: 700 !important; }

/* the row of sub-categories: the same boxes as the home page's */
.pt-subcats .ps-carousel { --ps-arrow-offset: -36px; }
/* phones: a piece of the next box shows that the row moves */
@media (max-width: 767px) { .pt-subcats .ps-carousel { --ps-per: 3.35; } }
.pt-subcats .ps-carousel__track { align-items: stretch; }
.pt-subcats .ps-infobox { height: 100%; gap: 8px; padding: 12px 6px; border: 1px solid #e9eef2; border-radius: 12px; background: #fff; transition: border-color .2s ease; }
.pt-subcats .ps-infobox:hover { border-color: #b9d8ef; }
.pt-subcats .ps-infobox__icon { margin: 0; padding: 0; border: 0; border-radius: 0; }
.pt-subcats .ps-infobox__icon img { display: block; width: auto; height: 78px; object-fit: contain; }
.pt-subcats .ps-infobox__title { color: #1f2f3f !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.5 !important; transition: color .2s ease; }
.pt-subcats .ps-infobox:hover .ps-infobox__title { color: var(--ps-primary) !important; }
.pt-subcats .ps-carousel__arrow { width: 36px; height: 36px; margin-top: -18px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px #e9eef2; color: #1f2f3f; opacity: 1; }
.pt-subcats .ps-carousel__arrow .ps-icon { width: 15px; height: 15px; stroke-width: 2; }
@media (max-width: 767px) {
	.pt-subcats .ps-infobox { padding: 10px 4px; }
	.pt-subcats .ps-infobox__icon img { height: 58px; }
	.pt-subcats .ps-infobox__title { font-size: 12px !important; }
	.pt-subcats .ps-carousel__arrow { display: none; }
}



/* the «filter» button on tablets and phones */
.pt-filter-open .ps-offcanvas-btn { min-height: 40px !important; padding: 0 14px !important; border: 1px solid #e9eef2 !important; border-radius: 8px; background: #fff; color: #1f2f3f !important; font-size: 14px; font-weight: 600 !important; }
@media (min-width: 1025px) { .pt-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) {
	.pt-filter-open { width: 100%; }
	.pt-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 */
	.pt-archive-side.wd-role-offcanvas { display: block !important; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
	.pt-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 #eef2f6; background: #fff; }
	.pt-archive-side .ps-offcanvas-head::before { content: "فیلترها"; color: #1f2f3f; font-size: 16px; font-weight: 700; }
	.pt-archive-side .ps-offcanvas-close { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 12px; border: 1px solid #e3e9ee; border-radius: 8px; background: #fff; color: #44525f; font-size: 13px; font-weight: 600; line-height: 1; transition: border-color .2s ease, color .2s ease; }
	.pt-archive-side .ps-offcanvas-close:hover { border-color: var(--ps-primary); color: var(--ps-primary); }
	.pt-archive-side > .elementor-element-populated { display: block !important; width: 100%; margin: 0 !important; padding: 0 !important; overflow: visible; }
	.pt-archive-side .ps-filters-box { --ps-f-pad: 18px; }
	/* filter and sorting side by side, the same size, on every template */
	.elementor-section.pt-toolbar { margin: 0 0 16px !important; padding: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
	.pt-toolbar > .elementor-container { width: 100%; margin-inline: 0 !important; padding: 0 !important; }
	.pt-toolbar .elementor-column, .pt-toolbar .elementor-widget-wrap { width: 100%; background: none !important; box-shadow: none !important; }
	.pt-toolbar .elementor-widget-wrap { display: flex !important; flex-wrap: nowrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
	.pt-toolbar .elementor-widget { flex: 1 1 0; width: auto !important; min-width: 0; max-width: none !important; margin: 0 !important; }
	.pt-toolbar .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; }
	.pt-toolbar .elementor-widget-wd_shop_archive_per_page { display: none !important; }
	.pt-toolbar .pt-filter-open { order: 1; }
	.pt-toolbar .elementor-widget-wd_shop_archive_orderby { display: block !important; order: 2; }
	.pt-toolbar .elementor-widget-wd_shop_archive_orderby:not(:has(select)) { display: none !important; }
	.pt-toolbar .pt-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 #e3e9ee !important; border-radius: 8px; background: #fff; color: #1f2f3f !important; font-size: 13.5px; font-weight: 600 !important; line-height: 1; }
	.pt-toolbar .pt-filter-open .ps-offcanvas-btn > svg { display: none; }
	.pt-toolbar .pt-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; }
	.pt-toolbar .ps-orderby, .pt-toolbar .woocommerce-ordering { width: 100%; }
	.pt-toolbar .woocommerce-ordering select.orderby { width: 100%; height: 44px; padding-block: 0; padding-inline: 10px 28px; border: 1px solid #e3e9ee; border-radius: 8px; background-color: #fff; color: #1f2f3f; font-size: 13px; font-weight: 600; text-overflow: ellipsis; }
	.pt-archive-side .elementor-widget-parsa_shop_filters { margin: 0; }
	.pt-archive-side .ps-filters-box { border: 0; border-radius: 0; }
	.pt-archive-side .ps-filters-box .ps-filters__head { display: none; }
	.pt-archive-side .ps-filters-box .ps-filters__body > .ps-chips { padding-top: 12px; }
	.pt-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 #eef2f6; 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; }
}

/* ================================================================ a category's text under its products (migration 007)
   a white panel with a faint border, comfortable lines; «read more» as before. Only the text's own paragraphs, lists and
   links are restyled: the boxes and buttons written into some of these texts keep their own colours */
.elementor-section.pt-cat-text { padding: 0 !important; }
.pt-cat-text > .elementor-container { padding-inline: 10px; }
.pt-cat-text .elementor-column > .elementor-element-populated { padding: 26px 30px !important; border: 1px solid #e9eef2 !important; border-radius: 12px !important; background: #fff; box-shadow: none !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container { color: #44525f; font-size: 15px; line-height: 2; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol) { margin: 0 0 12px; text-align: start !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol), .pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(ul, ol) > li { color: #44525f; font-size: 15px !important; line-height: 2 !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(h1, h2, h3, h4) { margin: 22px 0 10px; color: #1f2f3f !important; font-weight: 700; line-height: 1.6; text-align: start !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :first-child { margin-top: 0; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > h2 { font-size: 19px !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > h3 { font-size: 17px !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > h4 { font-size: 15px !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol) em { font-style: normal; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol) span[style*="color"] { color: var(--ps-primary) !important; font-weight: 600; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol, h2, h3) a, .pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol, h2, h3) a span { color: var(--ps-primary) !important; font-weight: 600; text-decoration: none !important; }
.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol, h2, h3) a:hover { text-decoration: underline !important; text-underline-offset: 4px; }
.pt-cat-text .elementor-widget-text-editor img { height: auto; border-radius: 8px; }
.pt-cat-text .elementor-widget-text-editor strong { color: #1f2f3f; }
.pt-cat-text .ps-button--link { border-bottom: 0; color: var(--ps-primary); font-weight: 600; }
@media (max-width: 767px) {
	.pt-cat-text .elementor-column > .elementor-element-populated { padding: 20px 16px !important; }
	.pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(p, ul, ol), .pt-cat-text .elementor-widget-text-editor > .elementor-widget-container > :is(ul, ol) > li { font-size: 14px !important; }
}

/* breadcrumbs, everywhere: no underline on their links */
:is(.rank-math-breadcrumb, .woocommerce-breadcrumb, .ps-breadcrumb, .ps-breadcrumbs) a, :is(.rank-math-breadcrumb, .woocommerce-breadcrumb, .ps-breadcrumb, .ps-breadcrumbs) a span { border-bottom: 0 !important; text-decoration: none !important; }
:is(.rank-math-breadcrumb, .woocommerce-breadcrumb, .ps-breadcrumb, .ps-breadcrumbs) a { transition: color .2s ease; }
:is(.rank-math-breadcrumb, .woocommerce-breadcrumb, .ps-breadcrumb, .ps-breadcrumbs) a:hover { color: var(--ps-primary) !important; }

/* ================================================================ the top of a product archive
   the title and the consultation button on one line, the sub-categories under them, then the bar with sorting */
.pt-archive-main > .elementor-widget-wrap { align-items: center; }
/* (a line break after the title's row: what follows never climbs up beside it) */
.pt-archive-main > .elementor-widget-wrap::before { content: ""; order: -1; flex: 0 0 100%; width: 100%; height: 0; }
.pt-archive-main > .elementor-widget-wrap > :is(.elementor-widget-heading, .elementor-widget-animated-headline) { order: -3; flex: 1 1 0; width: auto !important; min-width: min(100%, 280px); margin: 0 0 16px !important; }
.pt-archive-main > .elementor-widget-wrap > .elementor-widget-wd_title { margin: 0 0 8px !important; }
.pt-archive-main .elementor-widget-wd_title :is(h1, h2, h3, h4, .title) { margin: 0; color: #44525f !important; font-size: 15px !important; font-weight: 600 !important; }
.pt-archive-main > .elementor-widget-wrap > .elementor-widget-image img { display: block; border-radius: 12px; box-shadow: none !important; }
.pt-archive-main > .elementor-widget-wrap > .elementor-widget-image { margin: 0 0 16px !important; }
.pt-archive-main .elementor-widget-wd_infobox_carousel { width: 100%; margin: 0 0 16px !important; }
.pt-archive-main .elementor-widget-wd_infobox_carousel > .elementor-widget-container { padding: 0 !important; }
/* (the carousel's own room for shadows, in and out: these boxes have none) */
.pt-subcats .ps-carousel { margin-block: 0; }
.pt-subcats .ps-carousel__viewport { padding-block: 0; }

/* the consultation button */
.pt-consult { order: -2; flex: 0 1 auto; width: auto !important; max-width: 100% !important; margin: 0 0 16px !important; margin-inline-start: 16px !important; }
.pt-consult > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.pt-consult .elementor-button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 4px 14px; border: 0 !important; border-radius: 8px !important; background: #eaf4fc !important; box-shadow: none !important; color: var(--ps-primary) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.5; text-align: start; transition: background-color .2s ease; }
.pt-consult .elementor-button::before { content: ""; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11 11 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11 11 0 0 0 .6 3.6 1 1 0 0 1-.25 1z'/%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'%3E%3Cpath d='M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11 11 0 0 0 3.6.6 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1 11 11 0 0 0 .6 3.6 1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / contain no-repeat; }
.pt-consult .elementor-button:hover { background: #dcedfa !important; }
.pt-consult .elementor-button-content-wrapper { display: inline; }

/* sub-categories as text: chips in a row */
.pt-subcat { width: auto !important; max-width: none !important; margin: 0 0 8px !important; margin-inline-end: 8px !important; }
.pt-subcat .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 14px; border: 1px solid #e3e9ee !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important; color: #1f2f3f !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.4; transition: border-color .2s ease, color .2s ease, background-color .2s ease; }
.pt-subcat .elementor-button:hover { border-color: var(--ps-primary) !important; background: #f4f9fd !important; color: var(--ps-primary) !important; }

/* sub-categories with a picture (lipomatic): one compact card each, the whole card the link */
.elementor-section.pt-subcat-cards { margin: 0 0 12px !important; padding: 0 !important; }
.pt-subcat-cards > .elementor-container { gap: 10px; width: 100%; margin-inline: 0 !important; padding: 0 !important; }
.pt-subcat-cards .elementor-column { flex: 1 1 0; width: auto !important; min-width: 0; }
.pt-subcat-cards .elementor-column > .elementor-widget-wrap { position: relative; display: flex; flex-wrap: nowrap; align-items: center; gap: 12px; height: 100%; margin: 0 !important; padding: 8px 12px !important; border: 1px solid #e9eef2; border-radius: 12px; background: #fff; transition: border-color .2s ease; }
.pt-subcat-cards .elementor-column > .elementor-widget-wrap:hover { border-color: #b9d8ef; }
.pt-subcat-cards .elementor-widget { position: static; margin: 0 !important; }
.pt-subcat-cards .elementor-widget-image { flex: none; width: 56px !important; }
.pt-subcat-cards .elementor-widget-image img { display: block; width: 56px !important; height: 56px !important; border-radius: 50%; box-shadow: none !important; object-fit: cover; transform: none !important; transition: none !important; animation: none !important; }
.pt-subcat-cards .elementor-widget-button { flex: 1 1 auto; min-width: 0; width: auto !important; }
.pt-subcat-cards .elementor-button { display: block; width: 100%; min-height: 0; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; color: #1f2f3f !important; font-size: 14px !important; font-weight: 600 !important; line-height: 1.5; text-align: start; transition: color .2s ease; }
.pt-subcat-cards .elementor-button-content-wrapper { justify-content: flex-start; }
.pt-subcat-cards .elementor-button::after { content: ""; position: absolute; inset: 0; border-radius: 12px; }
.pt-subcat-cards .elementor-column > .elementor-widget-wrap:hover .elementor-button { color: var(--ps-primary) !important; }

@media (max-width: 767px) {
	.pt-archive-main > .elementor-widget-wrap > :is(.elementor-widget-heading, .elementor-widget-animated-headline) { flex: 1 1 100%; margin-bottom: 12px !important; }
	.pt-consult { flex: 1 1 100%; width: 100% !important; margin: 0 0 12px !important; }
	.pt-consult .elementor-button { display: flex; justify-content: center; width: 100%; min-height: 44px; }
	.pt-subcat-cards > .elementor-container { gap: 8px; }
	.pt-subcat-cards .elementor-column > .elementor-widget-wrap { flex-direction: column; gap: 6px; padding: 10px 6px !important; }
	.pt-subcat-cards .elementor-widget-button { width: 100% !important; }
	.pt-subcat-cards .elementor-button { font-size: 12.5px !important; text-align: center; }
	.pt-subcat-cards .elementor-button-content-wrapper { justify-content: center; }
}

/* the bar over the products on large screens: how many per page, and sorting */
@media (min-width: 1025px) {
	.elementor-section.pt-toolbar { margin: 4px 0 20px !important; padding: 0 !important; border-block: 1px solid #eef2f6; border-radius: 0 !important; background: none !important; box-shadow: none !important; }
	.pt-toolbar > .elementor-container { width: 100%; margin-inline: 0 !important; padding: 0 !important; }
	.pt-toolbar .elementor-column { width: 100%; background: none !important; box-shadow: none !important; }
	.pt-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; }
	.pt-toolbar .elementor-widget { flex: 0 0 auto; width: auto !important; max-width: none !important; margin: 0 !important; }
	.pt-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: #7c8996; 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: #7c8996; font-weight: 600; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
	.ps-per-page__opt:hover { background: #f4f8fc; color: #1f2f3f; }
	.ps-per-page__opt.is-current { background: #eaf4fc; color: var(--ps-primary); }
	/* sorting: the menu over the same field */
	.pt-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 #e3e9ee; border-radius: 8px; background: #fff; color: #1f2f3f; 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: #7c8996; }
.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 #7c8996; border-bottom: 1.5px solid #7c8996; 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 #e9eef2; border-radius: 10px; background: #fff; box-shadow: 0 12px 32px rgba(15,40,70,.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: #44525f; font-size: 13px; cursor: pointer; }
.ps-sort__opt.is-at { background: #f4f8fc; color: #1f2f3f; }
.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; }
