/*
Theme Name: DM Print Modern
Text Domain: dm-print-modern
Description: Modern, fast block theme for a WooCommerce PVC card printing store.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
WPVibe: yes
Update URI: false
*/

html {
	scroll-behavior: smooth;
}

/* Product cards (shortcode + shop grids) — high specificity to beat WooCommerce defaults */
.woocommerce ul.products,
ul.products { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 1.25rem; margin: 0 !important; padding: 0 !important; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product,
ul.products li.product,
.wc-block-product,
.wc-block-grid__product {
	background: #fff !important;
	border: 1px solid #DDE3EC !important;
	border-radius: 18px !important;
	padding: .75rem .75rem 1rem !important;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	display: flex !important;
	flex-direction: column;
	text-align: left;
	box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.woocommerce ul.products li.product:hover,
.wc-block-product:hover { transform: translateY(-3px); border-color: #BFD0F7 !important; box-shadow: 0 20px 40px -26px rgba(37, 99, 235, .5); }
.woocommerce ul.products li.product a img,
.wc-block-product img {
	width: 100% !important;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #F3F6FA;
	border-radius: 12px !important;
	padding: .6rem;
	box-sizing: border-box;
	margin: 0 0 .85rem !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title {
	font-family: var(--wp--preset--font-family--display) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -.01em;
	color: var(--wp--preset--color--ink);
	padding: 0 .25rem !important;
	margin: 0 0 .4rem !important;
	min-height: 2.6em;
}
.wc-block-product .wp-block-post-title a { color: inherit; text-decoration: none; }
.woocommerce ul.products li.product .price,
.wc-block-product .wc-block-components-product-price {
	display: block;
	padding: 0 .25rem !important;
	margin: 0 0 .9rem !important;
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: var(--wp--preset--color--ink) !important;
}
.woocommerce ul.products li.product .button,
.wc-block-product .wp-block-button__link,
.wc-block-components-product-button .wp-block-button__link {
	margin: auto 0 0 !important;
	width: 100%;
	display: block;
	text-align: center;
	background: var(--wp--preset--color--vermilion) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 12px !important;
	padding: .7rem 1rem !important;
	font-size: .92rem !important;
	font-weight: 700 !important;
	text-decoration: none;
	box-sizing: border-box;
}
.woocommerce ul.products li.product .button:hover,
.wc-block-product .wp-block-button__link:hover { background: var(--wp--preset--color--ink) !important; }
.woocommerce ul.products li.product .added_to_cart { display: none; }
@media (max-width: 600px) {
	.woocommerce ul.products, ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-product .wp-block-post-title { font-size: .9rem !important; }
	.woocommerce ul.products li.product .button { font-size: .82rem !important; padding: .6rem .5rem !important; }
}

/* Single product */
.dm-product .wp-block-post-title { margin: .2rem 0 .4rem; }
.dm-product .wc-block-components-product-price,
.dm-product .wp-block-woocommerce-product-price { font-weight: 800; color: var(--wp--preset--color--ink); }
.dm-product .woocommerce-product-gallery img { border-radius: 16px; border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--sand); }
.dm-atc form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; margin: 1rem 0; }
.dm-atc form.cart .dmof-box { flex: 1 1 100%; }
.dm-atc .quantity input.qty { height: 100%; min-height: 48px; width: 4.5rem; border: 1.5px solid var(--wp--preset--color--line); border-radius: 10px; text-align: center; font: inherit; }
.dm-atc .single_add_to_cart_button { flex: 1 1 auto; min-height: 48px; border-radius: 12px !important; background: var(--wp--preset--color--vermilion) !important; color: #fff !important; font-weight: 700 !important; border: 0 !important; }
.dm-atc .single_add_to_cart_button:hover { background: var(--wp--preset--color--ink) !important; }
.dm-perks { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: .45rem; font-size: .92rem; color: var(--wp--preset--color--muted); }
.dm-perks li { padding-left: 1.6rem; position: relative; }
.dm-perks li::before { content: "\2713"; position: absolute; left: 0; color: #16A34A; font-weight: 800; }
.dm-tabs { margin-top: 3rem; border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; }
.dm-tabs .wc-tabs { border: 0 !important; padding: 0 !important; display: flex; gap: .5rem; }
.dm-tabs .wc-tabs::before, .dm-tabs .wc-tabs li::before, .dm-tabs .wc-tabs li::after { display: none !important; }
.dm-tabs .wc-tabs li { background: var(--wp--preset--color--sand) !important; border: 1px solid var(--wp--preset--color--line) !important; border-radius: 999px !important; margin: 0 !important; }
.dm-tabs .wc-tabs li.active { background: var(--wp--preset--color--ink) !important; }
.dm-tabs .wc-tabs li.active a { color: #fff !important; }
.woocommerce-message, .woocommerce-error, .woocommerce-info { border-radius: 12px; border-top-color: var(--wp--preset--color--vermilion); background: var(--wp--preset--color--sand); }
.woocommerce-error { border-top-color: #DC2626; }
