/* VLN thẻ sản phẩm dùng chung (đặc tả 4.4). Phần REF lấy từ CSS bản duyệt, giới hạn trong .vln-cards */
.vln-cards { --red:#c42129; --ink:#232927; --muted:#727872; --line:#e7e8e3; font-family: Arial, Helvetica, sans-serif; }
.vln-cards a { color: inherit; }
.vln-cards button { text-transform: none; letter-spacing: 0; min-height: 0; margin: 0; }
/* ---------- REF ---------- */
.vln-cards .product{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:white;display:flex;flex-direction:column;transition:box-shadow .2s}
.vln-cards .product:hover{box-shadow:0 6px 24px #202c1210;border-color:#c9cdbf}
.vln-cards .product-main{text-align:left;padding:12px 14px 0;width:100%;flex:1}
.vln-cards .product-img{height:165px;display:flex;align-items:center;justify-content:center;background:#fafbf9;border-radius:3px;margin-bottom:13px}
.vln-cards .product img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.vln-cards .product .cat{font-size:9px;color:#8a9185;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.vln-cards .product h3{font-size:13px;line-height:1.55;font-weight:500;min-height:40px;margin:8px 0 12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vln-cards .price{color:var(--red);font-size:16px;font-weight:700}
.vln-cards .empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--muted)}
@media(max-width:700px){
.vln-cards .product-img{height:145px}
.vln-cards .product-main{padding:9px 9px 0}
.vln-cards .product h3{font-size:12px;min-height:38px}
.vln-cards .product .cat{font-size:8px}
.vln-cards .price{font-size:14px}
}
.vln-cards .product{border:1px solid #d4d5da;border-radius:17px;box-shadow:none}
.vln-cards .product-main{padding:13px 13px 0}
.vln-cards .product-img{height:auto;aspect-ratio:1/1;background:#fff;margin:0 0 14px}
.vln-cards .product img{mix-blend-mode:normal}
.vln-cards .product h3{font-weight:700;font-size:16px;line-height:1.45;min-height:47px;margin:5px 0 13px;-webkit-line-clamp:3}
.vln-cards .old-price{display:block;color:#686868;font-size:13px;min-height:20px;margin-top:4px}
.vln-cards .price{font-size:21px;font-weight:500;color:#e72425;margin-top:3px}
.vln-cards .card-actions{display:flex;gap:10px;padding:15px 13px}
.vln-cards .round-action{border:1px solid #d2d4db;color:#636672;border-radius:50%;width:43px;height:43px;padding:10px;display:flex;align-items:center;justify-content:center}
.vln-cards .round-action svg{width:24px;height:24px;flex:none}
.vln-cards .cart-action{color:var(--red);border-color:var(--red)}
.vln-cards .round-action:hover{background:#fff1f1}
.vln-cards .round-action.is-favorite{color:var(--red);border-color:var(--red)}
.vln-cards .round-action.is-favorite svg{fill:#fff0f1}
@media(max-width:700px){
.vln-cards .product{border-radius:14px}
.vln-cards .product-main{padding:10px 10px 0}
.vln-cards .product h3{font-size:13px;min-height:55px;-webkit-line-clamp:3;line-height:1.45;margin-bottom:9px}
.vln-cards .product-img{height:auto;aspect-ratio:1/1;margin-bottom:10px}
.vln-cards .old-price{font-size:11px;min-height:17px}
.vln-cards .product .price{font-size:17px}
.vln-cards .card-actions{padding:12px 10px;gap:8px}
.vln-cards .round-action{width:38px;height:38px;padding:8px}
.vln-cards .round-action svg{width:21px;height:21px}
}
@media(max-width:760px){
}
.vln-cards .retail-product-row .product{min-width:0}
@media(max-width:650px){
.vln-cards .retail-product-row .product{flex:0 0 68%;scroll-snap-align:start}
}
.vln-cards .shelf-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:15px;background:#fafafa;border:1px solid #eee;border-radius:10px}
.vln-cards .shelf-filters label{display:flex;flex:1 1 130px;min-width:0;flex-direction:column;gap:6px;font-size:11px;font-weight:600;color:#555}
.vln-cards .shelf-filters input,.vln-cards .shelf-filters select{width:100%;min-width:0;height:38px;padding:7px 9px;border:1px solid #ddd;border-radius:5px;background:white;font:inherit;font-size:12px;color:#222}
.vln-cards .shelf-filters select:disabled{color:#999;background:#f4f4f4}
.vln-cards .shelf-clear{padding:10px;font-size:12px;color:var(--red)}
.vln-cards .shelf-filters input:focus,.vln-cards .shelf-filters select:focus{outline:2px solid var(--red);outline-offset:2px}
@media(max-width:650px){
.vln-cards .shelf-filters{gap:8px;padding:10px}
.vln-cards .shelf-filters label{flex:1 1 calc(50% - 8px)}
}
.vln-cards #promotionProducts .product-img{position:relative}
.vln-cards .promotion-badge{position:absolute;z-index:1;top:10px;left:10px;background:var(--red);color:white;border-radius:4px;font-size:12px;font-weight:700;padding:5px 8px}
.vln-cards .retail-shelf .shelf-filters{margin-bottom:20px}
.vln-cards .shelf-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;padding-bottom:34px}
.vln-cards .shelf-filters .shelf-clear{position:absolute;right:12px;bottom:2px;padding:5px;font-size:11px}
.vln-cards .shelf-filters label{min-width:0}
@media(max-width:650px){
.vln-cards .shelf-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
/* ---------- Điều chỉnh ---------- */
.vln-cards .product { height: 100%; }
.vln-cards .product-main { display: block; }
.vln-cards .product-img { position: relative; overflow: hidden; }
.vln-cards .product h3 { color: var(--ink); text-transform: none; letter-spacing: 0; }
.vln-cards del.old-price { text-decoration: line-through; }
.vln-cards .round-action { cursor: pointer; background: #fff; }
.vln-cards .added_to_cart { display: none !important; }
.vln-cards .shelf-filters { margin: 0 0 18px; }
.vln-cards .shelf-filters input, .vln-cards .shelf-filters select { margin: 0; box-shadow: none; }
.vln-cards .shelf-filters label { margin: 0; }
.vln-cards .shelf-clear { text-transform: none; font-weight: 600; color: var(--red); }
.products .col.vln-cards { padding-bottom: 14px; }
.vln-archive-title { font-family: Arial, Helvetica, sans-serif; font-size: 26px; line-height: 1.3; margin: 0 0 14px; color: #232927; text-transform: none; }
@media (max-width: 650px) { .vln-archive-title { font-size: 21px; } }
.vln-empty { padding: 20px; border: 1px dashed #e7e8e3; border-radius: 8px; }
