/* ==========================================================================
   theme.css - WordPress-specific additions on top of the design CSS.
   Only var(--mvs-*) tokens are used here (values come from the options).
   ========================================================================== */

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}
.skip-link:focus {
	clip: auto;
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	padding: 12px 20px;
	background: #fff;
	color: var(--mvs-primary);
	z-index: 100000;
	top: 8px;
	left: 8px;
}

img { max-width: 100%; height: auto; }
a { color: var(--mvs-primary); }
h1, h2, h3, h4, h5, h6 { font-family: var(--mvs-heading-font); color: var(--mvs-heading); }
.logo img { display: block; }
.menu-items li.is-current > .menu-link { color: var(--mvs-primary); }
.footer-links { list-style: none; }

/* Sticky header */
.mvs-sticky-header .main-header { position: sticky; top: 0; z-index: 900; }
.admin-bar.mvs-sticky-header .main-header { top: 32px; }

/* Cards use shared radius token */
.menu-card, .trending-card, .sale-card, .banner-card, .mv-vendor { border-radius: var(--mvs-card-radius); }
.btn { border-radius: var(--mvs-btn-radius); }
.menu-image a, .trending-image, .sale-image { display: block; }
.menu-info h3 a, .trending-card h3 a, .sale-card h3 a { color: inherit; text-decoration: none; }
.btn-secondary { display: inline-block; text-align: center; text-decoration: none; }
.quick-add { text-decoration: none; display: inline-grid; place-items: center; }

