/* MVP design system. Mobile first: base rules are phone, min-width queries add room. */

body.mvp-ds {
	--mvp-gutter: var(--mvp-gutter-m, 16px);
	--mvp-tab-h: 64px;
	background: var(--mvp-paper);
	color: var(--mvp-ink);
	font-family: var(--mvp-font-body);
	font-size: 1rem;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	padding-bottom: calc(var(--mvp-tab-h) + env(safe-area-inset-bottom));
}
.mvp-ds h1, .mvp-ds h2, .mvp-ds h3, .mvp-ds h4, .mvp-ds .site-title, .mvp-ds .woocommerce-loop-product__title {
	font-family: var(--mvp-font-display);
	color: var(--mvp-ink);
	letter-spacing: -.02em;
	line-height: 1.08;
	text-wrap: balance;
}
.mvp-ds h1 { font-size: clamp(2.1rem, 8vw, 4rem); font-weight: 800; }
.mvp-ds h2 { font-size: clamp(1.6rem, 5vw, 2.4rem); font-weight: 700; }
.mvp-ds a { color: var(--mvp-accent); text-underline-offset: .18em; }
.mvp-ds :focus-visible { outline: 3px solid var(--mvp-accent); outline-offset: 2px; border-radius: var(--mvp-r-sm); }
.mvp-ds .site-content, .mvp-ds #content { background: transparent; }
.mvp-ds .ast-container { padding-inline: var(--mvp-gutter); }
/* Astra "separate container" wraps content in a padded white box: flatten it so our gutter rules. */
.mvp-ds.ast-separate-container .ast-article-post, .mvp-ds.ast-separate-container .ast-article-single,
.mvp-ds.ast-separate-container .comments-area, .mvp-ds.ast-separate-container .ast-woocommerce-container {
	background: transparent; padding: 0; border: 0; box-shadow: none;
}
.mvp-ds.ast-separate-container #primary { padding: 0; margin: 0; }
.mvp-ds.ast-separate-container .site-main > .ast-row, .mvp-ds .entry-content > * { margin-block-start: 0; }
.mvp-ds .entry-content > .wp-block-group { padding-inline: 0; }
.mvp-ds .mvp-swipe__status:empty { min-height: 0; margin: 0; }

/* Header -------------------------------------------------------------- */
.mvp-ds .main-header-bar, .mvp-ds .ast-primary-header-bar {
	background: color-mix(in srgb, var(--mvp-paper) 88%, transparent);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--mvp-line);
}
.mvp-ds .site-title { font-size: 1.35rem; font-weight: 800; margin: 0; }
.mvp-ds .site-title a, .mvp-ds .main-header-menu a { color: var(--mvp-ink); text-decoration: none; }
.mvp-ds .main-header-menu a { font-weight: 600; }
.mvp-ds .main-header-menu a:hover { color: var(--mvp-accent); }
.mvp-ds .site-description { display: none; }

/* Buttons ------------------------------------------------------------- */
.mvp-ds .button, .mvp-ds .mvp-reg__nav button, .mvp-ds button[type="submit"], .mvp-ds input[type="submit"],
.mvp-ds .wp-block-button__link, .mvp-ds .wc-block-components-button, .mvp-ds .ast-button {
	background: var(--mvp-accent);
	color: var(--mvp-accent-ink);
	border: 2px solid var(--mvp-ink);
	border-radius: 999px;
	padding: .8em 1.4em;
	min-height: 48px;
	font-family: var(--mvp-font-body);
	font-weight: 700;
	text-decoration: none;
	box-shadow: 3px 3px 0 var(--mvp-ink);
	transition: transform .12s ease, box-shadow .12s ease;
}
.mvp-ds .button:hover, .mvp-ds .mvp-reg__nav button:hover, .mvp-ds button[type="submit"]:hover, .mvp-ds .wp-block-button__link:hover {
	background: var(--mvp-accent); color: var(--mvp-accent-ink);
	transform: translate(2px, 2px); box-shadow: 1px 1px 0 var(--mvp-ink);
}
.mvp-ds .is-style-outline .wp-block-button__link { background: var(--mvp-surface); color: var(--mvp-ink); }

