/* PC Trending page stylesheet: compare.css */
/* ==========================================================================
   PC TRENDING - QUICK COMPARE PREMIUM UI V5
   2026-08-19
   - Bottom compare tray
   - Trend chart side compare panel
   - Selected product cards / actions / responsive polish
   ========================================================================== */

.ComparisonListArea{
    --pc-compare-bg:rgba(255,255,255,.96);
    --pc-compare-border:#e3e9f2;
    --pc-compare-text:#202a3a;
    --pc-compare-muted:#7f8b9d;
    --pc-compare-soft:#f6f8fb;
    --pc-compare-primary:#2563eb;
    --pc-compare-primary-dark:#174bb8;
    --pc-compare-danger:#b85b67;
    font-family:inherit;
}

.PcCompareTray{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    bottom:18px !important;
    width:min(920px,calc(100% - 36px));
    transform:translateX(-50%);
    z-index:1060;
    padding:0;
    border:0;
    background:transparent;
    pointer-events:none;
}

.PcCompareTray.d-none{
    display:none !important;
}

.PcCompareTrayInner{
    overflow:hidden;
    width:100%;
    border:1px solid rgba(216,224,236,.94);
    border-radius:24px;
    background:var(--pc-compare-bg);
    box-shadow:
        0 26px 70px rgba(27,39,63,.18),
        0 4px 16px rgba(27,39,63,.08);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px);
    pointer-events:auto;
}

.ComparisonPanelHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-height:72px;
    padding:15px 18px 14px;
    border-bottom:1px solid #edf1f6;
}

.ComparisonPanelTitle{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}