/* Blog / archive */
.mvs-post-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 30px; }
.mvs-post-card { background: #fff; border-radius: var(--mvs-card-radius); overflow: hidden; box-shadow: var(--pg-shadow); }
.mvs-post-thumb img { width: 100%; height: 220px; object-fit: cover; display: block; }
.mvs-post-body { padding: 22px; }
.mvs-post-meta { font-size: 13px; color: var(--pg-muted); margin-bottom: 8px; }
.mvs-post-title { font-size: 20px; margin-bottom: 10px; }
.mvs-post-title a { color: inherit; text-decoration: none; }
.mvs-read-more { font-weight: 600; text-decoration: none; }
.mvs-single, .mvs-entry .entry-content { max-width: 860px; margin: 0 auto; }
.mvs-entry .entry-content > * + * { margin-top: 1.2em; }
.mvs-post-hero img { width: 100%; border-radius: var(--mvs-card-radius); margin: 16px 0; }
.mvs-comments { max-width: 860px; margin: 40px auto 0; }
.pagination, .navigation.pagination { margin-top: 40px; text-align: center; }
.page-numbers { display: inline-block; padding: 8px 14px; border: 1px solid var(--pg-border); border-radius: 8px; margin: 0 3px; text-decoration: none; }
.page-numbers.current { background: var(--mvs-primary); color: #fff; border-color: var(--mvs-primary); }

/* ==========================================================================
   Shop / product / WooCommerce compatibility
   ========================================================================== */
.products-grid { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) { .products-grid.columns-3, .products-grid.columns-4, .products-grid.columns-5 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) {
	.products-grid.columns-2 { grid-template-columns: repeat(2, 1fr); }
	.products-grid.columns-3 { grid-template-columns: repeat(3, 1fr); }
	.products-grid.columns-4 { grid-template-columns: repeat(4, 1fr); }
	.products-grid.columns-5 { grid-template-columns: repeat(5, 1fr); }
}
.shop-container.no-sidebar { display: block; }
.shop-container.mvs-shop-layout-right { flex-direction: row-reverse; }
.shop-product-card .product-image { position: relative; }
.shop-product-card .product-image a { display: block; }
.shop-product-card .product-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.shop-product-card .product-info h3 a { color: inherit; text-decoration: none; }
.shop-product-card .price-tag del { opacity: .6; margin-right: 4px; }
.product-badge.out { background: #64748b; }
.mvs-sold-by { display: block; font-size: 13px; color: var(--pg-muted); margin: 2px 0 6px; }
.mvs-sold-by a { font-weight: 600; text-decoration: none; }
.woocommerce-result-count { margin: 0; }
.woocommerce-ordering select, .shop-toolbar select { padding: 9px 14px; border: 1px solid var(--pg-border); border-radius: 8px; background: #fff; }
.pagination .page-link.dots { border: 0; }
.woocommerce-notices-wrapper, .woocommerce-message, .woocommerce-info, .woocommerce-error {
	list-style: none; margin: 0 0 20px; padding: 14px 18px; border-radius: 10px;
	background: var(--mvs-primary-soft); border: 1px solid var(--pg-border); color: var(--mvs-text);
}
.woocommerce-notices-wrapper { padding: 0; background: none; border: 0; }
.woocommerce-error { background: #fff1ee; border-color: var(--mvs-danger); }
.woocommerce-message .button, .woocommerce-info .button { float: right; }

/* card hover actions */
.mvs-card-actions { position: absolute; top: 12px; right: 12px; display: flex; flex-direction: column; gap: 8px; opacity: 0; transform: translateX(8px); transition: .2s; z-index: 3; }
.shop-product-card:hover .mvs-card-actions, .mvs-card-actions:focus-within { opacity: 1; transform: none; }
@media (hover: none) { .mvs-card-actions { opacity: 1; transform: none; } }
.mvs-act { width: 38px; height: 38px; border-radius: 50%; border: 0; background: #fff; color: var(--mvs-text); box-shadow: 0 2px 8px rgba(0,0,0,.15); cursor: pointer; display: grid; place-items: center; transition: .2s; }
.mvs-act:hover, .mvs-act.is-active { background: var(--mvs-primary); color: #fff; }
.btn-wishlist.is-active { color: var(--mvs-danger); border-color: var(--mvs-danger); }

/* single product */
.product-gallery .main-image { position: relative; }
.product-gallery .main-image img { width: 100%; height: auto; display: block; }
.thumbnail-gallery .thumbnail { cursor: pointer; }
.thumbnail-gallery .thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mvs-add-to-cart form.cart { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; margin: 0; }
.mvs-add-to-cart .single_add_to_cart_button { background: var(--mvs-primary); color: #fff; border: 0; padding: 14px 32px; border-radius: var(--mvs-btn-radius); font-weight: 600; cursor: pointer; }
.mvs-add-to-cart .single_add_to_cart_button:hover { background: var(--mvs-primary-dark); }
.mvs-add-to-cart table.variations { width: 100%; margin-bottom: 14px; }
.mvs-add-to-cart table.variations select { padding: 10px 14px; border: 1px solid var(--pg-border); border-radius: 8px; width: 100%; }
.mvs-add-to-cart .woocommerce-variation-price { margin-bottom: 10px; font-weight: 700; }
.product-additional .info-badge i { color: var(--mvs-feature, var(--mvs-primary)); }
.quantity.mvs-qty { display: inline-flex; align-items: center; border: 1px solid var(--pg-border); border-radius: 50px; overflow: hidden; background: #fff; }
.quantity.mvs-qty input.qty { width: 54px; border: 0; text-align: center; padding: 10px 0; font-size: 16px; -moz-appearance: textfield; }
.quantity.mvs-qty input.qty::-webkit-outer-spin-button, .quantity.mvs-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }
.mvs-qty-btn { width: 40px; height: 44px; border: 0; background: transparent; cursor: pointer; }
.mvs-qty-btn:hover { color: var(--mvs-primary); }
.mvs-related { padding: 30px 0 70px; }
.mvs-related h2 { margin-bottom: 24px; }
.mvs-related ul.products { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 24px; padding: 0; }
.woocommerce-tabs .woocommerce-Reviews-title { font-size: 20px; margin-bottom: 14px; }
.comment-form-rating select { padding: 8px 12px; border: 1px solid var(--pg-border); border-radius: 8px; }
#reviews ol.commentlist { list-style: none; padding: 0; }
#reviews .comment_container { display: flex; gap: 14px; margin-bottom: 20px; }
#reviews .comment_container img.avatar { border-radius: 50%; width: 48px; height: 48px; }
#respond input[type=text], #respond input[type=email], #respond textarea { width: 100%; padding: 12px 14px; border: 1px solid var(--pg-border); border-radius: 8px; }
.star-rating { color: var(--mvs-star); }

/* cart & checkout */
.cart-collaterals .cart_totals { background: #fff; border: 1px solid var(--pg-border); border-radius: var(--mvs-card-radius); padding: 24px; }
.cart-collaterals .cart_totals h2 { font-size: 20px; margin-bottom: 16px; }
.cart-collaterals table { width: 100%; border-collapse: collapse; }
.cart-collaterals th, .cart-collaterals td { padding: 12px 0; border-bottom: 1px solid var(--pg-border); text-align: left; vertical-align: top; }
.cart-collaterals td { text-align: right; }
.cart-collaterals .order-total td, .cart-collaterals .order-total th { font-weight: 700; font-size: 18px; border-bottom: 0; }
.wc-proceed-to-checkout .checkout-button { display: block; text-align: center; background: var(--mvs-primary); color: #fff; padding: 15px; border-radius: var(--mvs-btn-radius); font-weight: 700; text-decoration: none; margin-top: 16px; }
.wc-proceed-to-checkout .checkout-button:hover { background: var(--mvs-primary-dark); }
.cart-table .td-remove a.remove { text-decoration: none; }
.cart-table .quantity { margin: 0; }
.woocommerce-checkout .form-row { margin-bottom: 16px; }
.woocommerce-checkout .form-row label { display: block; font-weight: 600; margin-bottom: 6px; font-size: 14px; }
.woocommerce-checkout .form-row .input-text, .woocommerce-checkout .form-row select, .woocommerce-checkout .form-row textarea,
.woocommerce-checkout .select2-selection, .woocommerce-account .input-text, .woocommerce-account select, .woocommerce-account textarea {
	width: 100%; padding: 12px 14px; border: 1px solid var(--pg-border); border-radius: 8px; background: #fff; font-size: 15px; min-height: 46px;
}
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: calc(50% - 8px); float: left; }
.woocommerce-checkout .form-row-first { margin-right: 16px; }
.woocommerce-checkout .form-row-wide, .woocommerce-checkout .notes { clear: both; }
.woocommerce-billing-fields__field-wrapper::after, .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: block; clear: both; }
.woocommerce-checkout h3 { font-size: 20px; margin-bottom: 16px; }
.woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 10px 0; border-bottom: 1px solid var(--pg-border); text-align: left; }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout-payment ul.payment_methods { list-style: none; padding: 0; margin: 16px 0; }
.woocommerce-checkout-payment .payment_box { background: var(--mvs-primary-soft); padding: 12px 16px; border-radius: 8px; margin-top: 8px; }
#place_order { width: 100%; background: var(--mvs-primary); color: #fff; border: 0; padding: 16px; border-radius: var(--mvs-btn-radius); font-size: 16px; font-weight: 700; cursor: pointer; }
#place_order:hover { background: var(--mvs-primary-dark); }
.woocommerce .button, .woocommerce button.button { background: var(--mvs-primary); color: #fff; border: 0; padding: 12px 24px; border-radius: var(--mvs-btn-radius); cursor: pointer; text-decoration: none; display: inline-block; }
.woocommerce .button:hover { background: var(--mvs-primary-dark); color: #fff; }

/* my account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px 1fr; gap: 30px; align-items: start; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 8px; margin: 0; background: #fff; border: 1px solid var(--pg-border); border-radius: var(--mvs-card-radius); }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 12px 16px; border-radius: 8px; color: var(--mvs-text); text-decoration: none; font-weight: 500; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a, .woocommerce-account .woocommerce-MyAccount-navigation a:hover { background: var(--mvs-primary-soft); color: var(--mvs-primary); }
.woocommerce-account .woocommerce-MyAccount-content { background: #fff; border: 1px solid var(--pg-border); border-radius: var(--mvs-card-radius); padding: 28px; }
.woocommerce-account:not(.logged-in) .woocommerce, .mvs-account-guest { display: block; max-width: 900px; margin: 0 auto; }
.woocommerce-account .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px; border-bottom: 1px solid var(--pg-border); text-align: left; }
@media (max-width: 767px) { .woocommerce-account .woocommerce { grid-template-columns: 1fr; } .woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100%; float: none; margin-right: 0; } }

/* modal + toast */
.mvs-modal[hidden], .mvs-toast[hidden] { display: none; }
.mvs-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; }
.mvs-modal-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,.55); }
.mvs-modal-dialog { position: relative; background: #fff; border-radius: var(--mvs-card-radius); max-width: 860px; width: 100%; max-height: 90vh; overflow: auto; padding: 28px; }
.mvs-modal-close { position: absolute; top: 12px; right: 12px; border: 0; background: var(--mvs-primary-soft); width: 36px; height: 36px; border-radius: 50%; cursor: pointer; }
.mvs-modal-open { overflow: hidden; }
.mvs-qv { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.mvs-qv-media img { width: 100%; border-radius: var(--mvs-card-radius); }
.mvs-qv-info h2 { margin-bottom: 10px; }
.mvs-qv-actions { display: flex; gap: 10px; margin-top: 18px; flex-wrap: wrap; }
.mvs-qv-loading { text-align: center; padding: 40px; font-size: 28px; }
@media (max-width: 700px) { .mvs-qv { grid-template-columns: 1fr; } }
.mvs-toast { position: fixed; left: 50%; bottom: 28px; transform: translate(-50%, 20px); background: #111; color: #fff; padding: 12px 22px; border-radius: 50px; z-index: 100001; opacity: 0; transition: .25s; }
.mvs-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

/* vendor dashboard extras */
.vdash-content .pg-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.vdash-content .pg-field, .seller-form .pg-field { margin-bottom: 16px; }
@media (max-width: 640px) { .vdash-content .pg-form-row { grid-template-columns: 1fr; } }
.vdash-content .pg-card { margin-bottom: 24px; }
.mvs-none, .mvs-404 { text-align: center; padding: 40px 0; }