/* Inputs -------------------------------------------------------------- */
.mvp-ds input:not([type="checkbox"], [type="radio"], [type="submit"], [type="range"]), .mvp-ds select, .mvp-ds textarea {
	background: var(--mvp-surface);
	color: var(--mvp-ink);
	border: 2px solid var(--mvp-line);
	border-radius: var(--mvp-r-sm);
	padding: .75em .9em;
	min-height: 48px;
	font-size: 1rem; /* 16px stops iOS zoom on focus */
}
.mvp-ds input:focus, .mvp-ds select:focus, .mvp-ds textarea:focus { border-color: var(--mvp-accent); }

/* Product grid -------------------------------------------------------- */
.mvp-ds.woocommerce ul.products, .mvp-ds .woocommerce ul.products {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0;
}
.mvp-ds.woocommerce ul.products::before, .mvp-ds .woocommerce ul.products::before { display: none; }
.mvp-ds.woocommerce ul.products li.product, .mvp-ds .woocommerce ul.products li.product {
	width: auto; margin: 0; float: none; background: var(--mvp-surface); border: 1px solid var(--mvp-line);
	border-radius: var(--mvp-r); overflow: hidden; display: flex; flex-direction: column;
	transition: transform .15s ease, border-color .15s ease;
}
.mvp-ds ul.products li.product:hover { transform: translateY(-3px); border-color: var(--mvp-ink); }
.mvp-ds ul.products li.product img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; margin: 0; }
.mvp-ds ul.products li.product .astra-shop-summary-wrap { padding: 10px 12px 14px; }
.mvp-ds .woocommerce-loop-product__title { font-size: 1rem; font-weight: 700; padding: 0; margin: 8px 0 2px; }
.mvp-ds .price { color: var(--mvp-ink); font-weight: 700; }
.mvp-ds ul.products li.product .button { width: 100%; margin-top: 8px; text-align: center; }
.mvp-ds .onsale { background: var(--mvp-pop); color: var(--mvp-ink); border-radius: 999px; min-height: 0; line-height: 1; padding: .5em .8em; }
.mvp-ds .woocommerce-ordering select, .mvp-ds .woocommerce-result-count { font-size: .9rem; }

/* Loop clutter: keep the card to image, name, price, one action */
.mvp-ds ul.products li.product .star-rating, .mvp-ds ul.products li.product .ast-woo-product-category,
.mvp-ds ul.products li.product .ast-woo-shop-product-description { display: none; }
.mvp-ds ul.products li.product .wcfmmp_sold_by_container, .mvp-ds ul.products li.product .wcfmmp_sold_by_wrapper { font-size: .8rem; color: var(--mvp-muted); padding: 8px 12px 0; }
.mvp-ds ul.products li.product .wcfmmp_sold_by_container img { width: 20px; height: 20px; border-radius: 50%; }
.mvp-ds .woocommerce-notices-wrapper + .woocommerce-result-count, .mvp-ds .woocommerce-ordering { margin-bottom: 16px; }

/* Single product / cart / checkout ------------------------------------ */
.mvp-ds .product .summary .price { font-size: 1.6rem; }
.mvp-ds table.shop_table, .mvp-ds .wc-block-cart, .mvp-ds .woocommerce-checkout #order_review {
	background: var(--mvp-surface); border: 1px solid var(--mvp-line); border-radius: var(--mvp-r); overflow: hidden;
}
.mvp-ds .woocommerce-checkout #payment { background: var(--mvp-surface); border-radius: var(--mvp-r); }
.mvp-ds .woocommerce-message, .mvp-ds .woocommerce-info { background: var(--mvp-surface); border-top-color: var(--mvp-accent); border-radius: var(--mvp-r-sm); }

