/* Minh Long catalog – product grid, product page, archive */

.ml-price { font-weight: 600; color: var(--global-palette3); }
.ml-price del { color: var(--global-palette6); font-weight: 400; margin-right: 4px; }
.ml-price ins { text-decoration: none; color: var(--global-palette10, #d0021b); }
.ml-price--contact, .ml-price--contact a { color: var(--global-palette10, #d0021b); }

/* Grid */
.ml-grid, .entry-content .ml-grid { list-style: none; margin: 0 0 1.5em; padding: 0; display: grid; gap: 20px; }
.ml-grid.ml-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) {
	.ml-grid.ml-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ml-grid.ml-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.ml-card, .entry-content .ml-card { margin: 0; background: #fff; border: 1px solid #e5eaf0; border-radius: 6px; padding: 12px; display: flex; flex-direction: column; gap: 6px; transition: box-shadow .2s; }
.ml-card:hover { box-shadow: 0 6px 18px rgba(13, 76, 130, .12); }
.ml-card__link { color: inherit; text-decoration: none; display: flex; flex-direction: column; gap: 10px; }
.ml-card__media { display: block; aspect-ratio: 1 / 1; background: #fff; overflow: hidden; }
.ml-card .ml-card__img, .entry-content .ml-card .ml-card__img { width: 100%; height: 100%; object-fit: contain; display: block; }
.ml-card__img--empty { display: block; width: 100%; height: 100%; background: var(--global-palette7); }
.ml-card__title { font-size: 15px; line-height: 1.35; font-weight: 500; color: var(--global-palette3); }
.ml-card__link:hover .ml-card__title { color: var(--global-palette1); }
.ml-card .ml-price { font-size: 14px; margin-top: auto; }

/* Breadcrumbs */
.ml-breadcrumbs { font-size: 14px; color: var(--global-palette6); margin: 0 0 1.2em; }
.ml-breadcrumbs .sep { margin: 0 4px; }

/* Product page */
.ml-product__top { display: grid; gap: 32px; margin-bottom: 2em; }
@media (min-width: 900px) { .ml-product__top { grid-template-columns: 1fr 1fr; } }
.ml-gallery__main { display: block; aspect-ratio: 1 / 1; border: 1px solid #e5eaf0; border-radius: 6px; background: #fff; overflow: hidden; }
.ml-gallery__img { width: 100%; height: 100%; object-fit: contain; }
.ml-gallery__thumbs { list-style: none; margin: 10px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; }
.ml-gallery__thumbs button { padding: 0; border: 2px solid transparent; border-radius: 4px; background: #fff; cursor: pointer; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; }
.ml-gallery__thumbs button.is-active, .ml-gallery__thumbs button:hover { border-color: var(--global-palette1); }
.ml-gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ml-summary__title { margin-top: 0; }
.ml-summary__price { font-size: 22px; margin: .5em 0 1em; }
.ml-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 1em 0 1.5em; }
.ml-cta .button { padding: 12px 20px; border-radius: 4px; }
.ml-cta__call { background: var(--global-palette10, #d0021b) !important; color: #fff !important; }
.ml-summary__meta { list-style: none; padding: 0; margin: 0; font-size: 14px; color: var(--global-palette5); }
.ml-summary__meta li { margin-bottom: 4px; }
.ml-product__desc, .ml-related { border-top: 1px solid #e5eaf0; padding-top: 1.5em; margin-top: 1.5em; }
.ml-product__desc img { max-width: 100%; height: auto; }

/* Archive */
.ml-archive__title { margin-top: 0; }
.ml-subcats { list-style: none; padding: 0; margin: 0 0 1.5em; display: flex; flex-wrap: wrap; gap: 8px; }
.ml-subcats a { display: inline-block; padding: 6px 14px; border: 1px solid var(--global-palette1); border-radius: 20px; font-size: 14px; text-decoration: none; }
.ml-subcats a:hover { background: var(--global-palette1); color: #fff; }

/* Category list (sidebar / footer shortcode) */
.ml-cats { list-style: none; margin: 0; padding: 0; }
.ml-cats li { padding: 4px 0; }
.ml-cats--child { padding-left: 14px; font-size: 94%; }
.ml-cats li.current > a { font-weight: 600; }
.site-footer .ml-cats--child { display: none; }

/* Home / global */
.home .entry-content > h2 { border-bottom: 2px solid var(--global-palette1); padding-bottom: 6px; margin-top: 40px; }
.entry-content img { max-width: 100%; height: auto; }