.ComparisonPanelIcon{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:1px solid #dce5f3;
    border-radius:13px;
    background:linear-gradient(145deg,#f9fbff,#eef4ff);
    color:#386bc8;
    font-size:17px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}

.ComparisonPanelTitle>span:last-child{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
}

.ComparisonPanelTitle small{
    color:#8a96a8;
    font-size:9px;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.11em;
}

.ComparisonPanelTitle strong{
    overflow:hidden;
    color:var(--pc-compare-text);
    font-size:14px;
    font-weight:850;
    line-height:1.4;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.ComparisonPanelHeadSide{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    gap:9px;
}

.ComparisonSelectionCount{
    display:inline-flex;
    align-items:baseline;
    justify-content:center;
    min-width:57px;
    padding:7px 10px;
    border:1px solid #e2e8f1;
    border-radius:999px;
    background:#f8fafc;
    line-height:1;
}

.ComparisonSelectionCount strong{
    color:#2d5fb9;
    font-size:15px;
    font-weight:900;
}

.ComparisonSelectionCount em{
    margin-left:3px;
    color:#9aa5b4;
    font-size:10px;
    font-style:normal;
    font-weight:800;
}

.ComparisonClear{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    padding:0;
    border:1px solid #e4e9f0;
    border-radius:11px;
    background:#fff;
    color:#8b97a8;
    font-size:13px;
    transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}

.ComparisonClear:hover{
    border-color:#efd9dd;
    background:#fff7f8;
    color:var(--pc-compare-danger);
    transform:translateY(-1px);
}

.PcCompareTrayList{
    display:flex;
    align-items:stretch;
    margin:0 !important;
    padding:14px 16px 8px;
}

.PcCompareTrayList>.ComparisonRow{
    padding:4px !important;
}

.PcCompareTray:not([data-compare-mode="pair"]) .PcCompareTrayList>.ComparisonRow{
    flex:1 1 0;
    width:auto;
    max-width:none;
}

.ComparisonProductCard{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    height:100%;
    min-height:78px;
    padding:10px 42px 10px 10px;
    border:1px solid #e4eaf2;
    border-radius:16px;
    background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
    box-shadow:0 3px 10px rgba(37,49,72,.04);
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.ComparisonProductCard:hover{
    border-color:#ccd9ec;
    box-shadow:0 9px 22px rgba(37,49,72,.08);
    transform:translateY(-1px);
}

.ComparisonProductThumb{
    display:flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    width:56px;
    height:56px;
    overflow:hidden;
    border:1px solid #edf0f5;
    border-radius:13px;
    background:#fff;
}

.ComparisonProductThumb img{
    display:block;
    width:100%;
    height:100%;
    padding:5px;
    object-fit:contain;
    mix-blend-mode:multiply;
}

.ComparisonProductThumb>i{
    color:#a4afbf;
    font-size:20px;
}

.ComparisonProductInfo{
    display:flex;
    min-width:0;
    flex:1 1 auto;
    flex-direction:column;
    gap:4px;
}

.ComparisonProductInfo small{
    color:#9aa5b5;
    font-size:8px;
    font-weight:900;
    line-height:1;
    letter-spacing:.12em;
}

.ComparisonProductInfo strong{
    display:-webkit-box;
    overflow:hidden;
    color:#303b4c;
    font-size:11px;
    font-weight:800;
    line-height:1.5;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.DelComparison{
    position:absolute;
    top:9px;
    right:9px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:27px;
    height:27px;
    padding:0;
    border:0;
    border-radius:9px;
    background:#f5f7fa;
    color:#98a3b3;
    font-size:10px;
    transition:background .18s ease,color .18s ease,transform .18s ease;
}

.DelComparison:hover{
    background:#fff0f2;
    color:#c35d69;
    transform:scale(1.04);
}

.ComparisonPanelFoot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:10px 18px 16px;
}

.ComparisonPanelHint{
    display:flex;
    min-width:0;
    align-items:center;
    gap:7px;
    color:#8b97a7;
    font-size:10px;
    font-weight:650;
    line-height:1.45;
}

.ComparisonPanelHint i{
    color:#6f8fbd;
    font-size:11px;
}

.ComparisonBtnArea{
    flex:0 0 auto;
}

.PcCompareSubmit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:43px;
    padding:0 17px;
    border:1px solid #1e58c7;
    border-radius:13px;
    background:linear-gradient(135deg,#2d6fe5,#2158c5);
    box-shadow:0 8px 18px rgba(39,99,207,.22);
    color:#fff;
    font-size:11px;
    font-weight:850;
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.PcCompareSubmit:hover{
    box-shadow:0 11px 24px rgba(39,99,207,.29);
    color:#fff;
    filter:saturate(1.04);
    transform:translateY(-1px);
}

.PcCompareSubmit i{
    font-size:12px;
    transition:transform .18s ease;
}

.PcCompareSubmit:hover i{
    transform:translateX(2px);
}


/* Trend chart desktop side compare */
.PcCompareSide{
    overflow:hidden;
    padding:0;
    border:1px solid #e2e8f1;
    border-radius:18px;
    background:#fff;
    box-shadow:0 10px 28px rgba(31,43,67,.06);
}

.PcCompareSide .ComparisonPanelHead{
    min-height:auto;
    padding:14px;
}

.PcCompareSide .ComparisonPanelIcon{
    width:34px;
    height:34px;
    border-radius:11px;
    font-size:14px;
}

.PcCompareSide .ComparisonPanelTitle strong{
    font-size:12px;
}

.PcCompareSideList{
    margin:0 !important;
    padding:8px 10px 4px;
}

.PcCompareSideList>.ComparisonRow{
    width:100%;
    padding:4px !important;
}

.PcCompareSide .ComparisonProductCard{
    min-height:64px;
    padding:8px 36px 8px 8px;
    border-radius:13px;
}

.PcCompareSide .ComparisonProductThumb{
    width:43px;
    height:43px;
    border-radius:10px;
}

.PcCompareSide .ComparisonProductInfo strong{
    font-size:10px;
}

.PcCompareSide .DelComparison{
    top:8px;
    right:8px;
    width:24px;
    height:24px;
}

.PcCompareSide>.ComparisonBtnArea{
    padding:8px 12px 12px;
}

.PcCompareSide .PcCompareSubmit{
    width:100%;
}


/* Entrance */
.PcCompareTray:not(.d-none) .PcCompareTrayInner{
    animation:PcCompareTrayIn .24s cubic-bezier(.2,.8,.2,1);
}

@keyframes PcCompareTrayIn{
    from{
        opacity:0;
        transform:translateY(10px) scale(.985);
    }
    to{
        opacity:1;
        transform:translateY(0) scale(1);
    }
}


/* Tablet */
@media (max-width: 991.98px){
    .PcCompareTray{
        bottom:12px !important;
        width:calc(100% - 24px);
    }

    .ComparisonPanelHead{
        min-height:66px;
        padding:13px 14px 12px;
    }

    .PcCompareTrayList{
        padding:10px 10px 5px;
    }

    .ComparisonProductCard{
        min-height:72px;
    }

    .ComparisonPanelFoot{
        padding:8px 14px 13px;
    }
}


/* Mobile */
@media (max-width: 575.98px){
    .PcCompareTray{
        bottom:8px !important;
        width:calc(100% - 16px);
    }

    .PcCompareTrayInner{
        border-radius:19px;
        box-shadow:
            0 18px 45px rgba(27,39,63,.2),
            0 3px 10px rgba(27,39,63,.08);
    }

    .ComparisonPanelHead{
        gap:9px;
        min-height:58px;
        padding:10px 11px 9px;
    }

    .ComparisonPanelIcon{
        width:34px;
        height:34px;
        border-radius:11px;
        font-size:14px;
    }

    .ComparisonPanelTitle{
        gap:9px;
    }

    .ComparisonPanelTitle small{
        font-size:7px;
    }

    .ComparisonPanelTitle strong{
        max-width:190px;
        font-size:11px;
    }

    .ComparisonSelectionCount{
        min-width:48px;
        padding:6px 8px;
    }

    .ComparisonSelectionCount strong{
        font-size:13px;
    }

    .ComparisonSelectionCount em{
        font-size:9px;
    }

    .ComparisonClear{
        width:32px;
        height:32px;
        border-radius:10px;
    }

    .PcCompareTrayList{
        padding:8px 7px 4px;
    }

    .PcCompareTrayList>.ComparisonRow{
        padding:3px !important;
    }

    .ComparisonProductCard{
        display:block;
        min-height:121px;
        padding:9px 29px 9px 9px;
        border-radius:14px;
    }

    .ComparisonProductThumb{
        width:100%;
        height:57px;
        margin-bottom:7px;
        border-radius:10px;
    }

    .ComparisonProductThumb img{
        padding:4px;
    }

    .ComparisonProductInfo{
        gap:3px;
    }

    .ComparisonProductInfo small{
        font-size:7px;
    }

    .ComparisonProductInfo strong{
        font-size:9px;
        line-height:1.4;
        -webkit-line-clamp:2;
    }

    .DelComparison{
        top:7px;
        right:7px;
        width:24px;
        height:24px;
        border:1px solid #e8ecf1;
        background:rgba(255,255,255,.94);
        box-shadow:0 2px 6px rgba(30,42,63,.06);
    }

    .ComparisonPanelFoot{
        align-items:stretch;
        flex-direction:column;
        gap:8px;
        padding:6px 10px 10px;
    }

    .ComparisonPanelHint{
        justify-content:center;
        font-size:8px;
        text-align:center;
    }

    .ComparisonBtnArea{
        width:100%;
    }

    .PcCompareSubmit{
        width:100%;
        min-height:41px;
        border-radius:12px;
        font-size:10px;
    }

    /* Legacy 3-item tray stays readable on mobile */
    .PcCompareTray:not([data-compare-mode="pair"]) .PcCompareTrayList{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:8px;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .PcCompareTray:not([data-compare-mode="pair"]) .PcCompareTrayList::-webkit-scrollbar{
        display:none;
    }

    .PcCompareTray:not([data-compare-mode="pair"]) .PcCompareTrayList>.ComparisonRow{
        flex:0 0 44%;
        width:44%;
        max-width:44%;
    }
}


/* Very small phones */
@media (max-width: 380px){
    .ComparisonPanelTitle strong{
        max-width:150px;
    }

    .ComparisonPanelHint{
        display:none;
    }

    .ComparisonPanelFoot{
        padding-top:8px;
    }
}


