/* SGCE 2026 — legacy catalog presentation on neutral WooCommerce markup. */
.post-type-archive-product,
.tax-product_cat,
.tax-product_tag,
.tax-product_brand { background: #f7f7f7; }

.sgce-commerce-archive { min-height: 70vh; padding: 24px 0 72px; color: #111; background: #f7f7f7; }
.sgce-archive-shell { width: min(1200px, calc(100% - 40px)); margin: 0 auto; }
.sgce-archive-shell > .woocommerce-notices-wrapper:empty { display: none; }
.sgce-archive-header { padding: 24px 0 20px; }
.sgce-archive-header__breadcrumb { margin-bottom: 20px; color: #777; font-size: 12px; }
.sgce-archive-header__breadcrumb a { color: #555; text-decoration: none; }
.sgce-archive-header__breadcrumb .woocommerce-breadcrumb > a:first-child {
    display: inline-block;
    width: 14px;
    height: 14px;
    overflow: hidden;
    background-color: currentColor;
    -webkit-mask: url("../images/icon-home.svg") center / contain no-repeat;
    mask: url("../images/icon-home.svg") center / contain no-repeat;
    text-indent: -9999px;
    vertical-align: -2px;
}
.sgce-archive-header__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.sgce-archive-header__copy { max-width: 900px; }
.sgce-archive-title { margin: 0; font-size: clamp(30px, 3vw, 48px); font-weight: 500; line-height: 1.1; letter-spacing: -.035em; }
.sgce-archive-header .term-description { max-width: 820px; margin-top: 14px; color: #666; font-size: 14px; line-height: 1.65; }
.sgce-archive-header .term-description > :last-child { margin-bottom: 0; }
.sgce-archive-header__sort .woocommerce-ordering { margin: 0; }
.sgce-archive-header__sort select { min-width: 210px; height: 42px; padding: 0 38px 0 14px; border: 1px solid #d8d8d8; border-radius: 0; color: #222; background: #fff; font: inherit; font-size: 13px; }
.sgce-archive-status { display: flex; justify-content: flex-end; min-height: 24px; margin-bottom: 12px; color: #888; font-size: 12px; }
.sgce-archive-status .woocommerce-result-count { margin: 0; }

.sgce-commerce-archive ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; list-style: none; }
.sgce-commerce-archive ul.products::before,
.sgce-commerce-archive ul.products::after { display: none; }
.sgce-commerce-archive ul.products li.product.sgce-product-card { float: none; width: auto; margin: 0; padding: 0; }
.sgce-product-card__inner { position: relative; display: flex; min-width: 0; height: 438px; flex-direction: column; overflow: visible; border: 0; border-radius: 4px; background: #fff; box-shadow: 0 0 15px 2px rgba(0,0,0,.161); }
.sgce-product-card__inner:hover { box-shadow: 0 0 15px 2px rgba(0,0,0,.161); }
.sgce-product-card__media { position: relative; display: flex; height: 266.25px; flex: 0 0 266.25px; align-items: center; justify-content: center; padding: 35px 0 0; background: #fff; }
.sgce-product-card__media > a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.sgce-product-card__media img { display: block; width: 100%; height: 100%; margin: 0; object-fit: contain; transition: transform .35s ease; }
.sgce-product-card__inner:hover .sgce-product-card__media > a > img { transform: none; }
.sgce-product-card__stock { position: absolute; right: 12px; bottom: 10px; padding: 5px 8px; color: #666; background: rgba(255,255,255,.92); border: 1px solid #ddd; font-size: 11px; }

.sgce-product-card__body { display: flex; min-height: 0; flex: 1; flex-direction: column; overflow: hidden; padding: 0 7px 5px; }
.sgce-product-card .product-title { min-height: 0; margin: 0; font-size: 12px; font-weight: 700; line-height: 1.4; }
.sgce-product-card .product-title a { display: -webkit-box; overflow: hidden; color: #222; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sgce-product-card .price-wrapper { min-height: 0; margin: 7px 0; padding: 0 5px; }
.sgce-product-card .price { display: flex; width: 100%; align-items: baseline; justify-content: space-between; gap: 5px; color: #9a2134; font-size: 14px; font-weight: 700; line-height: 14px; }
.sgce-product-card .price del { margin-right: auto; color: #000; font-size: 12px; font-weight: 300; line-height: 12px; opacity: 1; text-decoration-color: #000; text-decoration-line: line-through; text-decoration-thickness: 1px; }
.sgce-product-card .price del .woocommerce-Price-amount { color: #000; font-size: 12px; font-weight: 300; }
.sgce-product-card .price ins { margin-left: auto; color: #9a2134; font-size: 14px; font-weight: 700; line-height: 14px; text-decoration: none; }
.sgce-product-card .price ins .woocommerce-Price-amount,
.sgce-product-card .price > .woocommerce-Price-amount { color: #9a2134; font-size: 14px; font-weight: 700; }
.sgce-product-card .wrap-product-thong-tin-bo-sung { margin-top: 10px; color: #222; font-size: 12.6px; font-weight: 400; line-height: 20.16px; }
.sgce-product-card .product-thong-tin-bo-sung-row-item { margin-top: 5px; }
.sgce-product-card .product-thong-tin-bo-sung-row-item span { display: block; overflow: hidden; padding: 0 5px 3px; text-overflow: ellipsis; white-space: nowrap; }

.sgce-product-card .sgce-product-attributes-variations { position: relative; display: flex; min-height: 30px; align-items: center; justify-content: center; gap: 0 15px; padding: 0 7px; }
.sgce-product-card .attribute-options { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0 5px; }
.sgce-product-card button.attribute-option { position: relative; display: inline-flex; min-width: 25px; height: 25px; min-height: 0; align-items: center; justify-content: center; margin: 2px !important; padding: 0 5px; border: 1px solid #222; border-radius: 50%; color: #222; background: #fff; box-shadow: none; font-family: var(--sgce-font); font-size: 12px; font-weight: 700; line-height: 25px; cursor: pointer; }
.sgce-product-card button.attribute-option[data-attribute-type="pa_size"] { width: 27px; height: 27px; padding: 0; }
.sgce-product-card button.attribute-option.color-option:not(.text) { width: 17px; min-width: 17px; height: 17px; padding: 0; border-color: #bbb; }
.sgce-product-card button.attribute-option.image { width: 25px; height: 25px; overflow: hidden; padding: 0; }
.sgce-product-card button.attribute-option.image img { width: 100%; height: 100%; object-fit: cover; }
.sgce-product-card button.attribute-option.selected,
.sgce-product-card button.attribute-option.active { color: #fff; border-color: #222; background: #222; transform: scale(1.1); }
.sgce-product-card button.attribute-option.color-option:not(.text).selected,
.sgce-product-card button.attribute-option.color-option:not(.text).active { outline: 1px solid #111; outline-offset: 2px; transform: scale(1.08); }
.sgce-product-card .add-to-cart-button { position: absolute; z-index: 3; top: 0; right: 3px; }
.sgce-product-card .add-to-cart-button button { display: flex; width: 30px; height: 30px; min-height: 0; align-items: center; justify-content: center; margin: 0; padding: 0; border: 0; color: #9a2134; background: transparent; box-shadow: none; font-size: 24px; font-weight: 900; line-height: 1; cursor: pointer; user-select: none; }
.sgce-product-card .add-to-cart-button button span { margin-top: -4px; color: #9a2134; font-size: 24px; font-weight: 900; }
.sgce-product-card .add-to-cart-button button:hover,
.sgce-product-card .add-to-cart-button button:focus-visible { color: #9a2134; background: transparent; box-shadow: none; }
.sgce-product-card .add-to-cart-button button.loading { opacity: .55; pointer-events: none; }
.sgce-product-card .add-to-cart-button button:disabled { opacity: .35; cursor: not-allowed; }

.sgce-product-card .product-ribbon-wrapper { position: absolute; z-index: 2; }
.sgce-product-card .product-ribbon-wrapper.top { top: 0; }
.sgce-product-card .product-ribbon-wrapper.bottom { bottom: 5px; }
.sgce-product-card .product-ribbon-wrapper.left { left: 0; }
.sgce-product-card .product-ribbon-wrapper.right { right: 0; }
.sgce-product-card .product-ribbon { position: relative; z-index: 1; display: flex; margin: 6px 0 12px; color: #fff; }
.sgce-product-card .product-ribbon-wrapper.top.left .product-ribbon:first-child { margin-bottom: 20px; }
.sgce-product-card .product-ribbon span { position: relative; color: #fff; font-family: var(--sgce-font); font-size: 12px; font-weight: 400; line-height: 20px; }
.sgce-product-card .product-ribbon span::before { position: absolute; z-index: -1; width: calc(100% + 12px); padding: 15px 22px; background: linear-gradient(#222 0 0) bottom/100% 5px no-repeat #222; box-shadow: 0 4px 12px rgba(0,0,0,.1); content: ""; }
.sgce-product-card .product-ribbon-wrapper.left .product-ribbon span::before { left: -4px; clip-path: polygon(0 0,100% 0,100% calc(100% - 7px),5px calc(100% - 7px),5px 100%,0 calc(100% - 5px)); }
.sgce-product-card .product-ribbon-wrapper.right .product-ribbon span::before { right: -7px; background: linear-gradient(#9a2134 0 0) bottom/100% 5px no-repeat #9a2134; clip-path: polygon(0 0,100% 0,100% calc(100% - 7px),calc(100% - 7px) 100%,calc(100% - 7px) calc(100% - 7px),0 calc(100% - 7px)); }

.sgce-child-category-slider { position: relative; z-index: 5; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid #e7e7e7; background: #fff; box-shadow: 0 8px 24px rgba(0,0,0,.06); }
.sgce-child-category-slider__inner { display: flex; width: min(1200px, calc(100% - 40px)); align-items: center; gap: 12px; margin: 0 auto; }
.sgce-child-category-slider__viewport { width: 100%; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
.sgce-child-category-slider__viewport::-webkit-scrollbar { display: none; }
.sgce-child-category-slider__list { display: flex; width: max-content; gap: 24px; margin: 0 auto; padding: 0; list-style: none; }
.sgce-child-category-slider__item { margin: 0; }
.sgce-child-category-slider__item a { position: relative; display: block; padding: 7px 0; color: #222; text-decoration: none; white-space: nowrap; font-size: 13px; }
.sgce-child-category-slider__item a::after { position: absolute; right: 0; bottom: 2px; left: 0; height: 1px; background: #111; content: ""; transform: scaleX(0); transition: transform .25s ease; }
.sgce-child-category-slider__item a:hover::after,
.sgce-child-category-slider__item.is-active a::after { transform: scaleX(1); }
.sgce-child-category-slider__nav { display: flex; width: 30px; height: 30px; min-height: 0; flex: 0 0 30px; align-items: center; justify-content: center; padding: 0; border: 1px solid #111; border-radius: 0; color: #111; background: #fff; cursor: pointer; }
.sgce-child-category-slider__nav span { display: none; }
.sgce-child-category-slider__nav::before { content: "←"; font-size: 14px; line-height: 1; }
.sgce-child-category-slider__nav.is-next::before { content: "→"; }
.sgce-child-category-slider__nav:disabled { opacity: .25; cursor: default; }

.sgce-commerce-archive:has(.sgce-pagination) { padding-bottom: 0; }
.sgce-pagination { margin: 50px 0; }
.sgce-pagination > ul.page-numbers { display: flex !important; width: auto !important; height: auto !important; align-items: center !important; justify-content: center !important; gap: 7px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
.sgce-pagination > ul.page-numbers > li { display: block !important; width: 38px !important; height: 38px !important; flex: 0 0 38px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
.sgce-pagination > ul.page-numbers > li::before,
.sgce-pagination > ul.page-numbers > li::after { display: none !important; content: none !important; }
.sgce-pagination > ul.page-numbers > li > a,
.sgce-pagination > ul.page-numbers > li > span { display: flex !important; width: 38px !important; min-width: 38px !important; height: 38px !important; align-items: center !important; justify-content: center !important; margin: 0 !important; padding: 0 !important; border: 2px solid #222 !important; border-radius: 50% !important; box-sizing: border-box !important; color: #222 !important; background: #fff !important; text-align: center !important; text-decoration: none !important; font-size: 16px !important; font-weight: 600 !important; line-height: 34px !important; }
.sgce-pagination > ul.page-numbers > li > .current,
.sgce-pagination > ul.page-numbers > li > [aria-current="page"],
.sgce-pagination > ul.page-numbers > li > a:hover { border-color: #222 !important; color: #fff !important; background: #222 !important; }
.sgce-pagination > ul.page-numbers > li > .next,
.sgce-pagination > ul.page-numbers > li > .prev { font-size: 24px !important; font-weight: 400 !important; line-height: 34px !important; }
.sgce-pagination .next > span[aria-hidden="true"],
.sgce-pagination .prev > span[aria-hidden="true"] { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; line-height: 1; transform: translateY(-1px); }
.sgce-pagination .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; margin: -1px !important; padding: 0 !important; border: 0 !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

@media (min-width: 1240px) {
    .sgce-commerce-archive { padding-top: 0; }
    .sgce-archive-header { padding: 25px 11.267606px; }
    .sgce-archive-header__breadcrumb { margin-bottom: 25px; }
    .sgce-archive-header__row { gap: 25px; }
    .sgce-archive-header__sort select {
        width: auto;
        min-width: 110px;
        height: 20px;
        padding: 0 20px 0 0;
        border: 0;
        outline: 0;
        background-color: transparent;
        box-shadow: none;
    }
    .sgce-commerce-archive ul.products {
        width: 1200px;
        max-width: 100%;
        grid-template-columns: repeat(4, 300px);
        column-gap: 0;
        row-gap: 22.535211px;
        margin: 0 auto;
    }
    .sgce-commerce-archive ul.products li.product.sgce-product-card {
        width: 300px;
        padding-right: 11.267606px;
        padding-left: 11.267606px;
    }
    .sgce-product-card__inner {
        width: 277.464789px;
        height: 493.521127px;
        border-radius: 4.507042px;
        box-shadow: 0 0 16.901408px 2.253521px rgba(0,0,0,.161);
    }
    .sgce-product-card__inner:hover { box-shadow: 0 0 16.901408px 2.253521px rgba(0,0,0,.161); }
    .sgce-product-card__media {
        height: 301.901408px;
        flex-basis: 301.901408px;
        padding-top: 39.43662px;
    }
    .sgce-product-card__stock {
        right: 13.521127px;
        bottom: 11.267606px;
        padding: 5.633803px 9.014085px;
        font-size: 12.394366px;
    }
    .sgce-product-card__body { padding: 0 7.887324px 5.633803px; }
    .sgce-product-card .product-title { font-size: 13.521127px; }
    .sgce-product-card .price-wrapper { margin: 7.887324px 0; padding: 0 5.633803px; }
    .sgce-product-card .price {
        gap: 5.633803px;
        font-size: 15.774648px;
        line-height: 15.774648px;
    }
    .sgce-product-card .price del,
    .sgce-product-card .price del .woocommerce-Price-amount {
        font-size: 13.521127px;
        line-height: 13.521127px;
    }
    .sgce-product-card .price ins,
    .sgce-product-card .price ins .woocommerce-Price-amount,
    .sgce-product-card .price > .woocommerce-Price-amount {
        font-size: 15.774648px;
        line-height: 15.774648px;
    }
    .sgce-product-card .wrap-product-thong-tin-bo-sung {
        margin-top: 11.267606px;
        font-size: 14.197183px;
        line-height: 22.715493px;
    }
    .sgce-product-card .product-thong-tin-bo-sung-row-item { margin-top: 5.633803px; }
    .sgce-product-card .product-thong-tin-bo-sung-row-item span { padding: 0 5.633803px 3.380282px; }
    .sgce-product-card .sgce-product-attributes-variations {
        min-height: 34.929577px;
        gap: 0 16.901408px;
        padding: 0 7.887324px;
    }
    .sgce-product-card .attribute-options { gap: 0 5.633803px; }
    .sgce-product-card button.attribute-option {
        min-width: 28.169014px;
        height: 28.169014px;
        margin: 2.253521px !important;
        padding: 0 5.633803px;
        font-size: 13.521127px;
        line-height: 28.169014px;
    }
    .sgce-product-card button.attribute-option[data-attribute-type="pa_size"] {
        width: 30.422535px;
        height: 30.422535px;
    }
    .sgce-product-card button.attribute-option.color-option:not(.text) {
        width: 19.15493px;
        min-width: 19.15493px;
        height: 19.15493px;
    }
    .sgce-product-card button.attribute-option.image { width: 28.169014px; height: 28.169014px; }
    .sgce-product-card .add-to-cart-button {
        right: 3.380282px;
        transform: translateY(-26.472345px);
    }
    .sgce-product-card .add-to-cart-button button {
        width: 33.802817px;
        height: 33.802817px;
        font-size: 27.042254px;
    }
    .sgce-product-card .add-to-cart-button button span {
        margin-top: -4.507042px;
        font-size: 27.042254px;
    }
}

@media (max-width: 1239px) {
    .sgce-commerce-archive ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sgce-product-card__inner { height: 445px; }
}

@media (min-width: 768px) and (max-width: 1239px) {
    .sgce-archive-header { padding: 25px 0; }
    .sgce-archive-header__breadcrumb { margin-bottom: 25px; }
    .sgce-archive-header__row { gap: 25px; }
    .sgce-archive-header__sort select {
        width: auto;
        min-width: 110px;
        height: 20px;
        padding: 0 20px 0 0;
        border: 0;
        outline: 0;
        background-color: transparent;
        box-shadow: none;
    }
}

@media (max-width: 767px) {
    .sgce-commerce-archive { padding: 0 0 42px; }
    .sgce-archive-shell { width: min(1200px, calc(100% - 40px)); }
    .sgce-archive-header { padding: 25px 0; }
    .sgce-archive-header__breadcrumb { margin-bottom: 25px; font-size: 12px; }
    .sgce-archive-header__row { display: flex; gap: 25px; }
    .sgce-archive-title { font-size: 30px; }
    .sgce-archive-header .term-description { font-size: 14px; line-height: 1.65; }
    .sgce-archive-header__sort { display: flex; justify-content: flex-end; margin: 0; }
    .sgce-archive-header__sort select {
        width: auto;
        min-width: 110px;
        height: 20px;
        padding: 0 20px 0 0;
        border: 0 !important;
        outline: 0 !important;
        background-color: transparent !important;
        box-shadow: none !important;
    }
    .sgce-archive-status { display: none; }
    .sgce-commerce-archive ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
    .sgce-product-card__inner { height: 438px; border-radius: 10px; }
    .sgce-product-card__media { height: auto; flex: 0 0 auto; padding: 35px 0 0; }
    .sgce-product-card__media > a { height: auto; aspect-ratio: 1 / 1; }
    .sgce-product-card__body { overflow: hidden; padding: 0 7px 5px; }
    .sgce-product-card .product-title { min-height: 0; font-size: 12px; line-height: 1.4; }
    .sgce-product-card .price { display: flex; font-size: 10px; }
    .sgce-product-card .price del,
    .sgce-product-card .price del .woocommerce-Price-amount { font-size: 10px; }
    .sgce-product-card .sgce-product-attributes-variations { min-height: 30px; gap: 0 15px; padding: 0 7px; }
    .sgce-product-card .attribute-options { gap: 0 5px; }
    .sgce-product-card button.attribute-option { min-width: 25px; height: 25px; padding: 0 5px; font-size: 12px; line-height: 25px; }
    .sgce-product-card button.attribute-option[data-attribute-type="pa_size"] { width: 27px; height: 27px; }
    .sgce-product-card .wrap-product-thong-tin-bo-sung { display: block !important; visibility: visible !important; margin-top: 10px; font-size: 14px; line-height: 20px; opacity: 1 !important; }
    .sgce-product-card .product-thong-tin-bo-sung-row-item { display: block !important; visibility: visible !important; margin-top: 5px; opacity: 1 !important; }
    .sgce-product-card .product-thong-tin-bo-sung-row-item span { display: block !important; padding: 0 5px 3px; }
    .sgce-product-card .product-ribbon span { padding: 0; font-size: 12px; line-height: 20px; }
    .sgce-child-category-slider__inner { width: calc(100% - 20px); gap: 8px; }
    .sgce-child-category-slider__list { gap: 16px; }
    .sgce-child-category-slider__item a { font-size: 12px; }
    .sgce-child-category-slider__nav { width: 27px; height: 27px; flex-basis: 27px; }
}
