/* Trang danh mục, sản phẩm, giỏ, đặt hàng — Kho Sỉ Sao Mai */

/* ---------- Danh mục / tìm kiếm ---------- */
.ks-archive { padding-top: 20px; padding-bottom: 20px; }
@media (min-width: 768px) { .ks-archive { padding-top: 32px; } }
.ks-archive-head { margin: 16px 0 0; }
.ks-archive-title { font-size: 36px; margin: 0; }
@media (min-width: 768px) { .ks-archive-title { font-size: 48px; } }
.ks-archive-sub { margin: 8px 0 0; font-size: 14px; color: var(--ks-muted); }
.ks-chips { display: flex; gap: 8px; overflow-x: auto; margin-top: 20px; padding-bottom: 4px; scrollbar-width: none; }
.ks-chips::-webkit-scrollbar { display: none; }
.ks-chips a { flex: none; border: 1px solid var(--ks-line); border-radius: 999px; padding: 6px 14px; font-size: 14px; color: var(--ks-ink-soft); white-space: nowrap; }
.ks-chips a:hover { border-color: var(--ks-brand); color: var(--ks-brand-dark); }
.ks-filterbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 0 16px; font-size: 14px; }
.ks-check { display: flex; align-items: center; gap: 8px; }
.ks-check input { width: 16px; height: 16px; accent-color: var(--ks-brand); }
.ks-sort { display: flex; align-items: center; gap: 8px; color: var(--ks-muted); }
.ks-sort select { height: 36px; border: 1px solid var(--ks-line); border-radius: 8px; padding: 0 8px; background: #fff; font: inherit; font-size: 14px; color: var(--ks-ink); }
.woocommerce-pagination { margin-top: 32px; text-align: center; }
.woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 6px; list-style: none; margin: 0; padding: 0; border: 0; }
.woocommerce-pagination .page-numbers li { border: 0; }
.woocommerce-pagination a.page-numbers, .woocommerce-pagination span.page-numbers { display: inline-grid; place-items: center; min-width: 36px; height: 36px; padding: 0 8px; border: 1px solid var(--ks-line); border-radius: 8px; font-size: 14px; background: #fff; }
.woocommerce-pagination span.page-numbers.current { background: var(--ks-brand); border-color: var(--ks-brand); color: #fff; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { border-top-color: var(--ks-brand); border-radius: 10px; }
.woocommerce-no-products-found .woocommerce-info { background: var(--ks-surface); }

/* ---------- Trang sản phẩm ---------- */
.ks-single-crumbs { padding-top: 20px; }
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: var(--ks-max); margin: 16px auto 0; padding: 0 16px; }
@media (min-width: 1024px) { .single-product div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; } .single-product div.product > .woocommerce-product-gallery { grid-row: span 3; } }
/* Gallery (flexslider) có ul rộng n×100%: ép theo cột, không cho min-content làm vỡ lưới */
.single-product div.product .woocommerce-product-gallery, .single-product div.product .woocommerce-product-gallery__wrapper, .single-product div.product .flex-viewport { min-width: 0 !important; max-width: 100% !important; }
.single-product div.product .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
.single-product div.product .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0; }
.single-product div.product .woocommerce-product-gallery__wrapper { border: 1px solid var(--ks-line); border-radius: var(--ks-radius); overflow: hidden; background: #fff; }
.single-product div.product .flex-control-thumbs { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; }
.single-product div.product .flex-control-thumbs li { width: 72px !important; flex: none; margin: 0 !important; }
.single-product div.product .flex-control-thumbs img { border: 2px solid var(--ks-line); border-radius: 8px; opacity: 1; }
.single-product div.product .flex-control-thumbs img.flex-active { border-color: var(--ks-brand); }
.single-product div.product .summary { width: 100% !important; float: none !important; margin: 0; }
.single-product div.product .product_title { font-size: 24px; font-weight: 600; line-height: 1.3; margin: 8px 0 0; }
@media (min-width: 768px) { .single-product div.product .product_title { font-size: 30px; } }
.ks-single-meta { margin: 0; font-size: 14px; color: var(--ks-muted); }
.ks-single-meta b { color: var(--ks-ink); font-variant-numeric: tabular-nums; }
.ks-brand-name { font-weight: 600; text-transform: uppercase; letter-spacing: .05em; color: var(--ks-ink-soft); }
.ks-single-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.ks-buybox { margin-top: 20px; border: 1px solid var(--ks-line); border-radius: var(--ks-radius); padding: 16px; }
.ks-buybox-pack { margin: 8px 0 0; font-size: 14px; color: var(--ks-muted); }
.ks-buybox-pack b { color: var(--ks-ink); font-variant-numeric: tabular-nums; }
.ks-buybox-out { margin-top: 12px; }
.ks-buybox form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 16px 0 0; }
.ks-buybox form.cart .quantity { display: inline-flex; align-items: stretch; height: 44px; border: 1px solid var(--ks-line); border-radius: 10px; overflow: hidden; }
.ks-buybox form.cart .quantity .qty { width: 80px; height: 100%; border: 0; text-align: center; font-weight: 600; font-size: 15px; }
.ks-buybox form.cart .single_add_to_cart_button { flex: 1; height: 48px; border-radius: 10px; background: var(--ks-brand); color: #fff; font-family: var(--ks-display); text-transform: uppercase; font-size: 18px; font-weight: 700; letter-spacing: .02em; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; padding: 0 20px; }
.ks-buybox form.cart .single_add_to_cart_button:hover { background: var(--ks-brand-dark); }
.ks-btn-zalo-outline { display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; margin-top: 12px; border: 1px solid var(--ks-zalo); border-radius: 10px; color: var(--ks-zalo); font-weight: 600; font-size: 15px; }
.ks-btn-zalo-outline:hover { background: rgb(0 104 255 / .05); color: var(--ks-zalo); }
.ks-specs { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; margin: 20px 0 0; font-size: 14px; }
.ks-specs dt { color: var(--ks-muted); }
.ks-specs dd { margin: 0; }
.ks-single-desc { max-width: 760px; margin: 40px auto 0; padding: 0 16px; }
.ks-h2-sm { font-size: 24px; margin: 0 0 12px; }
.ks-prose { line-height: 1.7; color: var(--ks-ink-soft); font-size: 15px; }
.ks-prose p { margin: 0 0 12px; }
.ks-prose img { max-width: 100%; height: auto; border-radius: 8px; }
.ks-prose h2, .ks-prose h3 { font-family: var(--ks-display); text-transform: uppercase; font-size: 20px; margin: 20px 0 8px; }
.ks-single-related { max-width: var(--ks-max); margin: 48px auto 0; padding: 0 16px; }
.single-product .woocommerce-notices-wrapper { max-width: var(--ks-max); margin: 0 auto; padding: 0 16px; }

/* ---------- Giỏ hàng / checkout ---------- */
.woocommerce-cart .site-content, .woocommerce-checkout .site-content, .page .site-content { max-width: var(--ks-max); margin: 0 auto !important; padding: 24px 16px !important; }
.woocommerce table.shop_table { border: 1px solid var(--ks-line); border-radius: var(--ks-radius); border-collapse: separate; }
.woocommerce table.shop_table th { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--ks-muted); }
.woocommerce .cart_totals, .woocommerce-checkout #order_review { border: 1px solid var(--ks-line); border-radius: var(--ks-radius); padding: 16px; }
.woocommerce .cart_totals h2 { font-family: var(--ks-display); text-transform: uppercase; font-size: 20px; }
.woocommerce button.button, .woocommerce a.button, .woocommerce #respond input#submit, .woocommerce input.button, .woocommerce button.button.alt, .woocommerce a.button.alt { background: var(--ks-brand); color: #fff; border-radius: 10px; font-weight: 700; }
.woocommerce button.button:hover, .woocommerce a.button:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover { background: var(--ks-brand-dark); color: #fff; }
.woocommerce .checkout-button, .woocommerce #place_order { width: 100%; height: 48px; font-family: var(--ks-display); text-transform: uppercase; font-size: 18px; letter-spacing: .02em; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea { height: 44px; border: 1px solid var(--ks-line); border-radius: 10px; padding: 0 12px; font: inherit; }
.woocommerce form .form-row textarea { height: auto; padding: 10px 12px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--ks-brand); outline: none; }
.woocommerce form .form-row label { font-size: 14px; font-weight: 500; }
.woocommerce-checkout #payment { background: var(--ks-surface); border-radius: 10px; }
.woocommerce-checkout #payment div.payment_box { background: #fff; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields h3 { display: none; }
.ks-empty-cart-cta { display: flex; gap: 12px; flex-wrap: wrap; }
.woocommerce-cart .cart-empty { font-size: 16px; }
.woocommerce-order-received .woocommerce-order { max-width: 720px; margin: 0 auto; }
.woocommerce-thankyou-order-received { font-family: var(--ks-display); text-transform: uppercase; font-size: 28px; color: var(--ks-stock); }

/* Giá theo thùng */
.ks-price-perpack{color:var(--ks-muted,#666);font-weight:600}
.ks-pack-price{display:block;color:#666;font-size:.78rem;line-height:1.35;margin-top:2px}
.ks-q-perpack{display:block;color:#666}
.ks-q-total small{display:block;color:#666;font-weight:400}
