/* ALO V21: Marketplace Layout & Conversion Cleanup
   Mục tiêu: polish giao diện marketplace đa ngành, giữ tương thích class cũ datxe-* để không vỡ layout. */
:root{
    --alo-v21-red: var(--alo-ui-link-color, #ef4444);
    --alo-v21-red-dark: var(--alo-ui-link-hover-color, #dc2626);
    --alo-v21-text: var(--alo-ui-text-color, #111827);
    --alo-v21-muted: var(--alo-ui-muted-text-color, #64748b);
    --alo-v21-border: var(--alo-ui-card-border-color, #e7edf5);
    --alo-v21-surface: var(--alo-ui-surface-bg, #ffffff);
    --alo-v21-soft: #f8fafc;
    --alo-v21-radius: 18px;
    --alo-v21-shadow: 0 12px 28px rgba(15,23,42,.075);
    --alo-v21-shadow-hover: 0 18px 44px rgba(15,23,42,.12);
}

/* Nền tổng thể: bớt trắng gắt, tạo cảm giác sàn dịch vụ/sản phẩm hiện đại. */
.w11-pro-main{
    background: linear-gradient(180deg, #fff 0%, var(--alo-ui-body-bg, #f8fafc) 52%, #fff 100%);
}
.datxe-home{
    color: var(--alo-v21-text);
}
.datxe-container,
.dtx-container,
.container.w11-container{
    max-width: var(--w11-container, 1280px);
}

/* Section title đồng bộ: rõ, gọn, đúng branding ALO Giá Rẻ. */
.datxe-home .categories__title,
.datxe-home .datxe-title,
.alogiare-deal-head h2{
    color: var(--alo-v21-text) !important;
    font-weight: 900 !important;
    letter-spacing: -.015em;
}
.datxe-home .categories__title span,
.datxe-home .datxe-title span{
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.datxe-home .categories__title span::after,
.datxe-home .datxe-title span::after{
    content: '';
    width: 44px;
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--alo-v21-red), rgba(239,68,68,.10));
}

/* Menu ngành: card nhỏ, đều hàng, không bị rỗng nền trên desktop. */
.datxe-home .datxe-service-menu,
.datxe-home .alogiare-service-menu,
.datxe-home .homeGrid16,
.datxe-home .datxe-vip-section{
    border-radius: 22px;
}
.datxe-home .datxe-service-menu a,
.datxe-home .alogiare-service-menu a,
.datxe-home .homeGrid16Item,
.datxe-home .datxe-vip-item{
    transition: transform .18s ease, box-shadow .18s ease, color .18s ease, border-color .18s ease;
}
.datxe-home .datxe-service-menu a:hover,
.datxe-home .alogiare-service-menu a:hover,
.datxe-home .homeGrid16Item:hover,
.datxe-home .datxe-vip-item:hover{
    transform: translateY(-2px);
}

/* Latest listing grid: dùng cả class cũ + mới để tránh vỡ lưới sau cleanup namespace. */
.datxe-listing-grid,
.alogiare-listing-grid{
    display: grid !important;
    grid-template-columns: repeat(var(--col-lg, 5), minmax(0, 1fr)) !important;
    gap: 20px !important;
    align-items: stretch;
}
.datxe-listing-grid > .datxe-item,
.alogiare-listing-grid > .datxe-item{
    min-width: 0;
    height: 100%;
}

/* Card tin đăng: cố định chiều cao ảnh, bo góc, chống ảnh kéo card khổng lồ. */
.datxe-latest-listings .dtx-card,
.alogiare-listings .dtx-card,
.dtx-grid .dtx-card{
    height: 100%;
    min-width: 0;
    border: 1px solid var(--alo-v21-border);
    border-radius: var(--alo-v21-radius);
    background: var(--alo-v21-surface);
    overflow: hidden;
    box-shadow: 0 8px 22px rgba(15,23,42,.055);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.datxe-latest-listings .dtx-card:hover,
.alogiare-listings .dtx-card:hover,
.dtx-grid .dtx-card:hover{
    transform: translateY(-3px);
    border-color: var(--alo-ui-card-hover-border-color, #fecaca);
    box-shadow: var(--alo-v21-shadow-hover);
}
.datxe-latest-listings .dtx-card__media,
.alogiare-listings .dtx-card__media,
.dtx-grid .dtx-card__media{
    position: relative;
    overflow: hidden;
    background: #f1f5f9;
}
.datxe-latest-listings .dtx-card__image,
.alogiare-listings .dtx-card__image,
.dtx-grid .dtx-card__image{
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    min-height: 0 !important;
    max-height: 230px;
    border-radius: 0 !important;
    overflow: hidden;
    background: #f1f5f9;
}
.datxe-latest-listings .dtx-card__image img,
.alogiare-listings .dtx-card__image img,
.dtx-grid .dtx-card__image img{
    width: 100% !important;
    height: 100% !important;
    max-width: 100%;
    object-fit: cover !important;
    display: block;
}
.datxe-latest-listings .dtx-card__body,
.alogiare-listings .dtx-card__body,
.dtx-grid .dtx-card__body{
    padding: 12px 13px 14px !important;
}
.datxe-latest-listings .dtx-card__price,
.alogiare-listings .dtx-card__price,
.dtx-grid .dtx-card__price{
    color: var(--alo-v21-red) !important;
    font-weight: 900;
    font-size: 15px;
    margin-bottom: 6px;
}
.datxe-latest-listings .dtx-card__title,
.alogiare-listings .dtx-card__title,
.dtx-grid .dtx-card__title{
    min-height: 42px;
    max-height: 42px;
    margin: 0 0 8px !important;
    overflow: hidden;
    font-size: 14.5px !important;
    line-height: 1.45 !important;
    font-weight: 850 !important;
}
.datxe-latest-listings .dtx-card__title a,
.alogiare-listings .dtx-card__title a,
.dtx-grid .dtx-card__title a{
    color: var(--alo-v21-text) !important;
    text-decoration: none;
}
.datxe-latest-listings .dtx-card__title a:hover,
.alogiare-listings .dtx-card__title a:hover,
.dtx-grid .dtx-card__title a:hover{
    color: var(--alo-v21-red) !important;
}
.datxe-latest-listings .dtx-card__meta,
.alogiare-listings .dtx-card__meta,
.dtx-grid .dtx-card__meta{
    color: var(--alo-v21-muted) !important;
    font-size: 12.5px;
    min-height: 18px;
}
.datxe-latest-listings .dtx-card__shop-corner,
.alogiare-listings .dtx-card__shop-corner,
.dtx-grid .dtx-card__shop-corner{
    top: 10px;
    right: 10px;
    min-height: 30px;
    padding: 0 11px;
    border: 0;
    background: linear-gradient(135deg, var(--alo-v21-red), var(--alo-v21-red-dark));
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(220,38,38,.28);
}
.datxe-latest-listings .dtx-card__kind,
.alogiare-listings .dtx-card__kind,
.dtx-grid .dtx-card__kind{
    background: rgba(15,23,42,.82) !important;
    backdrop-filter: blur(6px);
}

/* CTA trong card: nút rõ hơn, dễ bấm trên mobile. */
.datxe-latest-listings .dtx-card__conversion--step5,
.alogiare-listings .dtx-card__conversion--step5,
.dtx-grid .dtx-card__conversion--step5{
    margin-top: 10px !important;
}
.datxe-latest-listings .dtx-card__conversion--step5 a,
.alogiare-listings .dtx-card__conversion--step5 a,
.dtx-grid .dtx-card__conversion--step5 a{
    width: 100%;
    min-height: 34px !important;
    border-radius: 12px !important;
    background: var(--alo-ui-primary-button-bg, #ef4444) !important;
    border-color: var(--alo-ui-primary-button-bg, #ef4444) !important;
    color: var(--alo-ui-primary-button-text-color, #fff) !important;
    font-size: 12.5px !important;
}
.datxe-latest-listings .dtx-card__conversion--step5 a:hover,
.alogiare-listings .dtx-card__conversion--step5 a:hover,
.dtx-grid .dtx-card__conversion--step5 a:hover{
    background: var(--alo-ui-primary-button-hover-bg, #dc2626) !important;
    border-color: var(--alo-ui-primary-button-hover-bg, #dc2626) !important;
}

/* Deal/ads section: gom lại giống block marketplace, không bị rời rạc. */
.alogiare-deal-section,
.datxe-home .datxe-home-ad{
    margin-top: 20px;
    margin-bottom: 20px;
}
.alogiare-deal-section .datxe-container,
.datxe-home .datxe-latest-listings > .datxe-container{
    border-radius: 24px;
}
.alogiare-deal-card{
    border-radius: 18px !important;
    border: 1px solid var(--alo-v21-border) !important;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 22px rgba(15,23,42,.055);
}
.alogiare-deal-card:hover{
    box-shadow: var(--alo-v21-shadow-hover);
}

/* Listing category page: giữ card đều với homepage để trải nghiệm liền mạch. */
.dtx-grid{
    gap: 22px !important;
}
.ctcat-item{
    border-radius: 18px;
    border: 1px solid var(--alo-v21-border);
    box-shadow: 0 8px 22px rgba(15,23,42,.045);
}
.ctcat-item__image{
    overflow: hidden;
}
.ctcat-item__image img{
    object-fit: cover;
}
.ctcat-item__title a:hover,
.ctcat-item__seller-shop:hover{
    color: var(--alo-v21-red) !important;
}
.ctcat-item__shop-cta,
.ctcat-item__conversion--step5 a:first-child{
    background: var(--alo-ui-primary-button-bg, #ef4444) !important;
    border-color: var(--alo-ui-primary-button-bg, #ef4444) !important;
    color: var(--alo-ui-primary-button-text-color, #fff) !important;
}

@media (max-width: 1199px){
    .datxe-listing-grid,
    .alogiare-listing-grid{
        grid-template-columns: repeat(var(--col-md, 3), minmax(0, 1fr)) !important;
        gap: 16px !important;
    }
}
@media (max-width: 767px){
    .w11-pro-main{
        background: #fff;
    }
    .datxe-home .categories__title span::after,
    .datxe-home .datxe-title span::after{
        width: 30px;
        height: 3px;
    }
    .datxe-listing-grid,
    .alogiare-listing-grid,
    .dtx-grid{
        grid-template-columns: repeat(var(--col-sm, 2), minmax(0, 1fr)) !important;
        gap: 12px !important;
    }
    .datxe-latest-listings .dtx-card,
    .alogiare-listings .dtx-card,
    .dtx-grid .dtx-card{
        border-radius: 14px;
    }
    .datxe-latest-listings .dtx-card__body,
    .alogiare-listings .dtx-card__body,
    .dtx-grid .dtx-card__body{
        padding: 9px 9px 10px !important;
    }
    .datxe-latest-listings .dtx-card__image,
    .alogiare-listings .dtx-card__image,
    .dtx-grid .dtx-card__image{
        aspect-ratio: 1.12 / 1;
        max-height: 170px;
    }
    .datxe-latest-listings .dtx-card__title,
    .alogiare-listings .dtx-card__title,
    .dtx-grid .dtx-card__title{
        min-height: 38px;
        max-height: 38px;
        font-size: 13px !important;
        line-height: 1.45 !important;
    }
    .datxe-latest-listings .dtx-card__price,
    .alogiare-listings .dtx-card__price,
    .dtx-grid .dtx-card__price{
        font-size: 13.5px;
    }
    .datxe-latest-listings .dtx-card__shop-corner,
    .alogiare-listings .dtx-card__shop-corner,
    .dtx-grid .dtx-card__shop-corner{
        top: 7px;
        right: 7px;
        min-height: 25px;
        padding: 0 8px;
        font-size: 10px;
    }
    .datxe-latest-listings .dtx-card__kind,
    .alogiare-listings .dtx-card__kind,
    .dtx-grid .dtx-card__kind{
        left: 7px;
        bottom: 7px;
        max-width: calc(100% - 14px);
        font-size: 9.5px;
        min-height: 22px;
        padding: 0 7px;
    }
    .datxe-latest-listings .dtx-card__conversion--step5 a,
    .alogiare-listings .dtx-card__conversion--step5 a,
    .dtx-grid .dtx-card__conversion--step5 a{
        min-height: 30px !important;
        font-size: 11px !important;
        border-radius: 10px !important;
    }
}
@media (max-width: 390px){
    .datxe-listing-grid,
    .alogiare-listing-grid,
    .dtx-grid{
        gap: 10px !important;
    }
    .datxe-latest-listings .dtx-card__title,
    .alogiare-listings .dtx-card__title,
    .dtx-grid .dtx-card__title{
        font-size: 12.5px !important;
    }
}
