/* Shared stock state; the four native card styles remain the source of layout. */
.beauty-card-out-of-stock img,
.beauty-card-out-of-stock .btn,
.beauty-card-out-of-stock:hover img { filter: grayscale(1) !important; }
.beauty-card-out-of-stock .product-cat:not(.beauty-stock-badge),
.beauty-card-out-of-stock .off-box { display: none !important; }
.beauty-card-out-of-stock .beauty-stock-badge {
    display: inline-flex !important; position: absolute; top: 16px; right: 16px;
    z-index: 3; width: max-content; max-width: calc(100% - 32px);
    padding: 8px 16px; border-radius: 12px; background: #e1e1e1; color: #555;
    font-size: 14px; line-height: 1.5; pointer-events: none;
}
.product-box-2.beauty-card-out-of-stock .beauty-stock-badge { right: auto; left: 16px; }
/* Content controls only change geometry when explicitly selected. */
.main-product-box.beauty-archive-card .beauty-icon-only,
.product-box-2.beauty-archive-card .beauty-icon-only { width: 48px; min-width: 48px; padding: 10px; }
.beauty-archive-card .beauty-card-button i + span { margin-inline-start: 8px; }
.product-box-horizontal.beauty-archive-card .beauty-button-with-text,
.product-box-horizontal2.beauty-archive-card .beauty-button-with-text { width: auto; height: auto; padding: 10px; }
.product-box-horizontal.beauty-archive-card.no-btn .price,
.product-box-horizontal2.beauty-archive-card.no-btn .price { max-width: 100%; }
.product-box-horizontal.beauty-no-image .name-price-wrapper,
.product-box-horizontal2.beauty-no-image .name-price-wrapper { width: 100%; }
.main-product-box.beauty-full-image,
.product-box-2.beauty-full-image { padding: 0; }
.main-product-box.beauty-full-image > .product-img img,
.product-box-2.beauty-full-image > .product-img img { width: 100%;  }
.main-product-box.beauty-full-image > .product-name,
.main-product-box.beauty-full-image > .info,
.product-box-2.beauty-full-image > .name-price-wrapper { padding-inline: var(--card-padding, 8px); }
.product-box-horizontal.beauty-full-image,
.product-box-horizontal2.beauty-full-image { padding: 0; }
.product-box-horizontal.beauty-full-image > .product-img img,
.product-box-horizontal2.beauty-full-image > .product-img img { width: 100%; }
/* A rule exists only for a field explicitly filled by the user. */
.beauty-archive-card.beauty-style-padding { padding: var(--card-padding); }
.beauty-archive-card.beauty-style-background { background-color: var(--card-background); }
.beauty-archive-card.beauty-style-border-color { border-color: var(--card-border-color); }
.beauty-archive-card.beauty-style-border-width { border-width: var(--card-border-width); }
.beauty-archive-card.beauty-style-border-width { border-style: solid; }
.beauty-archive-card.beauty-style-image-height .product-img img { height: var(--card-image-height); }
.beauty-archive-card.beauty-style-image-height .product-img img { max-height: none; }
.beauty-archive-card.beauty-style-image-fit .product-img img { object-fit: var(--card-image-fit); }
.beauty-archive-card.beauty-style-image-width > .product-img { width: var(--card-image-width); }
.product-box-horizontal.beauty-style-image-width > .name-price-wrapper { width: calc(100% - var(--card-image-width) - 8px); }
.product-box-horizontal2.beauty-style-image-width > .name-price-wrapper { width: calc(100% - var(--card-image-width)); }
.product-box-horizontal2.beauty-style-image-separator-gap > .product-img { padding-inline-end: var(--card-image-separator-gap); box-sizing: border-box; }
.main-product-box.beauty-style-gap { row-gap: var(--card-gap); }
.product-box-2.beauty-style-gap .name-price-wrapper { gap: var(--card-gap); }
.product-box-horizontal.beauty-style-gap > .name-price-wrapper { margin-right: var(--card-gap); width: calc(100% - var(--card-image-width, 33%) - var(--card-gap)); }
.product-box-horizontal2.beauty-style-gap > .name-price-wrapper { padding-inline-start: var(--card-gap); }
.beauty-archive-card.beauty-style-title-size .product-name a { font-size: var(--card-title-size); }
.beauty-archive-card.beauty-style-text-color .product-name a { color: var(--card-text-color); }
.beauty-archive-card.beauty-style-alignment .product-name a { text-align: var(--card-alignment); }
.beauty-archive-card.beauty-style-title-size .product-name .farsi { font-size: var(--card-title-size); }
.beauty-archive-card.beauty-style-text-color .product-name .farsi { color: var(--card-text-color); }
.beauty-archive-card.beauty-style-alignment .product-name .farsi { text-align: var(--card-alignment); }
.beauty-archive-card.beauty-style-alignment .product-name a { align-items: var(--card-alignment); }
.beauty-archive-card.beauty-style-alignment .product-name .en { text-align: var(--card-alignment); }
.beauty-archive-card.beauty-style-en-size .product-name .en { font-size: var(--card-en-size); }
.beauty-archive-card.beauty-style-text-color .product-name .en { color: var(--card-text-color); }
.beauty-archive-card.beauty-style-price-color .price { color: var(--card-price-color); }
.beauty-archive-card.beauty-style-price-size .price bdi { font-size: var(--card-price-size); }
.beauty-archive-card.beauty-style-price-size .price .amount { font-size: var(--card-price-size); }
.beauty-archive-card.beauty-style-price-size .price del bdi { font-size: calc(var(--card-price-size) * .75); }
.beauty-archive-card.beauty-style-price-size .price del .amount { font-size: calc(var(--card-price-size) * .75); }
.beauty-archive-card.beauty-style-button-size .info .btn { font-size: var(--card-button-size); }
.beauty-archive-card.beauty-style-button-color .info .btn { background-color: var(--card-button-color); }
.beauty-archive-card.beauty-style-button-text-color .info .btn { color: var(--card-button-text-color); }
.beauty-archive-card.beauty-style-button-text-color .info .btn path { fill: var(--card-button-text-color); }
.beauty-archive-card.beauty-style-radius-top-left { border-top-left-radius: var(--card-radius-top-left); }
.beauty-archive-card.beauty-style-radius-top-right { border-top-right-radius: var(--card-radius-top-right); }
.beauty-archive-card.beauty-style-radius-bottom-right { border-bottom-right-radius: var(--card-radius-bottom-right); }
.beauty-archive-card.beauty-style-radius-bottom-left { border-bottom-left-radius: var(--card-radius-bottom-left); }
.beauty-archive-card.beauty-style-image-radius-top-left .product-img img { border-top-left-radius: var(--card-image-radius-top-left); }
.beauty-archive-card.beauty-style-image-radius-top-right .product-img img { border-top-right-radius: var(--card-image-radius-top-right); }
.beauty-archive-card.beauty-style-image-radius-bottom-right .product-img img { border-bottom-right-radius: var(--card-image-radius-bottom-right); }
.beauty-archive-card.beauty-style-image-radius-bottom-left .product-img img { border-bottom-left-radius: var(--card-image-radius-bottom-left); }
.beauty-archive-card.beauty-style-button-radius-top-left .info .btn { border-top-left-radius: var(--card-button-radius-top-left); }
.beauty-archive-card.beauty-style-button-radius-top-right .info .btn { border-top-right-radius: var(--card-button-radius-top-right); }
.beauty-archive-card.beauty-style-button-radius-bottom-right .info .btn { border-bottom-right-radius: var(--card-button-radius-bottom-right); }
.beauty-archive-card.beauty-style-button-radius-bottom-left .info .btn { border-bottom-left-radius: var(--card-button-radius-bottom-left); }