/* Home hero ----------------------------------------------------------- */
.mvp-hero { display: grid; gap: 24px; padding-block: 24px 8px; align-items: center; }
.mvp-hero__copy p { max-width: 36ch; color: var(--mvp-muted); font-size: 1.1rem; }
.mvp-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.mvp-section { padding-block: 24px 40px; }
.mvp-sellers { display: grid; gap: 12px; }
.mvp-sellers > div { background: var(--mvp-surface); border: 1px solid var(--mvp-line); border-radius: var(--mvp-r); padding: 18px; }

/* Seller registration / status ---------------------------------------- */
.mvp-reg { background: var(--mvp-surface); border: 1px solid var(--mvp-line); border-radius: var(--mvp-r-lg); padding: 20px 16px; }
.mvp-reg__steps li { border-bottom-color: var(--mvp-line); color: var(--mvp-muted); }
.mvp-reg__steps li.is-active { border-bottom-color: var(--mvp-accent); color: var(--mvp-ink); }
.mvp-reg__error { border-radius: var(--mvp-r-sm); }
.mvp-reg__nav button { flex: 1; }
.mvp-reg__nav { position: sticky; bottom: calc(var(--mvp-tab-h) + 8px + env(safe-area-inset-bottom)); }
.mvp-status { border-radius: var(--mvp-r); color: var(--mvp-ink); background: var(--mvp-surface); border: 2px solid var(--mvp-line); }
.mvp-status--approved { border-color: var(--mvp-good); }
.mvp-status--pending { border-color: var(--mvp-pop); }
.mvp-status--rejected, .mvp-status--suspended { border-color: var(--mvp-bad); }

/* Footer -------------------------------------------------------------- */
.mvp-ds .site-footer, .mvp-ds .ast-small-footer { background: var(--mvp-ink); color: var(--mvp-paper); }
.mvp-ds .site-footer a { color: var(--mvp-paper); }

