/* One card presentation across all public WooCommerce and Dokan contexts. */
body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial {
	border: 1px solid #eee7ea;
	border-radius: var(--su-ds-radius-card, 16px);
	background: #fff;
	box-shadow: 0 2px 10px rgb(49 20 33 / 3%);
	overflow: hidden;
	text-align: left;
}
body ul.products li.product.su-product-card--editorial:hover { border-color: var(--su-ds-accent, #f35e84); box-shadow: 0 8px 24px rgb(123 0 56 / 8%); }
body .su-product-card--editorial .su-product-card__inner { padding: 0; gap: 0; height: 100%; }
body .su-product-card--editorial .su-product-card__media { position: relative; margin: 8px 8px 0; border-radius: 11px; overflow: hidden; }
body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial a.su-product-card__image-link img {
	width: 100%; height: auto; aspect-ratio: 4 / 5; margin: 0; object-fit: cover; border-radius: 0;
}
body .su-product-card--editorial .su-product-card__badges { top: 9px; left: 9px; max-width: calc(100% - 70px); gap: 5px; }
body .su-product-card--editorial .su-product-card__badge { background: var(--su-ds-primary, #7b0038); color: #fff; font-size: var(--su-ds-small, 11px); font-weight: 650; letter-spacing: .01em; padding: 5px 9px; text-transform: none; }
body .su-product-card--editorial .su-fav-heart--loop { position: absolute; top: 8px; right: 8px; width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 12px; border: 1px solid #eee7ea; border-radius: 50%; background: rgb(255 255 255 / 95%); color: #655c61; z-index: 4; }
body .su-product-card--editorial .su-fav-heart--loop[aria-pressed="true"] { color: var(--su-ds-primary, #7b0038); border-color: var(--su-ds-accent, #f35e84); background: var(--su-ds-accent-soft, #fde7ee); }
body .su-product-card--editorial .su-product-card__facts { position: absolute; bottom: 8px; left: 8px; right: 8px; margin: 0; padding: 0; gap: 5px; }
body .su-product-card--editorial .su-product-card__facts li { background: rgb(255 255 255 / 94%); color: #41363c; font-size: var(--su-ds-small, 11px); font-weight: 500; padding: 3px 7px; }
body .su-product-card--editorial .su-product-vendor--card { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; margin: 11px 12px 6px; padding: 0; color: #71656b; font-size: var(--su-ds-small, 11px); line-height: 1.4; }
body .su-product-card--editorial .su-product-vendor--card strong { min-width: 0; flex: 1 1 75px; font-weight: 500; color: #65545d; }
body .su-product-card--editorial .su-product-vendor--card strong a { color: inherit; display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.su-product-vendor__verified .su-icon { width: 13px; height: 13px; color: #17764c; }
.su-product-vendor__rating { color: #9a5a13; white-space: nowrap; font-size: var(--su-ds-small, 11px); }
/* Compact cards keep the country available to assistive technology. */
.su-vendor-country-fact { display: inline-flex; align-items: center; gap: .3rem; vertical-align: middle; }
body .su-vendor-country-fact img.su-vendor-country-fact__flag { display: inline-block; flex: 0 0 20px; width: 20px; height: 15px; max-width: none; margin: 0; object-fit: contain; vertical-align: middle; }
.su-product-vendor__flag .su-vendor-country-fact__name { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .woocommerce-loop-product__title { min-height: 0; margin: 0; padding: 0 12px 5px; font-family: var(--su-ds-font-heading, var(--su-font-heading)); color: #272027; font-weight: 600; font-size: var(--su-ds-body, 14px); line-height: 1.45; -webkit-line-clamp: 2; }
body .su-product-card--editorial .su-product-card__details { min-height: 0; }
body .su-product-card--editorial .su-product-card__rating .star-rating { display: block; position: relative; width: max-content; height: 1em; overflow: hidden; margin: 3px 12px 5px; color: #a96a1a; font: 10px/1 Arial, sans-serif; letter-spacing: 0; }
body .su-product-card--editorial .su-product-card__rating .star-rating::before { content: "\2605\2605\2605\2605\2605"; display: block; position: relative; inset: auto; color: #d9cbd1; font-family: inherit; }
body .su-product-card--editorial .su-product-card__rating .star-rating > span { display: block; position: absolute; inset: 0 auto auto 0; height: 1em; overflow: hidden; padding: 0; text-indent: -9999px; white-space: nowrap; }
body .su-product-card--editorial .su-product-card__rating .star-rating > span::before { content: "\2605\2605\2605\2605\2605"; position: absolute; inset: 0 auto auto 0; text-indent: 0; color: #a96a1a; font-family: inherit; }
.su-product-card__description { color: #746970; font-size: var(--su-ds-small, 11px); line-height: 1.65; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body .su-product-card--editorial .su-product-card__description { margin: 0 12px 9px; }
.su-product-card__features { display: flex; gap: 4px; flex-wrap: wrap; margin: 0 12px 10px; }
.su-product-card__features:empty { display: none; }
.su-product-card__features span { padding: 3px 6px; border-radius: 5px; background: var(--su-ds-accent-soft, #fde7ee); color: var(--su-ds-on-accent, #3f001a); font-size: var(--su-ds-small, 11px); line-height: 1.5; }
body .su-product-card--editorial .su-product-card__commerce { display: flex; align-items: end; justify-content: space-between; gap: 8px; min-height: 0; margin-top: auto; padding: 0 12px 13px; }
.su-product-card__price { min-width: 0; }
.su-product-card__price-label { display: block; color: #7c7177; font-size: var(--su-ds-small, 11px); margin-bottom: 3px; }
body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .price { padding: 0; margin: 0; color: var(--su-ds-primary, #7b0038); font-size: 17px; font-weight: 700; line-height: 1.3; }
body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .su-product-card__cta { width: auto; min-height: 44px; margin: 0; padding: 8px 13px; border: 1px solid #eee7ea; border-radius: 999px; background: #f3f0f2; color: #4d3e46; font-size: var(--su-ds-small, 11px); font-weight: 600; white-space: nowrap; }
body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .su-product-card__cta:hover { background: var(--su-ds-primary, #7b0038); color: #fff; border-color: var(--su-ds-primary, #7b0038); }
.su-vendor-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.su-catalogue-vendors { padding-block: clamp(32px, 5vw, 64px); }
.su-marketplace-catalogue > .su-catalogue-vendors { width: 100%; }
.su-catalogue-vendors__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.su-catalogue-vendors__heading h2 { margin: 0; font: 600 clamp(24px, 3vw, 36px)/1.2 var(--su-ds-font-heading, var(--su-font-heading)); }
.su-catalogue-vendors__heading > a { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; color: var(--su-ds-primary, #7b0038); font-size: 13px; }
.su-catalogue-vendors__heading > a .su-icon { width: 16px; height: 16px; }
/* Compact photo left, profile right: one shared shop card across public surfaces. */
body .su-vendor-card { min-width: 0; height: 100%; display: grid; grid-template-columns: min(34%, 12rem) minmax(0, 1fr); align-items: start; padding: .75rem; border: 1px solid var(--su-border, #eee7ea); border-radius: 24px; background: var(--su-surface, #fff); box-shadow: none; overflow: hidden; color: var(--su-ink, #2b2027); font-family: var(--su-ds-font-body, var(--su-font-sans)); transition: border-color 160ms ease; }
body .su-vendor-card:hover, body .su-vendor-card:focus-within { border-color: var(--su-pink-light, #f35e84); }
.su-vendor-card__media-frame { display: flex; flex-direction: column; gap: .5rem; min-width: 0; width: 100%; }
body .su-vendor-card__media { display: grid; width: 100%; aspect-ratio: 4 / 5; place-items: center; overflow: hidden; border-radius: 14px; background: linear-gradient(145deg, var(--su-surface-rose, #f4f1f0), var(--su-surface-soft, #fbfaf9)); }
body .su-vendor-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.su-vendor-card__fallback { display: grid; place-items: center; width: 5rem; height: 5rem; border: 1px solid var(--su-border, #eee7ea); border-radius: 50%; background: var(--su-surface, #fff); color: var(--su-pink, #7b0038); }
.su-vendor-card__fallback .su-icon { width: 1.6rem; height: 1.6rem; }
.su-vendor-card__gallery { display: flex; flex-wrap: wrap; gap: .5rem; }
.su-vendor-card__gallery a { display: block; width: 3rem; height: 3rem; border-radius: .55rem; overflow: hidden; }
body .su-vendor-card__gallery img { display: block; width: 100%; height: 100%; object-fit: cover; }
.su-vendor-card__body { display: flex; flex-direction: column; align-self: stretch; gap: .7rem; min-width: 0; padding: .25rem .5rem .25rem 1.25rem; }
.su-vendor-card__header { display: flex; align-items: center; gap: .8rem; }
.su-vendor-card__header > div { min-width: 0; flex: 1; }
body .su-vendor-card h3 { display: flex; align-items: center; gap: 6px; margin: 0 0 .3rem; font: 600 16px/1.4 var(--su-ds-font-heading, var(--su-font-heading)); }
.su-vendor-card h3 a { min-width: 0; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.su-vendor-card__verified { display: inline-flex; color: #197549; flex-shrink: 0; }
.su-vendor-card__verified .su-icon { width: 15px; height: 15px; }
.su-vendor-card__country { color: var(--su-muted, #81717a); font-size: var(--su-ds-small, 11px); }
.su-vendor-identity-facts { display: inline-flex; align-items: center; gap: .45rem; vertical-align: middle; }
.su-vendor-gender { display: inline-flex; align-items: center; flex: 0 0 auto; color: var(--su-muted, #81717a); line-height: 1; }
.su-vendor-gender .su-icon { display: block; width: 1.05rem; height: 1.05rem; }
body .su-vendor-card__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin: 4px 0 0; color: #92611c; font-size: var(--su-ds-small, 11px); }
.su-vendor-card__tag { margin-left: 5px; padding: 2px 6px; border-radius: 5px; background: #edf8f1; color: #197549; font-size: var(--su-ds-small, 11px); }
.su-vendor-card__activity { display: inline-block; padding: 3px 6px; margin-top: 5px; border-radius: 5px; background: #edf8f1; color: #197549; font-size: var(--su-ds-small, 11px); }
body .su-vendor-card__bio { margin: 0; color: var(--su-muted, #74666f); font-size: var(--su-ds-label, 12px); line-height: 1.6; text-align: left; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.su-vendor-card :is(.su-directory-facts, .su-discovery__facts) { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; border: 0; }
.su-vendor-card :is(.su-directory-facts, .su-discovery__facts) div { display: flex; flex-wrap: wrap; gap: .25rem; padding: .35rem .55rem; border-radius: 999px; background: var(--su-surface-soft, #f8f5f7); font-size: .72rem; }
.su-vendor-card :is(.su-directory-facts, .su-discovery__facts) dt { color: var(--su-muted, #786b72); font-weight: 400; }
.su-vendor-card :is(.su-directory-facts, .su-discovery__facts) dd { margin: 0; color: var(--su-ink, #3e3037); font-weight: 500; }
.su-vendor-card__actions { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: .2rem; }
.su-vendor-card__actions a { min-height: 48px; display: flex; align-items: center; justify-content: center; gap: 8px; border-radius: 999px; text-decoration: none; font-size: var(--su-ds-label, 12px); font-weight: 600; }
body .su-vendor-card__visit { flex: 1; padding: 10px 14px; color: var(--su-surface, #fff); background: var(--su-ds-primary, #7b0038); }
.su-vendor-card__visit .su-icon { width: 14px; height: 14px; }
body .su-vendor-card__contact { width: 48px; flex-shrink: 0; color: var(--su-ds-primary, #7b0038); background: var(--su-ds-accent-soft, #fde7ee); }
.su-vendor-card__actions a:hover { filter: brightness(.92); }
/* Keep Dokan's follow control secondary even when it injects theme colours. */
body .su-vendor-card .dokan-follow-store-button {
	min-height: 44px;
	padding: .65rem 1rem;
	border: 1px solid transparent !important;
	border-radius: 999px;
	background: var(--su-surface-soft, #f8f5f7) !important;
	color: var(--su-ink, #2b2027) !important;
	box-shadow: none;
	font-family: inherit;
	font-size: var(--su-ds-label, 12px);
	font-weight: 600;
}
body .su-vendor-card .dokan-follow-store-button:hover,
body .su-vendor-card .dokan-follow-store-button[data-status="following"] {
	background: var(--su-ds-accent-soft, #fde7ee) !important;
	border-color: #d5a7b9 !important;
	color: var(--su-ds-primary, #7b0038) !important;
}
.su-vendor-card a:focus-visible { outline: 3px solid #9e1b4f; outline-offset: -3px; }
.su-vendor-card button:focus-visible { outline: 3px solid #9e1b4f; outline-offset: -3px; }
/* Stay inside clipped media and override the older translucent focus rule. */
body .su-product-card--editorial.su-product-card--unified :is(a, button):focus-visible { outline: 3px solid #9e1b4f; outline-offset: -3px; }
body .su-product-card--editorial .su-product-card__image-link:focus-visible { z-index: auto; }
.su-vendor-card__extensions:empty { display: none; }
@media (prefers-reduced-motion: reduce) { body .su-vendor-card { transition: none; } }
body #dokan-seller-listing-wrap.su-directory-cards ul.dokan-seller-wrap.su-vendor-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 0; margin: 0; gap: 24px; }
body #dokan-seller-listing-wrap.su-directory-cards ul.dokan-seller-wrap.su-vendor-card-grid::before, body #dokan-seller-listing-wrap.su-directory-cards ul.dokan-seller-wrap.su-vendor-card-grid::after { display: none; }
body #dokan-seller-listing-wrap.su-directory-cards .dokan-single-seller { float: none; width: auto; margin: 0; padding: 0; list-style: none; }
.su-directory-cards .su-vendor-card { height: 100%; }
@media (max-width: 1023px) {
	.su-vendor-card-grid, body #dokan-seller-listing-wrap.su-directory-cards ul.dokan-seller-wrap.su-vendor-card-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 767px) {
	body .su-vendor-card { grid-template-columns: minmax(0, 1fr); }
	body .su-vendor-card__media { height: 10rem; aspect-ratio: auto; }
	body .su-vendor-card__media img { object-position: center 35%; }
	.su-vendor-card__body { padding: 1rem .25rem .25rem; }
}
@media (max-width: 600px) {
	.su-catalogue-vendors__heading { align-items: start; flex-direction: column; gap: 12px; }
	body .su-category-landing .su-category-products ul.products:has(.su-product-card--editorial) { display: grid; grid-template-columns: repeat(var(--su-product-card-columns, 2),minmax(0,1fr)); gap: 12px; }
	body .su-marketplace-design ul.products:has(.su-product-card--editorial), body .woocommerce ul.products:has(.su-product-card--editorial), body.woocommerce-page ul.products:has(.su-product-card--editorial), body.home .home-products ul.products:has(.su-product-card--editorial), body .su-wishlist-content ul.products:has(.su-product-card--editorial), body .su-product-detail__details .related.products ul.products:has(.su-product-card--editorial), body .su-product-detail__details .upsells.products ul.products:has(.su-product-card--editorial), body .dokan-store ul.products:has(.su-product-card--editorial), body.woocommerce-cart .cart-collaterals .cross-sells ul.products:has(.su-product-card--editorial), body .woocommerce-cart .cart-collaterals .cross-sells ul.products:has(.su-product-card--editorial) { display: grid; grid-template-columns: repeat(var(--su-product-card-columns, 2),minmax(0,1fr)); gap: 12px; }
	body .su-product-card--editorial .su-product-card__media { margin: 5px 5px 0; border-radius: 9px; }
	body .su-product-card--editorial .su-product-vendor--card { margin-inline: 9px; font-size: var(--su-ds-small, 11px); }
	body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .woocommerce-loop-product__title { padding-inline: 9px; font-size: var(--su-ds-body, 14px); }
	body .su-product-card--editorial .su-product-card__description, .su-product-card__features { margin-inline: 9px; }
	.su-product-card__description { font-size: var(--su-ds-label, 12px); }
	body .su-product-card--editorial .su-product-card__commerce { padding: 0 9px 10px; flex-wrap: wrap; }
	body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .price { font-size: 15px; }
	body ul.products li.product.su-product-card.su-product-card--unified.su-product-card--editorial .su-product-card__cta { width: 100%; justify-content: center; padding: 9px 10px; min-height: 44px; font-size: var(--su-ds-label, 12px); }
	.su-vendor-card-grid, body #dokan-seller-listing-wrap.su-directory-cards ul.dokan-seller-wrap.su-vendor-card-grid { grid-template-columns: 1fr; gap: 16px; }
}

/* Very narrow screens need enough room for readable titles and media controls. */
@media (max-width: 359px) { body { --su-product-card-columns: 1; } }
