/* ==========================================================================
   TCG Vault — responsive rules (mobile first refinements)
   ========================================================================== */

@media (max-width: 1200px) {
	.tcgv-social-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
	.tcgv-nav { display: none; }
	.tcgv-actions__burger { display: grid; }

	.tcgv-header--2 .tcgv-header__bottom { display: none; }
	.tcgv-header--3 .tcgv-header__search--inline { max-width: none; }

	.tcgv-shop:has(.tcgv-shop__sidebar) { grid-template-columns: 1fr; }

	.woocommerce div.product { grid-template-columns: 1fr; grid-row-gap: 26px; }
	.woocommerce div.product .summary { grid-column: 1; }

	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { grid-column: 1; position: static; }

	.tcgv-products,
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.tcgv-products--carousel > .tcgv-card { flex-basis: calc((100% - 40px) / 3); }

	.tcgv-reviews { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcgv-trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 782px) {
	.tcgv-container { width: min(100% - 28px, var(--tcgv-container)); }

	.tcgv-header__inner,
	.tcgv-header__top { min-height: 62px; gap: 12px; }

	.tcgv-header--2 .tcgv-header__search,
	.tcgv-header--3 .tcgv-header__search--inline { display: none; }

	.tcgv-section__head { flex-direction: column; align-items: flex-start; gap: 8px; margin-bottom: 20px; }
	.tcgv-carousel__nav { display: none; }

	.tcgv-hero__actions .tcgv-btn { flex: 1 1 160px; }

	.tcgv-banners { grid-template-columns: 1fr; }
	.tcgv-banner { min-height: 190px; }

	.tcgv-newsletter { grid-template-columns: 1fr; }
	.tcgv-newsletter-card { padding: 24px; }
	.tcgv-newsletter__form { flex-direction: column; }
	.tcgv-newsletter__form .tcgv-btn { width: 100%; }

	.tcgv-reviews { grid-template-columns: 1fr; }
	.tcgv-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcgv-social-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	.tcgv-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; padding-block: 32px; }
	.tcgv-footer__bar-inner { justify-content: center; text-align: center; }

	/* Product grid respects the mobile column setting. */
	.tcgv-products,
	.woocommerce ul.products { grid-template-columns: repeat(var(--tcgv-cols-mobile), minmax(0, 1fr)); gap: 12px; }
	.tcgv-products--carousel > .tcgv-card { flex-basis: calc(72% - 12px); }
	.tcgv-products--carousel { gap: 12px; }

	.tcgv-card__body { padding: 12px; gap: 4px; }
	.tcgv-card__title { font-size: 0.92rem; }
	.tcgv-card__price { font-size: 1rem; }
	.tcgv-card__actions .button { padding: 11px 14px; font-size: 0.85rem; }

	.tcgv-qv { grid-template-columns: 1fr; }

	.woocommerce div.product .product_title { font-size: 1.5rem; }
	.woocommerce div.product p.price { font-size: 1.5rem; }
	.woocommerce div.product form.cart button.single_add_to_cart_button,
	.tcgv-buy-now { flex: 1 1 100%; }

	.tcgv-sticky-atc { display: flex; }
	body.single-product { padding-bottom: 74px; }

	/* Stacked cart table. */
	.woocommerce table.shop_table_responsive thead { display: none; }
	.woocommerce table.shop_table_responsive tr { display: block; border-bottom: 1px solid var(--tcgv-border); }
	.woocommerce table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		border: 0;
		padding: 9px 14px;
	}
	.woocommerce table.shop_table_responsive td::before {
		content: attr(data-title);
		color: var(--tcgv-muted);
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.06em;
	}

	.woocommerce .cart .coupon { flex-direction: column; }
	.woocommerce .cart .coupon .button { width: 100%; }

	.tcgv-modal__panel { margin-top: 4vh; padding: 18px; max-height: 92vh; }
}

@media (max-width: 480px) {
	.tcgv-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcgv-trust { grid-template-columns: 1fr; }
	.tcgv-footer__cols { grid-template-columns: 1fr; }
	.tcgv-social-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tcgv-announce__inner { padding-right: 30px; }
	.tcgv-announce__text { font-size: 0.8rem; }
}

/* Print: keep it lean. */
@media print {
	.tcgv-header, .tcgv-footer, .tcgv-sticky-atc, .tcgv-announce { display: none !important; }
}
