/* =========================================================
   Faracomputer Wishlist v2
   Scoped / Clean / Equal Cards / Responsive
   ========================================================= */

.fc-wishlist{
    --fc-wl-primary:#16a34a;
    --fc-wl-primary-hover:#15803d;
    --fc-wl-danger:#ef4444;
    --fc-wl-danger-hover:#dc2626;
    --fc-wl-added:#64748b;
    --fc-wl-text:#222;
    --fc-wl-muted:#6b7280;
    --fc-wl-border:#e8eaed;
    --fc-wl-surface:#fff;

    width:100%;
    max-width:1600px;
    margin-right:auto;
    margin-left:auto;
    padding-right:10px;
    padding-left:10px;
    direction:rtl;
}

.fc-wishlist,
.fc-wishlist *{
    box-sizing:border-box;
}

/* ========================= Header ========================= */

.fc-wishlist .fc-wishlist-header{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    margin:0 0 35px;
    padding:28px 35px;
    background:linear-gradient(135deg,#fff 0%,#fff6f6 100%);
    border:1px solid var(--fc-wl-border);
    border-radius:20px;
}

.fc-wishlist .fc-wishlist-header::before,
.fc-wishlist .fc-wishlist-header::after{
    content:"";
    position:absolute;
    z-index:1;
    border-radius:50%;
    pointer-events:none;
}

.fc-wishlist .fc-wishlist-header::before{
    width:260px;
    height:260px;
    top:-120px;
    left:-100px;
    background:rgba(239,68,68,.08);
}

.fc-wishlist .fc-wishlist-header::after{
    width:180px;
    height:180px;
    right:-70px;
    bottom:-70px;
    background:rgba(239,68,68,.05);
}

.fc-wishlist .fc-wishlist-header-content{
    min-width:0;
    display:flex;
    align-items:center;
    gap:18px;
    position:relative;
    z-index:2;
}

.fc-wishlist .fc-wishlist-header-icon{
    width:70px;
    height:70px;
    flex:0 0 70px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:18px;
    background:var(--fc-wl-danger);
    color:#fff;
    box-shadow:0 12px 30px rgba(239,68,68,.25);
}

.fc-wishlist .fc-wishlist-header-icon svg{
    display:block;
    width:30px;
    height:30px;
}

.fc-wishlist .fc-wishlist-header-info{
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.fc-wishlist .fc-wishlist-header-info h1{
    margin:0;
    color:var(--fc-wl-text);
    line-height:1.4;
}

.fc-wishlist .fc-wishlist-header-info p{
    margin:6px 0 0;
    color:var(--fc-wl-muted);
    line-height:1.7;
}

.fc-wishlist .fc-wishlist-shop-btn{
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:2;
    padding:0 26px;
    border-radius:12px;
    background:var(--fc-wl-primary);
    color:#fff !important;
    text-decoration:none !important;
    font-weight:600;
    transition:background-color .2s ease, transform .2s ease;
}

.fc-wishlist .fc-wishlist-shop-btn:hover{
    background:var(--fc-wl-primary-hover);
    transform:translateY(-2px);
}

/* ========================= Grid ========================= */

.fc-wishlist .fc-wishlist-grid{
    width:100%;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:24px;
    align-items:start;
    grid-auto-rows:max-content;
}

/* ========================= Card ========================= */

.fc-wishlist .fc-wishlist-card{
    width:100%;
    min-width:0;
    height:fit-content;
    min-height:0;
    display:flex;
    flex-direction:column;
    align-self:start;
    position:relative;
    overflow:hidden;
    margin:0;
    padding:0;
    background:var(--fc-wl-surface);
    border:1px solid var(--fc-wl-border);
    border-radius:18px;
    box-shadow:0 3px 14px rgba(0,0,0,.035);
    transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.fc-wishlist .fc-wishlist-card:hover{
    transform:translateY(-3px);
    border-color:#dfe3e7;
    box-shadow:0 16px 36px rgba(0,0,0,.08);
}

/* ========================= Image ========================= */

.fc-wishlist .fc-wishlist-card-image{
    width:100%;
    height:270px;
    flex:0 0 270px;
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:#fff;
}

.fc-wishlist .fc-wishlist-image-link{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.fc-wishlist .fc-wishlist-card-image img{
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    margin:0;
    object-fit:contain;
    transition:transform .3s ease;
}

.fc-wishlist .fc-wishlist-card:hover .fc-wishlist-card-image img{
    transform:scale(1.035);
}

/* ========================= Sale Badge ========================= */

.fc-wishlist .fc-wishlist-sale-badge{
    position:absolute;
    top:16px;
    left:16px;
    z-index:20;
    min-height:26px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:2px;
    padding:2px 9px;
    direction:ltr;
    border-radius:9px;
    background:var(--fc-wl-primary);
    color:#fff;
    font-size:11px;
    font-weight:700;
    line-height:1;
}

/* ========================= Body ========================= */

.fc-wishlist .fc-wishlist-card-body{
    width:100%;
    min-width:0;
    height:auto;
    min-height:0;
    flex:none;
    display:flex;
    flex-direction:column;
    margin:0;
    padding:18px;
    justify-content:flex-start;
}

/* ========================= Category ========================= */

.fc-wishlist .fc-wishlist-category{
    height:24px;
    min-height:24px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 6px;
    overflow:hidden;
    text-align:center;
    font-size:12px;
    font-weight:500;
    line-height:1.7;
}

.fc-wishlist .fc-wishlist-category a{
    max-width:100%;
    overflow:hidden;
    color:var(--fc-wl-muted);
    text-decoration:none;
    white-space:nowrap;
    text-overflow:ellipsis;
    transition:color .2s ease;
}

.fc-wishlist .fc-wishlist-category a:hover{
    color:var(--fc-wl-primary);
}

/* ========================= Title ========================= */

.fc-wishlist .fc-wishlist-title{
    height:52px;
    min-height:52px;
    display:-webkit-box;
    overflow:hidden;
    margin:0;
    color:var(--fc-wl-text);
    text-align:center;
    font-size:13px;
    font-weight:700;
    line-height:1.95;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;
}

.fc-wishlist .fc-wishlist-title a{
    color:inherit;
    text-decoration:none;
}

.fc-wishlist .fc-wishlist-title a:hover{
    color:var(--fc-wl-primary);
}

/* ========================= Price ========================= */

.fc-wishlist .fc-wishlist-price{
    width:100%;
    height:38px;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;
    margin:8px 0 0;
    padding:0;
    overflow:hidden;
    color:var(--fc-wl-primary);
    text-align:center;
    font-size:17px;
    font-weight:700;
    line-height:1.5;
}

/* ========================= Actions ========================= */

.fc-wishlist .fc-wishlist-actions{
    width:100%;
    min-width:0;
    height:48px;
    flex:none;
    display:flex;
    flex-direction:row-reverse;
    align-items:stretch;
    gap:9px;
    margin:8px 0 0;
    padding:0;
}

/* ========================= Add To Cart ========================= */

.fc-wishlist .fc-add-cart{
    min-width:0;
    height:48px;
    min-height:48px;
    flex:1 1 auto;
    display:inline-flex;
    flex-direction:row;
    align-items:center;
    justify-content:center;
    gap:7px;
    margin:0;
    padding:0 11px;
    direction:rtl;
    border:0 !important;
    border-radius:13px;
    background:var(--fc-wl-primary);
    color:#fff;
    box-shadow:none;
    font-family:inherit;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    text-align:center;
    white-space:nowrap;
    cursor:pointer;
    transition:background-color .2s ease, color .2s ease;
}

.fc-wishlist .fc-add-cart:hover{
    background:var(--fc-wl-primary-hover);
}

.fc-wishlist .fc-cart-text{
    min-width:0;
    flex:0 1 auto;
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    line-height:1.35;
}

.fc-wishlist .fc-cart-icon{
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
}

.fc-wishlist .fc-cart-icon svg{
    display:block;
    width:18px;
    height:18px;
    margin:0;
}

.fc-wishlist .fc-add-cart.added{
    background:var(--fc-wl-added) !important;
    border-color:var(--fc-wl-added) !important;
    color:#fff !important;
    cursor:default;
    box-shadow:none !important;
}

.fc-wishlist .fc-add-cart.added:hover{
    background:var(--fc-wl-added) !important;
    transform:none !important;
}

.fc-wishlist .fc-add-cart.out-of-stock{
    background:var(--fc-wl-danger) !important;
    border-color:var(--fc-wl-danger) !important;
    color:#fff !important;
    cursor:not-allowed;
    pointer-events:none;
    opacity:1;
}

.fc-wishlist .fc-add-cart.out-of-stock:hover{
    background:var(--fc-wl-danger-hover) !important;
    transform:none !important;
}

/* ========================= Remove ========================= */

.fc-wishlist .fc-remove-btn{
    width:48px;
    height:48px;
    min-width:48px;
    flex:0 0 48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    position:relative;
    overflow:hidden;
    margin:0;
    padding:0;
    direction:rtl;
    border:1px solid var(--fc-wl-border);
    border-radius:13px;
    background:#fff;
    color:var(--fc-wl-danger);
    box-shadow:none;
    font-family:inherit;
    font-size:12px;
    font-weight:700;
    line-height:1.3;
    cursor:pointer;
    transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}

.fc-wishlist .fc-remove-btn:hover,
.fc-wishlist .fc-remove-btn:focus,
.fc-wishlist .fc-remove-btn:active{
    background:var(--fc-wl-danger);
    border-color:var(--fc-wl-danger);
    color:#fff;
    outline:0;
    box-shadow:none;
}

.fc-wishlist .fc-remove-btn svg{
    display:block;
    width:18px;
    height:18px;
    flex:0 0 18px;
    margin:0;
    fill:currentColor;
}

.fc-wishlist .fc-remove-text{
    display:none;
}

.fc-wishlist .fc-remove-btn.loading{
    pointer-events:none;
    background:var(--fc-wl-danger);
    border-color:var(--fc-wl-danger);
    color:#fff;
}

.fc-wishlist .fc-remove-btn.loading svg,
.fc-wishlist .fc-remove-btn.loading .fc-remove-text{
    opacity:0;
}

.fc-wishlist .fc-remove-btn.loading::after{
    content:"";
    position:absolute;
    top:50%;
    left:50%;
    width:18px;
    height:18px;
    margin:-9px 0 0 -9px;
    border:2px solid rgba(255,255,255,.35);
    border-top-color:#fff;
    border-radius:50%;
    animation:fcWishlistSpin .7s linear infinite;
}

@keyframes fcWishlistSpin{
    to{ transform:rotate(360deg); }
}

/* ========================= Empty State ========================= */

.fc-wishlist .fc-wishlist-empty{
    width:calc(100% - 30px);
    max-width:560px;
    margin:70px auto;
    padding:50px 40px;
    text-align:center;
    background:#fff;
    border:1px solid var(--fc-wl-border);
    border-radius:24px;
    box-shadow:0 10px 35px rgba(0,0,0,.06);
    animation:fcWishlistEmptyFade .45s ease;
}

.fc-wishlist .fc-wishlist-empty-icon{
    width:110px;
    height:110px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 30px;
    border-radius:50%;
    background:#fff2f4;
}

.fc-wishlist .fc-wishlist-empty-icon svg{
    display:block;
    width:65px;
    height:65px;
    fill:#ef394e;
}

.fc-wishlist .fc-wishlist-empty h2{
    margin:0 0 18px;
    color:var(--fc-wl-text);
    font-size:24px;
    font-weight:700;
    line-height:1.5;
}

.fc-wishlist .fc-wishlist-empty p{
    max-width:430px;
    margin:0 auto 35px;
    color:#777;
    font-size:15px;
    line-height:2;
}

.fc-wishlist .fc-wishlist-empty-btn{
    min-width:190px;
    min-height:48px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:0 30px;
    border-radius:12px;
    background:var(--fc-wl-danger);
    color:#fff !important;
    text-decoration:none !important;
    font-size:15px;
    font-weight:600;
    transition:transform .2s ease, box-shadow .2s ease;
}

.fc-wishlist .fc-wishlist-empty-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(239,57,78,.22);
}

@keyframes fcWishlistEmptyFade{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* ========================= Tablet ========================= */

@media (max-width:1199px){

    .fc-wishlist .fc-wishlist-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:18px;
    }

    .fc-wishlist .fc-wishlist-card-image{
        height:250px;
        flex-basis:250px;
    }
}

/* ========================= Mobile ========================= */

@media (max-width:767px){

    .fc-wishlist{
        padding-right:0px;
        padding-left:0px;
    }

    .fc-wishlist .fc-wishlist-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .fc-wishlist .fc-wishlist-card{
        border-radius:15px;
        box-shadow:0 2px 10px rgba(0,0,0,.035);
    }

    .fc-wishlist .fc-wishlist-card:hover{
        transform:none;
        box-shadow:0 2px 10px rgba(0,0,0,.035);
    }

    .fc-wishlist .fc-wishlist-card-image{
        height:190px;
        flex-basis:190px;
        padding:10px;
    }

    .fc-wishlist .fc-wishlist-card:hover .fc-wishlist-card-image img{
        transform:none;
    }

    .fc-wishlist .fc-wishlist-card-body{
        padding:12px;
    }

    .fc-wishlist .fc-wishlist-category{
        height:22px;
        min-height:22px;
        margin-bottom:5px;
        font-size:11px;
    }

    .fc-wishlist .fc-wishlist-title{
        height:48px;
        min-height:48px;
        font-size:12px;
        line-height:2;
    }

    .fc-wishlist .fc-wishlist-price{
        height:34px;
        min-height:34px;
        margin-top:5px;
        font-size:15px;
    }

    .fc-wishlist .fc-wishlist-actions{
        height:auto;
        flex-direction:column;
        align-items:stretch;
        gap:8px;
        margin-top:7px;
    }

    .fc-wishlist .fc-add-cart,
    .fc-wishlist .fc-remove-btn{
        width:100%;
        min-width:0;
        height:46px;
        min-height:46px;
        flex:0 0 46px;
        border-radius:12px;
    }

    .fc-wishlist .fc-add-cart{
        gap:7px;
        padding:0 8px;
        font-size:11px;
    }

    .fc-wishlist .fc-cart-text{
        flex:0 1 auto;
        overflow:visible;
        white-space:nowrap;
        text-overflow:clip;
        font-size:11px;
    }

    .fc-wishlist .fc-cart-icon{
        width:17px;
        height:17px;
        flex-basis:17px;
    }

    .fc-wishlist .fc-cart-icon svg{
        width:17px;
        height:17px;
    }

    .fc-wishlist .fc-remove-btn{
        gap:7px;
        padding:0 8px;
        font-size:11px;
    }

    .fc-wishlist .fc-remove-btn svg{
        width:16px;
        height:16px;
        flex-basis:16px;
    }

    .fc-wishlist .fc-remove-text{
        display:inline;
        flex:0 1 auto;
        margin:0;
        white-space:nowrap;
        font-size:11px;
        font-weight:600;
        line-height:1.3;
    }

    .fc-wishlist .fc-wishlist-header{
        flex-direction:column;
        justify-content:center;
        gap:18px;
        margin-bottom:22px;
        padding:22px 18px;
        text-align:center;
        border-radius:16px;
    }

    .fc-wishlist .fc-wishlist-header-content{
        flex-direction:column;
        gap:14px;
    }

    .fc-wishlist .fc-wishlist-header-icon{
        width:58px;
        height:58px;
        flex-basis:58px;
        border-radius:14px;
    }

    .fc-wishlist .fc-wishlist-header-icon svg{
        width:26px;
        height:26px;
    }

    .fc-wishlist .fc-wishlist-header-info h1{
        font-size:22px;
    }

    .fc-wishlist .fc-wishlist-header-info p{
        margin-top:8px;
        font-size:14px;
    }

    .fc-wishlist .fc-wishlist-shop-btn{
        width:100%;
        max-width:240px;
        min-height:46px;
        padding:0 20px;
        font-size:14px;
    }

    .fc-wishlist .fc-wishlist-empty{
        margin:28px auto;
        padding:32px 20px;
        border-radius:18px;
    }

    .fc-wishlist .fc-wishlist-empty-icon{
        width:80px;
        height:80px;
        margin-bottom:20px;
    }

    .fc-wishlist .fc-wishlist-empty-icon svg{
        width:48px;
        height:48px;
    }

    .fc-wishlist .fc-wishlist-empty h2{
        margin-bottom:12px;
        font-size:20px;
    }

    .fc-wishlist .fc-wishlist-empty p{
        margin-bottom:24px;
        font-size:14px;
        line-height:1.9;
    }

    .fc-wishlist .fc-wishlist-empty-btn{
        width:100%;
        min-width:0;
        min-height:44px;
        font-size:14px;
    }
}

/* ========================= Small Mobile ========================= */

@media (max-width:430px){

    .fc-wishlist .fc-wishlist-grid{
        gap:8px;
    }

    .fc-wishlist .fc-wishlist-card-image{
        height:165px;
        flex-basis:165px;
    }

    .fc-wishlist .fc-wishlist-card-body{
        padding:10px;
    }

    .fc-wishlist .fc-wishlist-title{
        height:44px;
        min-height:44px;
        font-size:11px;
        line-height:2;
    }

    .fc-wishlist .fc-wishlist-price{
        font-size:14px;
    }

    .fc-wishlist .fc-add-cart,
    .fc-wishlist .fc-remove-btn{
        height:44px;
        min-height:44px;
        flex-basis:44px;
    }

    .fc-wishlist .fc-add-cart,
    .fc-wishlist .fc-remove-btn,
    .fc-wishlist .fc-cart-text,
    .fc-wishlist .fc-remove-text{
        font-size:10.5px;
    }

    .fc-wishlist .fc-add-cart,
    .fc-wishlist .fc-remove-btn{
        gap:5px;
        padding:0 6px;
    }

    .fc-wishlist .fc-cart-icon{
        width:16px;
        height:16px;
        flex-basis:16px;
    }

    .fc-wishlist .fc-cart-icon svg{
        width:16px;
        height:16px;
    }
}
