/* VIỆT FORMULA — WooCommerce (chỉ nạp ở trang cửa hàng / sản phẩm / giỏ / thanh toán / tài khoản) */
.vf-woo .woocommerce-result-count { font-size: var(--vf-fs-sm); color: var(--vf-muted); margin: 0 0 1rem; }
.vf-woo .woocommerce-ordering select { min-height: 44px; padding: .5rem .75rem; border: 1px solid var(--vf-line-strong); border-radius: var(--vf-r-md); background: #fff; }
.vf-woo ul.products { display: grid !important; grid-template-columns: 1fr; gap: var(--vf-s-5); margin: 0 0 var(--vf-s-8) !important; padding: 0; list-style: none; }
.vf-woo ul.products::before, .vf-woo ul.products::after { display: none !important; }
@media (min-width: 600px) { .vf-woo ul.products { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .vf-woo ul.products { grid-template-columns: repeat(3, 1fr); } }
.vf-woo ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; display: flex; flex-direction: column; padding: 0 0 var(--vf-s-5) !important; background: #fff; border: 1px solid var(--vf-line); border-radius: var(--vf-r-lg); overflow: hidden; }
.vf-woo ul.products li.product a img { margin: 0 0 var(--vf-s-4) !important; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.vf-woo ul.products li.product .woocommerce-loop-product__title { padding: 0 var(--vf-s-5) !important; font: 700 var(--vf-fs-md)/1.3 var(--vf-font-display) !important; color: var(--vf-graphite); }
.vf-woo ul.products li.product .star-rating { margin: .4rem var(--vf-s-5) !important; }
.vf-woo ul.products li.product .price { padding: 0 var(--vf-s-5); color: var(--vf-cobalt) !important; font: 700 var(--vf-fs-lg)/1.2 var(--vf-font-display) !important; }
.vf-pcard__note { margin: .25rem var(--vf-s-5) .5rem; font-size: var(--vf-fs-xs); color: var(--vf-muted); }
.vf-woo ul.products li.product .button { margin: auto var(--vf-s-5) 0 !important; }
.vf-woo a.button, .vf-woo button.button, .vf-woo input.button, .vf-woo .button.alt, .woocommerce #respond input#submit { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; padding: .7rem 1.2rem !important; border-radius: var(--vf-r-md) !important; background: var(--vf-cobalt) !important; color: #fff !important; font: 600 var(--vf-fs-sm)/1.2 var(--vf-font-body) !important; border: 0 !important; }
.vf-woo a.button:hover, .vf-woo button.button:hover { background: var(--vf-cobalt-700) !important; }
.vf-woo .star-rating { color: #B7791F; }
.vf-woo div.product { display: grid; gap: var(--vf-s-8); }
@media (min-width: 900px) { .vf-woo div.product { grid-template-columns: 1fr 1fr; gap: var(--vf-s-12); } .vf-woo div.product > .woocommerce-tabs, .vf-woo div.product > .related, .vf-woo div.product > .vf-related { grid-column: 1 / -1; } }
.vf-woo div.product div.images, .vf-woo div.product div.summary { width: auto !important; float: none !important; margin: 0 !important; }
.vf-woo div.product div.images img { border-radius: var(--vf-r-lg); }
.vf-woo div.product .product_title { font-size: var(--vf-fs-2xl); line-height: var(--vf-lh-tight); }
.vf-woo div.product p.price { color: var(--vf-cobalt) !important; font: 700 var(--vf-fs-xl)/1.2 var(--vf-font-display) !important; }
.vf-woo div.product form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; margin: var(--vf-s-5) 0 !important; }
.vf-woo .quantity .qty { width: 80px; min-height: 48px; border: 1px solid var(--vf-line-strong); border-radius: var(--vf-r-md); text-align: center; }
.vf-woo .woocommerce-tabs ul.tabs { display: flex; gap: .5rem; padding: 0 !important; margin: 0 0 var(--vf-s-5) !important; border-bottom: 1px solid var(--vf-line); }
.vf-woo .woocommerce-tabs ul.tabs::before, .vf-woo .woocommerce-tabs ul.tabs li::before, .vf-woo .woocommerce-tabs ul.tabs li::after { display: none !important; }
.vf-woo .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
.vf-woo .woocommerce-tabs ul.tabs li a { display: inline-flex !important; min-height: 48px; align-items: center; padding: 0 1rem !important; font-weight: 600; color: var(--vf-muted) !important; }
.vf-woo .woocommerce-tabs ul.tabs li.active a { color: var(--vf-cobalt) !important; box-shadow: inset 0 -2px 0 var(--vf-cobalt); }
.vf-woo .woocommerce-Tabs-panel { max-width: var(--vf-container-text); }
.vf-woo .woocommerce-Tabs-panel h2 { font-size: var(--vf-fs-lg); }
.vf-woo #reviews .commentlist { list-style: none; padding: 0; display: grid; gap: 1rem; }
.vf-woo #reviews .comment_container { padding: 1rem; border: 1px solid var(--vf-line); border-radius: var(--vf-r-md); background: #fff; }
.vf-woo #reviews .comment_container img.avatar { display: none; }
.vf-woo #reviews .comment-text { margin: 0 !important; border: 0 !important; padding: 0 !important; }
.vf-woo input.input-text, .vf-woo textarea, .vf-woo select, .vf-woo .select2-container .select2-selection { min-height: 48px; padding: .6rem .8rem; border: 1px solid var(--vf-line-strong) !important; border-radius: var(--vf-r-md) !important; background: #fff; font-size: 16px; }
.vf-woo table.shop_table { border-collapse: collapse; border-radius: var(--vf-r-lg) !important; background: #fff; }
.vf-woo .woocommerce-info, .vf-woo .woocommerce-message, .vf-woo .woocommerce-error { border-top-color: var(--vf-cobalt); background: #fff; border-radius: var(--vf-r-md); }
.vf-consent-row label { display: flex !important; gap: .5rem; align-items: flex-start; line-height: 1.5; font-size: var(--vf-fs-sm); }
.vf-consent-row input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.vf-woo .vf-ticks--sm { margin: var(--vf-s-4) 0; }
