/* ALO Giá Rẻ - ALO Giá Rẻ category layout compatibility
   Patch 2026-06-19: /danhmuc, /{category} như /taxi bám UX/UI ALO Giá Rẻ.
   File này được load sau các CSS khác nên dùng để trả layout danh mục về kiểu ALO Giá Rẻ,
   không can thiệp header/footer/admin. */

/* Hide ALO V25 promise strip; ALO Giá Rẻ layout không có khối này. */
.alo-v25-landing-promise{display:none!important;}

.ctcat-page{background:#f3f4f6!important;color:#111827!important;padding:18px 0 44px!important;}
.ctcat-container{max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;}
.ctcat-head{background:#fff!important;border:1px solid #ececec!important;border-radius:14px!important;padding:18px 20px 14px!important;margin:0 0 14px!important;box-shadow:0 1px 2px rgba(15,23,42,.03)!important;overflow:visible!important;}
.ctcat-head:before{display:none!important;}
.ctcat-top-ad{margin:0 0 14px!important;}
.ctcat-top-ad img,.ctcat-top-ad .frontend-banner img{width:100%!important;height:auto!important;max-height:170px!important;object-fit:cover!important;border-radius:10px!important;display:block!important;}
.ctcat-breadcrumb{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;color:#777!important;font-size:13px!important;font-weight:400!important;margin:0 0 12px!important;}
.ctcat-breadcrumb a{color:#6b7280!important;text-decoration:none!important;}
.ctcat-breadcrumb span{color:#111!important;font-weight:700!important;}
.ctcat-breadcrumb i{font-size:11px!important;color:#aaa!important;}
.ctcat-title-row{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;position:relative!important;}
.ctcat-title-row h1{font-size:20px!important;line-height:1.35!important;font-weight:800!important;margin:0 0 8px!important;color:#111!important;letter-spacing:0!important;}
.ctcat-title-row p{font-size:14px!important;line-height:1.6!important;color:#4b5563!important;margin:0!important;max-width:840px!important;}
.ctcat-inline-search{height:36px!important;display:flex!important;align-items:center!important;gap:8px!important;background:#f3f4f6!important;border:0!important;border-radius:999px!important;padding:0 12px!important;min-width:260px!important;margin-left:auto!important;box-shadow:none!important;}
.ctcat-inline-search i{color:#f59e0b!important;}
.ctcat-inline-search input{height:32px!important;border:0!important;background:transparent!important;padding:0!important;min-width:190px!important;outline:0!important;font-weight:500!important;color:#111827!important;}
.ctcat-filterbar{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important;margin:18px 0 10px!important;background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;position:relative!important;}
.ctcat-filter-pill,.ctcat-filter-dd summary,.ctcat-clear{height:36px!important;min-height:36px!important;border:0!important;background:#f3f4f6!important;border-radius:999px!important;padding:0 14px!important;display:inline-flex!important;align-items:center!important;gap:7px!important;font-weight:700!important;color:#111!important;cursor:pointer!important;text-decoration:none!important;list-style:none!important;box-shadow:none!important;}
.ctcat-filter-dd{position:relative!important;}
.ctcat-filter-dd summary::-webkit-details-marker{display:none!important;}
.ctcat-filter-pill:hover,.ctcat-filter-pill.active,.ctcat-filter-dd[open] summary,.ctcat-filter-dd summary:hover,.ctcat-clear:hover{background:#fff7cc!important;color:#111!important;border-color:transparent!important;}
.ctcat-dd-panel{position:absolute!important;top:42px!important;left:0!important;right:auto!important;z-index:50!important;min-width:210px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;box-shadow:0 18px 45px rgba(15,23,42,.12)!important;padding:8px!important;display:grid!important;gap:4px!important;}
.ctcat-dd-panel a,.ctcat-dd-panel button{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:9px 10px!important;border-radius:9px!important;color:#111!important;text-decoration:none!important;font-weight:650!important;border:0!important;background:transparent!important;width:100%!important;text-align:left!important;}
.ctcat-dd-panel a:hover,.ctcat-dd-panel a.active,.ctcat-dd-panel button:hover{background:#fff7cc!important;color:#111!important;}
.ctcat-dd-panel--scroll{max-height:360px!important;overflow:auto!important;min-width:260px!important;scrollbar-width:thin!important;}
.ctcat-area-search{position:sticky!important;top:0!important;z-index:2!important;background:#fff!important;padding:4px 0 8px!important;}
.ctcat-area-search input,.ctcat-price-form input{width:100%!important;height:38px!important;border:1px solid #e5e7eb!important;border-radius:10px!important;padding:0 12px!important;outline:0!important;font-weight:600!important;margin:0!important;}
.ctcat-price-form{grid-template-columns:1fr!important;}
.ctcat-price-form button{height:36px!important;border:0!important;border-radius:10px!important;background:#ffd400!important;color:#111!important;font-weight:800!important;justify-content:center!important;margin-top:4px!important;}
.ctcat-category-strip{display:flex!important;gap:12px!important;overflow-x:auto!important;scrollbar-width:thin!important;padding:12px 0 2px!important;margin:0!important;}
.ctcat-cat{min-width:86px!important;max-width:105px!important;display:grid!important;justify-items:center!important;gap:7px!important;text-align:center!important;text-decoration:none!important;color:#333!important;border:0!important;border-radius:12px!important;padding:8px 6px!important;background:transparent!important;box-shadow:none!important;transition:none!important;}
.ctcat-cat:hover,.ctcat-cat.active{background:#fff7cc!important;color:#111!important;transform:none!important;border-color:transparent!important;}
.ctcat-cat__icon{width:42px!important;height:42px!important;border-radius:12px!important;display:grid!important;place-items:center!important;background:#f8fafc!important;color:#f59e0b!important;font-size:23px!important;overflow:hidden!important;flex:initial!important;}
.ctcat-cat__icon i,.ctcat-cat__icon i:before{color:#f59e0b!important;}
.ctcat-cat__icon img{width:100%!important;height:100%!important;object-fit:contain!important;}
.ctcat-cat strong{font-size:13px!important;line-height:1.25!important;font-weight:650!important;}
.ctcat-main-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:20px!important;align-items:start!important;margin-top:0!important;}
.ctcat-list-col{min-width:0!important;background:#fff!important;border:1px solid #ececec!important;border-radius:14px!important;overflow:hidden!important;box-shadow:none!important;}
.ctcat-tabs{height:58px!important;border:0!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;background:#fff!important;margin:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;gap:0!important;}
.ctcat-tabs>a,.ctcat-sort-menu summary{height:58px!important;padding:0 18px!important;display:flex!important;align-items:center!important;gap:8px!important;color:#111!important;text-decoration:none!important;font-weight:750!important;border-radius:0!important;background:#fff!important;border:0!important;border-bottom:3px solid transparent!important;}
.ctcat-tabs>a.active{border-bottom-color:#111!important;background:#fff!important;color:#111!important;}
.ctcat-sort-dropdown{margin-left:auto!important;height:58px!important;display:flex!important;align-items:center!important;border-left:1px solid #e5e7eb!important;}
.ctcat-sort-menu{position:relative!important;}
.ctcat-sort-panel{position:absolute!important;right:0!important;top:calc(100% + 8px)!important;z-index:40!important;width:240px!important;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:12px!important;padding:8px!important;box-shadow:0 18px 45px rgba(15,23,42,.14)!important;}
.ctcat-sort-title{font-weight:900!important;color:#18181b!important;padding:8px 10px!important;}
.ctcat-sort-option{display:flex!important;align-items:center!important;justify-content:space-between!important;color:#3f3f46!important;text-decoration:none!important;padding:10px!important;border-radius:9px!important;font-weight:750!important;}
.ctcat-sort-option:hover,.ctcat-sort-option.active{background:#fff7cc!important;color:#111!important;}
.ctcat-list{background:#fff!important;display:block!important;gap:0!important;}
.ctcat-item{position:relative!important;display:grid!important;grid-template-columns:172px minmax(0,1fr)!important;gap:14px!important;padding:14px 16px!important;border-bottom:1px solid #eeeeee!important;background:#fff!important;transition:.16s ease!important;border-radius:0!important;box-shadow:none!important;}
.ctcat-item:hover{background:#fffdf2!important;}
.ctcat-item__image{position:relative!important;width:172px!important;height:132px!important;border-radius:8px!important;overflow:hidden!important;background:#f1f5f9!important;display:block!important;}
.ctcat-item__image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.ctcat-item__badge{display:inline-flex!important;position:absolute!important;left:6px!important;bottom:6px!important;background:rgba(0,0,0,.68)!important;color:#fff!important;border-radius:4px!important;padding:3px 6px!important;font-size:12px!important;font-weight:700!important;}
.ctcat-item__count{position:absolute!important;right:6px!important;bottom:6px!important;background:rgba(0,0,0,.68)!important;color:#fff!important;border-radius:4px!important;padding:3px 6px!important;font-size:12px!important;}
.ctcat-item__body{min-width:0!important;display:flex!important;flex-direction:column!important;gap:5px!important;padding-top:1px!important;}
.ctcat-item__title{font-size:17px!important;line-height:1.35!important;margin:0!important;font-weight:800!important;}
.ctcat-item__title a{color:#111!important;text-decoration:none!important;}
.ctcat-item__title a:hover{color:#d97706!important;}
.ctcat-item__desc{font-size:14px!important;color:#777!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.ctcat-item__price{display:block!important;font-size:18px!important;font-weight:850!important;color:#e11d48!important;}
.ctcat-item__location{display:flex!important;align-items:center!important;gap:5px!important;color:#8a8a8a!important;font-size:14px!important;}
.ctcat-item__location i{color:#b6b6b6!important;}
.ctcat-item__seller{margin-top:auto!important;display:flex!important;align-items:center!important;gap:8px!important;color:#333!important;font-size:13px!important;}
.ctcat-item__seller small{color:#8a8a8a!important;}
.ctcat-item__avatar{width:24px!important;height:24px!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:#ffd400!important;color:#111!important;font-size:12px!important;font-weight:900!important;}
.ctcat-item__seller-shop{color:#d97706!important;text-decoration:none!important;font-weight:750!important;}
.ctcat-item__shop-cta{margin-left:4px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:28px!important;padding:0 11px!important;border-radius:999px!important;background:#ffd400!important;color:#111!important;text-decoration:none!important;font-size:12px!important;font-weight:900!important;border:0!important;box-shadow:none!important;white-space:nowrap!important;}
.ctcat-pagination{display:flex!important;justify-content:center!important;padding:18px!important;background:#fff!important;margin:0!important;}
.ctcat-rightbar{display:grid!important;gap:14px!important;position:sticky!important;top:88px!important;}
.ctcat-adbox,.ctcat-sidebox,.ctcat-owner,.ctcat-seo-text,.ctcat-sidebar-ad{background:#fff!important;border:1px solid #ececec!important;border-radius:14px!important;padding:16px!important;box-shadow:none!important;}
.ctcat-sidebar-ad{padding:14px!important;}
.ctcat-sidebox h2{font-size:17px!important;margin:0 0 10px!important;color:#111!important;font-weight:800!important;}
.ctcat-side-link{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:10px 0!important;color:#111!important;text-decoration:none!important;border:0!important;border-bottom:1px solid #f1f1f1!important;background:transparent!important;border-radius:0!important;margin:0!important;font-weight:650!important;}
.ctcat-side-link:last-child{border-bottom:0!important;}
.ctcat-side-link small{background:#f3f4f6!important;border-radius:999px!important;padding:3px 8px!important;color:#64748b!important;font-weight:800!important;}
.ctcat-side-link:hover,.ctcat-side-link.active{color:#d97706!important;background:transparent!important;}
.ctcat-owner{display:flex!important;align-items:center!important;gap:14px!important;margin:0 0 14px!important;}
.ctcat-owner img{width:64px!important;height:64px!important;object-fit:cover!important;border-radius:12px!important;}
.ctcat-owner h2{font-size:18px!important;margin:0 0 4px!important;color:#111!important;}
.ctcat-owner p{margin:0!important;color:#64748b!important;line-height:1.55!important;}
.ctcat-owner a,.ctcat-owner>a{margin-left:auto!important;background:#ffd400!important;color:#111!important;text-decoration:none!important;border-radius:999px!important;padding:9px 14px!important;font-weight:900!important;box-shadow:none!important;border:0!important;}
.ctcat-owner__badge{display:inline-flex!important;align-items:center!important;gap:6px!important;background:#fff7cc!important;color:#92400e!important;border-radius:999px!important;padding:5px 9px!important;font-size:12px!important;font-weight:900!important;margin-bottom:8px!important;}
.ctcat-money-shop-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important;}
.ctcat-money-shop-link{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:10px!important;background:#f8fafc!important;border:1px solid #eef2f7!important;border-radius:14px!important;padding:10px!important;text-decoration:none!important;color:#27272a!important;font-weight:800!important;box-shadow:none!important;}
.ctcat-money-shop-link img{width:52px!important;height:52px!important;border-radius:12px!important;object-fit:cover!important;}
.ctcat-money-shop-link strong,.ctcat-money-shop-link small,.ctcat-money-shop-link em{display:block!important;}
.ctcat-money-shop-link small{color:#71717a!important;font-size:12px!important;margin-top:3px!important;}
.ctcat-money-shop-link em{color:#d97706!important;font-style:normal!important;font-size:12px!important;margin-top:6px!important;font-weight:900!important;background:transparent!important;border:0!important;}
.ctcat-empty{padding:40px!important;text-align:center!important;color:#64748b!important;font-weight:800!important;background:#fff!important;}
.ctcat-inline-ad{padding:14px 16px!important;border-bottom:1px solid #eeeeee!important;background:#fff!important;}
.ctcat-adsense-slot{min-height:86px!important;border:1px dashed #d4d4d8!important;border-radius:14px!important;background:#fafafa!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;color:#71717a!important;}
.ctcat-adsense-slot-side{min-height:250px!important;}

@media(max-width:991px){
    .ctcat-page{padding-top:10px!important;}
    .ctcat-head{border-radius:0!important;margin-left:-12px!important;margin-right:-12px!important;}
    .ctcat-title-row{display:block!important;}
    .ctcat-inline-search{order:10!important;width:100%!important;margin-left:0!important;margin-top:10px!important;}
    .ctcat-inline-search input{width:100%!important;}
    .ctcat-main-layout{grid-template-columns:1fr!important;}
    .ctcat-rightbar{display:none!important;position:static!important;grid-row:auto!important;}
    .ctcat-list-col{border-radius:0!important;margin-left:-12px!important;margin-right:-12px!important;}
    .ctcat-tabs{overflow-x:auto!important;}
    .ctcat-item{grid-template-columns:128px minmax(0,1fr)!important;padding:12px!important;}
    .ctcat-item__image{width:128px!important;height:106px!important;}
    .ctcat-item__title{font-size:15px!important;}
    .ctcat-item__price{font-size:16px!important;}
    .ctcat-item__desc{display:none!important;}
    .ctcat-category-strip{padding-bottom:8px!important;}
    .ctcat-seo-text{border-radius:0!important;margin-left:-12px!important;margin-right:-12px!important;}
    .ctcat-owner{align-items:flex-start!important;}
    .ctcat-owner>a{display:none!important;}
    .ctcat-money-shop-grid{grid-template-columns:1fr!important;}
}
@media(max-width:520px){
    .ctcat-head h1,.ctcat-title-row h1{font-size:18px!important;}
    .ctcat-title-row p{font-size:13px!important;}
    .ctcat-item{grid-template-columns:112px minmax(0,1fr)!important;gap:10px!important;}
    .ctcat-item__image{width:112px!important;height:94px!important;}
    .ctcat-item__seller small{display:none!important;}
    .ctcat-tabs>a{padding:0 12px!important;}
    .ctcat-sort-dropdown{min-width:160px!important;}
    .ctcat-dd-panel{position:fixed!important;left:10px!important;right:10px!important;top:120px!important;min-width:auto!important;max-height:65vh!important;overflow:auto!important;}
}

/* === ALO FIX 2026-06-23: fallback đồng bộ màu icon danh mục trang /danhmuc với trang chủ === */
html body .ctcat-page .ctcat-category-strip .ctcat-cat__icon{
    background: var(--alo-ui-category-icon-bg, var(--alogiare-cat-bg, var(--alo-ui-global-icon-bg, #fff1f2))) !important;
    color: var(--alo-ui-category-icon-color, var(--alogiare-cat-icon-color, var(--alo-ui-global-icon-color, #ef4444))) !important;
}
html body .ctcat-page .ctcat-category-strip .ctcat-cat__icon i,
html body .ctcat-page .ctcat-category-strip .ctcat-cat__icon i:before,
html body .ctcat-page .ctcat-category-strip .ctcat-cat__icon .alogiare-cat-svg,
html body .ctcat-page .ctcat-category-strip .ctcat-cat__icon .alogiare-cat-svg svg{
    color: var(--alo-ui-category-icon-color, var(--alogiare-cat-icon-color, var(--alo-ui-global-icon-color, #ef4444))) !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}
html body .ctcat-page .ctcat-category-strip .ctcat-cat:hover .ctcat-cat__icon,
html body .ctcat-page .ctcat-category-strip .ctcat-cat.active .ctcat-cat__icon{
    background: var(--alo-ui-category-icon-bg, var(--alogiare-cat-bg, var(--alo-ui-global-icon-bg, #fff1f2))) !important;
    color: var(--alo-ui-category-icon-color, var(--alogiare-cat-icon-color, var(--alo-ui-global-icon-color, #ef4444))) !important;
}

/* === ALO PATCH 2026-07-06: danh mục listing đồng bộ /shop ===
   - Chừa cột CTA Xem Shop riêng bên phải.
   - Mô tả hiển thị tối đa 2 dòng, không bị che/cắt mất chữ giữa dòng.
   - Không ảnh hưởng card dạng grid và trang mobile. */
@media (min-width: 992px){
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item{
        grid-template-columns:172px minmax(0,1fr) 92px!important;
        align-items:start!important;
        min-height:180px!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__body{
        min-width:0!important;
        overflow:visible!important;
        padding-right:4px!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__desc{
        display:-webkit-box!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
        white-space:normal!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        line-height:1.45!important;
        max-height:2.9em!important;
        min-height:1.45em!important;
        word-break:break-word!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__shop-btn{
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        justify-self:end!important;
        align-self:center!important;
        min-width:78px!important;
        height:32px!important;
        margin:0!important;
        padding:0 12px!important;
        border:0!important;
        border-radius:999px!important;
        background:#ffd400!important;
        color:#111!important;
        text-decoration:none!important;
        font-size:12px!important;
        line-height:1!important;
        font-weight:900!important;
        white-space:nowrap!important;
        box-shadow:none!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__shop-btn:hover{
        background:#ffcf00!important;
        color:#111!important;
    }
}

@media (max-width: 991px){
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__shop-btn{
        display:none!important;
    }
}

/* === ALO HOTFIX 2026-07-06 V2: CTA Xem Shop hiển thị thật ===
   Nút chỉ xuất hiện khi listing có shop hợp lệ (shop_id / seo_owner_shop_id / user.shop).
   Dùng cột CTA riêng, không phủ mô tả. */
@media (min-width: 992px){
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item{
        grid-template-columns:172px minmax(0,1fr) 96px!important;
        column-gap:16px!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__shop-btn{
        display:inline-flex!important;
        visibility:visible!important;
        opacity:1!important;
        position:static!important;
        z-index:2!important;
        justify-self:end!important;
        align-self:center!important;
    }
}

/* === ALO HOTFIX 2026-07-06 V3 FORCE: luôn hiện nút Xem Shop trên list danh mục === */
@media (min-width: 992px){
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item.ctcat-item--has-shop-cta{
        grid-template-columns:172px minmax(0,1fr) 104px!important;
        column-gap:16px!important;
        align-items:start!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item.ctcat-item--has-shop-cta .ctcat-item__shop-btn{
        display:inline-flex!important;
        visibility:visible!important;
        opacity:1!important;
        position:static!important;
        z-index:20!important;
        grid-column:3!important;
        grid-row:1!important;
        justify-self:end!important;
        align-self:center!important;
        min-width:86px!important;
        height:34px!important;
        padding:0 14px!important;
        border-radius:999px!important;
        background:#ffd400!important;
        color:#111!important;
        text-decoration:none!important;
        font-size:12px!important;
        font-weight:900!important;
        line-height:1!important;
        white-space:nowrap!important;
        box-shadow:none!important;
        border:0!important;
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item.ctcat-item--has-shop-cta .ctcat-item__shop-btn:hover{
        background:#ffcf00!important;
        color:#111!important;
        transform:translateY(-1px);
    }
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item.ctcat-item--has-shop-cta .ctcat-item__desc{
        display:-webkit-box!important;
        -webkit-box-orient:vertical!important;
        -webkit-line-clamp:2!important;
        white-space:normal!important;
        overflow:hidden!important;
        text-overflow:ellipsis!important;
        line-height:1.45!important;
        max-height:2.9em!important;
    }
}
@media (max-width: 991px){
    html body .ctcat-page .ctcat-list.ctcat-view-list .ctcat-item__shop-btn{display:none!important;}
}