/* Mobile tab bar ------------------------------------------------------ */
.mvp-tabbar {
	position: fixed; inset: auto 0 0 0; z-index: 999;
	background: color-mix(in srgb, var(--mvp-surface) 92%, transparent); backdrop-filter: blur(12px);
	border-top: 1px solid var(--mvp-line);
	padding-bottom: env(safe-area-inset-bottom);
}
.mvp-tabbar ul { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.mvp-ds .mvp-tab {
	position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
	height: var(--mvp-tab-h); color: var(--mvp-muted); text-decoration: none; font-size: .72rem; font-weight: 600;
}
.mvp-ds .mvp-tab.is-current { color: var(--mvp-ink); }
.mvp-tab.is-current::before { content: ""; position: absolute; top: 0; width: 28px; height: 3px; border-radius: 0 0 3px 3px; background: var(--mvp-accent); }
.mvp-tab__count {
	position: absolute; top: 8px; left: calc(50% + 6px); min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
	background: var(--mvp-accent); color: var(--mvp-accent-ink); font-size: .68rem; line-height: 18px; text-align: center;
}
.mvp-tab__count[hidden] { display: none; }
.mvp-tab__count.is-bump { animation: mvp-bump .3s ease; }
@keyframes mvp-bump { 50% { transform: scale(1.35); } }

/* Tablet and up ------------------------------------------------------- */
@media (min-width: 768px) {
	body.mvp-ds { --mvp-gutter: var(--mvp-gutter-d, 32px); padding-bottom: 0; }
	.mvp-tabbar { display: none; }
	.mvp-ds.woocommerce ul.products, .mvp-ds .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
	.mvp-sellers { grid-template-columns: repeat(3, 1fr); }
	.mvp-reg { padding: 32px; }
	.mvp-reg__nav { position: static; }
}
@media (min-width: 1024px) {
	.mvp-hero { grid-template-columns: 1.1fr .9fr; gap: 64px; padding-block: 56px 24px; }
	.mvp-ds.woocommerce ul.products, .mvp-ds .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
	.mvp-ds *, .mvp-ds *::before, .mvp-ds *::after { transition: none !important; animation: none !important; }
}

/* WCFM loop row: seller name only, no label or empty stars */
.mvp-ds ul.products li.product .wcfmmp-store-rating, .mvp-ds ul.products li.product .wcfmmp_sold_by_label { display: none; }
.mvp-ds ul.products li.product .wcfmmp_sold_by_wrapper { display: flex; align-items: center; gap: 6px; }
.mvp-ds ul.products li.product .wcfmmp_sold_by_wrapper a { color: var(--mvp-muted); font-weight: 600; text-decoration: none; }
.mvp-ds .woocommerce-ordering select { width: 100%; }

/* Page rhythm and form chrome */
.mvp-ds .site-main { padding-top: 20px; }
.mvp-ds .woocommerce-form-login, .mvp-ds .woocommerce-form-register, .mvp-ds .woocommerce form.login, .mvp-ds .woocommerce form.register,
.mvp-ds .search-form, .mvp-ds .ast-search-menu-icon .search-field {
	border: 1px solid var(--mvp-line); border-radius: var(--mvp-r); background: var(--mvp-surface);
}
.mvp-ds .woocommerce form.login, .mvp-ds .woocommerce form.register { padding: 20px; }
.mvp-ds .search-form { box-shadow: none; }
.mvp-ds .search-submit { box-shadow: none; border: 0; background: transparent; color: var(--mvp-ink); min-height: 0; }
.mvp-ds .error-404 .page-title, .mvp-ds .ast-404-layout-1 .page-title { text-align: left; }
.mvp-ds .ast-404-layout-1 .page-sub-title { font-size: 1.1rem; text-align: left; font-family: var(--mvp-font-body); color: var(--mvp-muted); }

/* Cart table on phones: tidy stacked rows */
.mvp-ds table.shop_table_responsive tr td, .mvp-ds table.shop_table td, .mvp-ds table.shop_table th { border-color: var(--mvp-line); }
.mvp-ds table.cart img { width: 72px; border-radius: var(--mvp-r-sm); }
.mvp-ds .cart_totals, .mvp-ds .woocommerce-checkout-review-order { background: var(--mvp-surface); border: 1px solid var(--mvp-line); border-radius: var(--mvp-r); padding: 16px; }
.mvp-ds .wc-proceed-to-checkout .checkout-button { width: 100%; text-align: center; }

/* select2 (Woo country/state) to match inputs */
.mvp-ds .select2-container--default .select2-selection--single { min-height: 48px; border: 2px solid var(--mvp-line); border-radius: var(--mvp-r-sm); background: var(--mvp-surface); display: flex; align-items: center; }
.mvp-ds .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 1.4; color: var(--mvp-ink); }
.mvp-ds .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; }

/* Final polish from the page walk-through */
.mvp-ds form.mvp-reg { max-width: 560px; margin-inline: auto; padding: 20px 16px 24px; }
@media (min-width: 768px) { .mvp-ds form.mvp-reg { padding: 32px; } }
.mvp-ds #primary { padding-top: 20px; }
.mvp-ds.home #primary { padding-top: 0; }
.mvp-ds.single-product .ast-woo-product-category, .mvp-ds.single-product .product_meta { display: none; }
.mvp-ds .wcfm_ask_to_seller_button, .mvp-ds .wcfm_ask_to_seller_button:hover { border-radius: 999px; }
.mvp-ds .wcfmmp-store-list-map, .mvp-ds #wcfmmp-store-list-map, .mvp-ds .wcfmmp-store-map-wrapper { display: none; }

/* Shop: one control row, no repeated nav/labels */
.mvp-ds.post-type-archive-product .woocommerce-breadcrumb, .mvp-ds.woocommerce-shop .woocommerce-breadcrumb,
.mvp-ds .woocommerce-result-count, .mvp-ds ul.products li.product .ast-on-card-button, .mvp-ds ul.products li.product .ast-quick-view-trigger { display: none !important; }
.mvp-ds .woocommerce-ordering { margin: 0 0 16px; float: none; }
.mvp-ds .woocommerce-ordering select { width: 100%; max-width: 320px; }
@media (max-width: 767px) {
	/* Bottom tab bar already is the navigation: drop the hamburger duplicate. */
	.mvp-ds .ast-mobile-menu-buttons, .mvp-ds .menu-toggle, .mvp-ds .main-header-menu-toggle { display: none !important; }
}