/* These options change content layout without requiring appearance overrides. */
.product-box-2.beauty-archive-card .product-name .farsi,
.product-box-horizontal.beauty-archive-card .product-name .farsi { display: block; font-family: inherit; }
.product-box-2.beauty-archive-card .product-name .en,
.product-box-horizontal.beauty-archive-card .product-name .en { display: block; font-size: 14px; line-height: 19px; opacity: .7; }
.beauty-archive-card.beauty-price-inline .price {
    display: flex; flex-direction: row; flex-wrap: nowrap; align-items: baseline;
    justify-content: flex-end; gap: .35em; white-space: nowrap; max-width: 100%;
}
.beauty-archive-card.beauty-price-inline .price del,
.beauty-archive-card.beauty-price-inline .price ins { display: inline; flex: 0 0 auto; }
.beauty-archive-card.beauty-price-stacked .price { display: flex; flex-direction: column; align-items: flex-end; }
.beauty-archive-card.beauty-price-stacked .price > span[aria-hidden="true"]:not(.amount) { display: none; }
.product-box-2.beauty-full-title .name-price-wrapper,
.product-box-2.beauty-full-price .name-price-wrapper { flex-wrap: wrap; row-gap: 8px; }
.product-box-2.beauty-full-title .name-price-wrapper > .product-name { flex: 0 0 100%; width: 100%; }
.product-box-2.beauty-full-price .name-price-wrapper > .price { flex: 0 0 100%; width: 100%; max-width: 100%; }
.product-box-horizontal.beauty-archive-card > .off-box,
.product-box-horizontal2.beauty-archive-card > .off-box {
    position: absolute; top: 4px; right: 4px; z-index: 3;
    display: flex; flex-direction: column; align-items: center;
    padding: 4px 6px; border-radius: 8px; font-size: 11px; line-height: 1.3;
    background: var(--main-color); color: var(--white-color);
}
.beauty-archive-card .screen-reader-text {
    position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
    overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

/* Stars only, independent of WooCommerce's review-count filter. */
.beauty-card-stars { position:relative; display:inline-block; width:max-content; direction:ltr; font:20px/1.2 Arial,sans-serif; letter-spacing:2px; color:#d5d5d5; }
.beauty-card-stars > span { display:block; white-space:nowrap; }
.beauty-card-stars .beauty-card-stars-fill { position:absolute; left:0; top:0; overflow:hidden; color:#ffb400; }
@media (min-width:1200px) { .beauty-subcategory-column { flex:0 0 calc(100% / var(--beauty-subcat-columns,4)); width:calc(100% / var(--beauty-subcat-columns,4)); } }
.products-by-cat-item.category-image .category-thumbnail { display:block; width:100%; }
.products-by-cat-item.category-image .category-thumbnail img { display:block; width:100%; height:180px; object-fit:contain; }