/* Seller dashboard as a standalone app (theme header/footer and admin bar are removed in PHP) */
body:has(#wcfm-main-content) { background: var(--mvp-paper); padding-bottom: 0; }
body:has(#wcfm-main-content) #wcfm-header, body:has(#wcfm-main-content) .mvp-tabbar, body:has(#wcfm-main-content) #ast-scroll-top { display: none !important; }
#wcfm-main-content { max-width: none !important; }

/* ---- Search, category chips, tiles, trust, seller card, footer ---- */
.mvp-search { position: relative; display: flex; margin: 0 0 12px; }
.mvp-search input[type="search"] { width: 100%; padding-right: 52px; border-radius: 999px; }
.mvp-search button { position: absolute; right: 4px; top: 4px; width: 44px; height: 44px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: var(--mvp-ink); color: var(--mvp-paper); box-shadow: none; display: grid; place-items: center; cursor: pointer; }
.mvp-search button:hover { transform: none; background: var(--mvp-accent); color: var(--mvp-accent-ink); box-shadow: none; }
.mvp-shopbar { margin-bottom: 16px; }
.mvp-chips { display: flex; gap: 8px; margin: 0; padding: 2px 0 6px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.mvp-chips li { flex: none; margin: 0; }
.mvp-chips a { display: block; padding: .55em 1.1em; min-height: 44px; line-height: 1.9; border-radius: 999px; border: 2px solid var(--mvp-line); background: var(--mvp-surface); color: var(--mvp-ink); font-weight: 700; text-decoration: none; }
.mvp-chips a[aria-current="true"] { background: var(--mvp-ink); color: var(--mvp-paper); border-color: var(--mvp-ink); }

.mvp-cats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin: 0; padding: 0; list-style: none; }
.mvp-cats li { margin: 0; }
.mvp-cats a { display: flex; flex-direction: column; justify-content: flex-end; min-height: 112px; padding: 16px; border-radius: var(--mvp-r); background: var(--mvp-surface); border: 1px solid var(--mvp-line); color: var(--mvp-ink); text-decoration: none; transition: border-color .15s, transform .15s; }
.mvp-cats li:nth-child(3n+1) a { background: var(--mvp-pop); border-color: var(--mvp-ink); }
.mvp-cats a:hover { border-color: var(--mvp-ink); transform: translateY(-3px); }
.mvp-cats__name { font: 800 1.25rem var(--mvp-font-display); }
.mvp-cats__count { font-size: .85rem; color: var(--mvp-muted); }
.mvp-cats li:nth-child(3n+1) .mvp-cats__count { color: var(--mvp-ink); }

.mvp-trust { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.mvp-trust li { display: flex; gap: 14px; align-items: flex-start; margin: 0; padding: 16px; border-radius: var(--mvp-r); background: var(--mvp-surface); border: 1px solid var(--mvp-line); }
.mvp-trust__icon { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--mvp-ink); color: var(--mvp-paper); }
.mvp-trust h3 { margin: 0 0 2px; font-size: 1.05rem; }
.mvp-trust p { margin: 0; color: var(--mvp-muted); font-size: .95rem; }

.mvp-seller-card { display: flex; gap: 12px; align-items: center; margin: 16px 0 8px; padding: 12px; border-radius: var(--mvp-r); border: 1px solid var(--mvp-line); background: var(--mvp-surface); text-decoration: none; color: var(--mvp-ink); }
.mvp-seller-card:hover { border-color: var(--mvp-ink); }
.mvp-seller-card__avatar { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; background: var(--mvp-pop); font: 800 1.2rem var(--mvp-font-display); }
.mvp-seller-card small { display: block; color: var(--mvp-muted); }
.mvp-ship-note { display: flex; align-items: center; gap: 10px; margin: 8px 0 0; color: var(--mvp-muted); font-size: .95rem; }

.mvp-footer { display: grid; gap: 24px; padding: 32px var(--mvp-gutter); background: var(--mvp-ink); color: var(--mvp-paper); }
.mvp-footer strong { font: 800 1.4rem var(--mvp-font-display); }
.mvp-footer p { color: color-mix(in srgb, var(--mvp-paper) 70%, transparent); max-width: 32ch; }
.mvp-footer h2 { font-size: 1rem; color: var(--mvp-paper); margin: 0 0 8px; }
.mvp-footer ul { margin: 0; padding: 0; list-style: none; }
.mvp-footer a { display: inline-block; padding: 6px 0; color: var(--mvp-paper); text-decoration: none; }
.mvp-footer a:hover { text-decoration: underline; }
@media (min-width: 768px) {
	.mvp-cats { grid-template-columns: repeat(4, 1fr); }
	.mvp-trust { grid-template-columns: repeat(3, 1fr); }
	.mvp-footer { grid-template-columns: 2fr 1fr 1fr; padding-block: 48px; }
	.mvp-search { max-width: 520px; }
}
.mvp-ds .mvp-page-title { margin: 8px 0 16px; font-size: clamp(1.7rem, 6vw, 2.4rem); max-width: 440px; margin-inline: auto; }
/* Beat Astra's .entry-content ul indent */
.mvp-ds .entry-content ul.mvp-cats, .mvp-ds .entry-content ul.mvp-trust, .mvp-ds .entry-content ul.mvp-chips, .mvp-ds ul.mvp-chips, .mvp-ds .entry-content ul.mvp-swipe__chips { margin-left: 0; padding-left: 0; list-style: none; }

/* Seller dashboard on phones: menu is a drawer (closed by default), readable header */
body:has(#wcfm-main-content) #wcfm-main-contentainer .wcfm-page-headig, body:has(#wcfm-main-content) #wcfm-main-contentainer .wcfm-page-headig a,
body:has(#wcfm-main-content) #wcfm-main-contentainer .wcfm-page-headig .wcfm-page-heading-text, body:has(#wcfm-main-content) .wcfm-store-name-heading-text a { color: var(--mvp-on-dark) !important; }
@media (max-width: 767px) {
	body:has(#wcfm-main-content) #wcfm_menu { display: none; }
	body:has(#wcfm-main-content) #wcfm_menu.wcfm_menu_toggle { display: block; box-shadow: 8px 0 24px rgba(0, 0, 0, .35); }
	body:has(#wcfm-main-content) .wcfm_menu_toggler { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; }
}

/* Seller landing: perks + FAQ */
.mvp-ds .mvp-perks { display: grid; gap: 12px; margin: 0 auto 24px; padding: 0; list-style: none; max-width: 560px; }
.mvp-ds .mvp-perks li { margin: 0; padding: 16px; border-radius: var(--mvp-r); background: var(--mvp-pop); border: 2px solid var(--mvp-ink); color: var(--mvp-ink); }
.mvp-ds .mvp-perks strong { display: block; font: 800 1.2rem var(--mvp-font-display); }
.mvp-ds .mvp-faq { max-width: 560px; margin: 32px auto 0; }
.mvp-ds .mvp-faq details { padding: 14px 0; border-bottom: 1px solid var(--mvp-line); }
.mvp-ds .mvp-faq summary { min-height: 44px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.mvp-ds .mvp-faq p { margin: 4px 0 0; color: var(--mvp-muted); }
@media (min-width: 768px) { .mvp-ds .mvp-perks { max-width: 880px; grid-template-columns: repeat(3, 1fr); } }

/* Round 3 fixes: overflow, link chrome, product page, sellers filters */
.mvp-hero { grid-template-columns: minmax(0, 1fr); }
.mvp-hero > *, .mvp-section > * { min-width: 0; }
.mvp-ds .mvp-cats a, .mvp-ds .mvp-cats a:hover, .mvp-ds .mvp-seller-tile__link, .mvp-ds .mvp-seller-tile__link:hover, .mvp-ds .mvp-chips a, .mvp-ds .mvp-seller-card { text-decoration: none; }
.mvp-ds .mvp-cats a, .mvp-ds .mvp-cats a:hover { color: var(--mvp-ink); }
.mvp-ds .mvp-cats li:nth-child(3n+1) a, .mvp-ds .mvp-cats li:nth-child(3n+1) a:hover { color: var(--mvp-ink); }
.mvp-ds .mvp-seller-card strong { color: var(--mvp-ink); }
.mvp-ds.single-product .single-product-category { display: none; }
.mvp-ds .wcfm_catalog_enquiry, .mvp-ds .wcfm_catalog_enquiry:hover { border-radius: 999px; padding: .6em 1.2em; min-height: 44px; display: inline-flex; align-items: center; background: var(--mvp-surface) !important; color: var(--mvp-ink) !important; border: 2px solid var(--mvp-ink) !important; box-shadow: 2px 2px 0 var(--mvp-ink); text-decoration: none; font-weight: 700; }
.mvp-ds .wcfmmp-store-search-form select, .mvp-ds .wcfmmp-store-search-form .select2-container, .mvp-ds #wcfmmp_store_country_filter, .mvp-ds .wcfmmp-store-search-form .wcfmmp-store-search-radius { }

/* Product: sticky add-to-cart above the tab bar on phones */
@media (max-width: 767px) {
	.mvp-ds.single-product form.cart:not(.variations_form) {
		position: sticky; bottom: calc(var(--mvp-tab-h) + env(safe-area-inset-bottom) + 8px); z-index: 60;
		display: flex; gap: 10px; align-items: center; padding: 10px; margin-inline: -4px;
		background: var(--mvp-surface); border: 2px solid var(--mvp-ink); border-radius: var(--mvp-r); box-shadow: 3px 3px 0 var(--mvp-ink);
	}
	.mvp-ds.single-product form.cart .single_add_to_cart_button { flex: 1; margin: 0; }
	.mvp-ds.single-product form.cart .quantity { margin: 0; }
}

/* Cart rows as compact cards on phones */
@media (max-width: 767px) {
	.mvp-ds table.cart, .mvp-ds table.cart tbody { display: block; background: transparent; border: 0; }
	.mvp-ds table.cart thead { display: none; }
	.mvp-ds table.cart tr.cart_item { display: grid; grid-template-columns: 72px 1fr auto; gap: 4px 12px; align-items: center; position: relative; margin-bottom: 12px; padding: 12px; background: var(--mvp-surface); border: 1px solid var(--mvp-line); border-radius: var(--mvp-r); }
	.mvp-ds table.cart tr.cart_item td { display: block; padding: 0; border: 0; text-align: left !important; }
	.mvp-ds table.cart tr.cart_item td::before { display: none !important; }
	.mvp-ds table.cart td.product-thumbnail { grid-row: 1 / span 3; }
	.mvp-ds table.cart td.product-thumbnail img { width: 72px; height: 72px; object-fit: cover; }
	.mvp-ds table.cart td.product-name { grid-column: 2; font-weight: 700; }
	.mvp-ds table.cart td.product-price { display: none; }
	.mvp-ds table.cart td.product-quantity { grid-column: 2; }
	.mvp-ds table.cart td.product-subtotal { grid-column: 3; grid-row: 1; font-weight: 800; }
	.mvp-ds table.cart td.product-remove { position: absolute; top: 6px; right: 8px; width: auto; }
	.mvp-ds table.cart td.actions { display: block; padding: 8px 0 0; }
	.mvp-ds table.cart td.actions .coupon { display: grid; gap: 8px; margin-bottom: 8px; }
}

/* Text that sits on the "pop" colour follows its own contrast token */
.mvp-ds .mvp-cats li:nth-child(3n+1) a, .mvp-ds .mvp-cats li:nth-child(3n+1) a:hover, .mvp-ds .mvp-cats li:nth-child(3n+1) .mvp-cats__count { color: var(--mvp-pop-ink); }
.mvp-ds .mvp-perks li, .mvp-ds .mvp-seller-card__avatar { color: var(--mvp-pop-ink); }
/* WCFM's generic blue logo next to the seller name adds noise; the name is enough */
.mvp-ds .wcfmmp_sold_by_logo { display: none; }

/* ---- Settings-driven overrides (Customizer > Swipe Market) ---- */
.mvp-ds .button, .mvp-ds .mvp-reg__nav button, .mvp-ds button[type="submit"], .mvp-ds input[type="submit"],
.mvp-ds .wp-block-button__link, .mvp-ds .wc-block-components-button, .mvp-ds .ast-button, .mvp-ds .mvp-chips a, .mvp-ds .wcfm_catalog_enquiry { border-radius: var(--mvp-btn-r, 999px); }
.mvp-ds .button, .mvp-ds .mvp-reg__nav button, .mvp-ds button[type="submit"], .mvp-ds input[type="submit"],
.mvp-ds .wp-block-button__link, .mvp-ds .wc-block-components-button, .mvp-ds .ast-button { box-shadow: var(--mvp-sh, 3px) var(--mvp-sh, 3px) 0 var(--mvp-ink); }
.mvp-ds .button:hover, .mvp-ds .mvp-reg__nav button:hover, .mvp-ds button[type="submit"]:hover, .mvp-ds .wp-block-button__link:hover { transform: translate(calc(var(--mvp-sh, 3px) * .66), calc(var(--mvp-sh, 3px) * .66)); box-shadow: calc(var(--mvp-sh, 3px) * .33) calc(var(--mvp-sh, 3px) * .33) 0 var(--mvp-ink); }
.mvp-ds.woocommerce ul.products, .mvp-ds .woocommerce ul.products { grid-template-columns: repeat(var(--mvp-cols-m, 2), minmax(0, 1fr)); }
.mvp-ds ul.products li.product img { aspect-ratio: var(--mvp-shop-ratio, 4 / 5); }
@media (min-width: 768px) { .mvp-ds.woocommerce ul.products, .mvp-ds .woocommerce ul.products { grid-template-columns: repeat(var(--mvp-cols-t, 3), minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mvp-ds.woocommerce ul.products, .mvp-ds .woocommerce ul.products { grid-template-columns: repeat(var(--mvp-cols-d, 4), minmax(0, 1fr)); } }
.mvp-tabbar ul { grid-template-columns: repeat(var(--mvp-tabs, 4), 1fr); }
.mvp-no-tabbar .mvp-tabbar { display: none; }
body.mvp-no-tabbar { padding-bottom: 0; }
.mvp-tab-nolabels .mvp-tab > span:not(.mvp-tab__count) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mvp-no-seller-row ul.products li.product .wcfmmp_sold_by_container { display: none; }
@media (max-width: 767px) {
	.mvp-no-sticky-atc.single-product form.cart:not(.variations_form) { position: static; border: 0; box-shadow: none; background: transparent; padding: 0; margin: 0; }
}

/* Spectra blocks: keep our left-aligned reading rhythm */
.mvp-ds .wp-block-uagb-info-box, .mvp-ds .uagb-infobox__content-wrap, .mvp-ds .uagb-ifb-content, .mvp-ds .uagb-ifb-title-wrap, .mvp-ds .uagb-ifb-desc { text-align: left !important; }
.mvp-ds .wp-block-uagb-container.mvp-sx-section, .mvp-ds .wp-block-uagb-container.mvp-sx-hero { max-width: 100%; }
.mvp-ds .wp-block-uagb-faq .uagb-faq-questions-button { min-height: 44px; }
.mvp-ds .mvp-sx-seller .mvp-perks { max-width: none; margin-inline: 0; }
