/*==================================================
                UZAYO CARDS.CSS
==================================================*/


/*======================================
            BEST SELLERS
======================================*/

.best-sellers{

    padding:140px 0;

    background:var(--color-off-white);

}

.best-header{

    text-align:center;

    margin-bottom:80px;

}

.best-subtitle{

    color:var(--color-gold);

    text-transform:uppercase;

    letter-spacing:4px;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:20px;

    display:block;

}

.best-title{

    font-size:3.2rem;

    margin-bottom:18px;

}

.best-description{

    max-width:700px;

    margin:auto;

    color:var(--color-grey-600);

    line-height:1.8;

}



/*======================================
            PRODUCT GRID
======================================*/

.product-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}



/*======================================
            PRODUCT CARD
======================================*/

.product-card{

    background:white;

    border-radius:24px;

    overflow:hidden;

    position:relative;

    transition:.45s ease;

    box-shadow:var(--shadow-sm);

}

.product-card:hover{

    transform:translateY(-12px);

    box-shadow:var(--shadow-xl);

}



/*======================================
            PRODUCT IMAGE
======================================*/

.product-image{

    position:relative;

    overflow:hidden;

    aspect-ratio:4/5;

}

.product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.7s;

}

.product-card:hover .product-image img{

    transform:scale(1.08);

}



/*======================================
            PRODUCT BADGES
======================================*/

.product-badge{

    position:absolute;

    top:18px;

    left:18px;

    background:var(--color-black);

    color:white;

    padding:8px 16px;

    border-radius:999px;

    font-size:.72rem;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

}

.sale{

    background:#d64040;

}

.new{

    background:var(--color-gold);

}



/*======================================
            FAVOURITE BUTTON
======================================*/

.product-favourite{

    position:absolute;

    top:18px;

    right:18px;

    width:44px;

    height:44px;

    border-radius:50%;

    background:white;

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    transition:.35s;

    box-shadow:var(--shadow-sm);

}

.product-favourite:hover{

    background:var(--color-black);

    color:white;

    transform:rotate(15deg);

}



/*======================================
            PRODUCT INFO
======================================*/

.product-info{

    padding:28px;

}

.product-category{

    font-size:.8rem;

    text-transform:uppercase;

    letter-spacing:2px;

    color:var(--color-grey-500);

}

.product-name{

    margin-top:10px;

    font-size:1.25rem;

}

.product-price{

    margin-top:18px;

    display:flex;

    gap:12px;

    align-items:center;

}

.current-price{

    font-size:1.25rem;

    font-weight:700;

}

.old-price{

    color:var(--color-grey-500);

    text-decoration:line-through;

}



/*======================================
            PRODUCT RATING
======================================*/

.product-rating{

    display:flex;

    align-items:center;

    gap:6px;

    margin-top:15px;

    color:var(--color-gold);

    font-size:.9rem;

}



/*======================================
            QUICK ADD
======================================*/

.quick-add{

    width:100%;

    margin-top:22px;

    padding:16px;

    border:none;

    background:var(--color-black);

    color:white;

    border-radius:999px;

    cursor:pointer;

    transition:.35s;

    font-weight:600;

}

.quick-add:hover{

    background:var(--color-gold);

}



/*======================================
            RESPONSIVE
======================================*/

@media(max-width:1200px){

.product-grid{

grid-template-columns:repeat(3,1fr);

}

}

@media(max-width:900px){

.product-grid{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.product-grid{

grid-template-columns:1fr;

}

.best-title{

font-size:2.3rem;

}

}


/*==================================================
        PRODUCT IMAGE SWAP
==================================================*/

.product-image{

    position:relative;

    overflow:hidden;

}

.product-image img{

    position:absolute;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.6s ease;

}

.product-image .primary-image{

    opacity:1;

    transform:scale(1);

}

.product-image .secondary-image{

    opacity:0;

    transform:scale(1.08);

}

.product-card:hover .primary-image{

    opacity:0;

    transform:scale(1.08);

}

.product-card:hover .secondary-image{

    opacity:1;

    transform:scale(1);

}



/*==================================================
            QUICK VIEW BUTTON
==================================================*/

.quick-view{

    position:absolute;

    left:50%;

    bottom:25px;

    transform:translateX(-50%) translateY(25px);

    width:85%;

    padding:16px;

    border:none;

    border-radius:999px;

    background:white;

    color:var(--color-black);

    font-weight:600;

    letter-spacing:1px;

    cursor:pointer;

    opacity:0;

    transition:.35s ease;

    box-shadow:var(--shadow-md);

}

.product-card:hover .quick-view{

    opacity:1;

    transform:translateX(-50%) translateY(0);

}

.quick-view:hover{

    background:var(--color-black);

    color:white;

}



/*==================================================
            PRODUCT COLOURS
==================================================*/

.product-colours{

    display:flex;

    gap:10px;

    margin-top:18px;

}

.product-colour{

    width:18px;

    height:18px;

    border-radius:50%;

    cursor:pointer;

    border:2px solid white;

    box-shadow:0 0 0 1px #ddd;

    transition:.3s;

}

.product-colour:hover{

    transform:scale(1.25);

}



/* Example colours */

.black{

    background:#111;

}

.white{

    background:#fff;

}

.grey{

    background:#888;

}

.navy{

    background:#24344c;

}

.beige{

    background:#d8c3a5;

}

.green{

    background:#596b4d;

}



/*==================================================
            PRODUCT SIZES
==================================================*/

.product-sizes{

    display:flex;

    gap:10px;

    margin-top:20px;

    flex-wrap:wrap;

}

.product-size{

    width:38px;

    height:38px;

    border-radius:8px;

    border:1px solid var(--color-grey-300);

    display:flex;

    justify-content:center;

    align-items:center;

    cursor:pointer;

    font-size:.82rem;

    transition:.3s;

}

.product-size:hover{

    background:var(--color-black);

    color:white;

    border-color:var(--color-black);

}

.product-size.active{

    background:var(--color-gold);

    color:white;

    border-color:var(--color-gold);

}



/*==================================================
            STOCK STATUS
==================================================*/

.stock-status{

    display:flex;

    align-items:center;

    gap:8px;

    margin-top:20px;

    font-size:.82rem;

    color:var(--color-grey-600);

}

.stock-dot{

    width:10px;

    height:10px;

    border-radius:50%;

}

.stock-dot.in-stock{

    background:#27ae60;

}

.stock-dot.low-stock{

    background:#f39c12;

}

.stock-dot.out-stock{

    background:#e74c3c;

}



/*==================================================
        PRODUCT CARD HOVER
==================================================*/

.product-card{

    transition:

        transform .4s,

        box-shadow .4s,

        border-color .4s;

}

.product-card:hover{

    border-color:rgba(184,155,94,.35);

}



/*==================================================
            IMAGE SHINE
==================================================*/

.product-card::before{

    content:"";

    position:absolute;

    top:0;

    left:-120%;

    width:60%;

    height:100%;

    background:

        linear-gradient(

            90deg,

            transparent,

            rgba(255,255,255,.35),

            transparent

        );

    transform:skewX(-20deg);

    transition:.8s;

    z-index:5;

}

.product-card:hover::before{

    left:160%;

}



/*==================================================
            PRODUCT TAGS
==================================================*/

.product-tags{

    display:flex;

    gap:8px;

    flex-wrap:wrap;

    margin-top:20px;

}

.product-tag{

    padding:6px 14px;

    background:var(--color-grey-100);

    border-radius:999px;

    font-size:.72rem;

    text-transform:uppercase;

    letter-spacing:1px;

}



/*==================================================
            PRODUCT FOOTER
==================================================*/

.product-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:24px;

}

/*==================================================
            QUICK ADD DRAWER
==================================================*/

.quick-add-panel{

    position:absolute;

    left:0;

    bottom:-100%;

    width:100%;

    background:var(--color-white);

    padding:28px;

    transition:.45s ease;

    box-shadow:0 -20px 50px rgba(0,0,0,.08);

    z-index:12;

}

.product-card:hover .quick-add-panel{

    bottom:0;

}

.quick-add-panel h4{

    margin-bottom:18px;

    font-size:1rem;

    font-weight:600;

}

.quick-size-grid{

    display:grid;

    grid-template-columns:repeat(5,1fr);

    gap:10px;

    margin-bottom:22px;

}

.quick-size{

    height:42px;

    display:flex;

    justify-content:center;

    align-items:center;

    border:1px solid var(--color-grey-300);

    border-radius:10px;

    cursor:pointer;

    transition:.3s;

    font-size:.82rem;

}

.quick-size:hover{

    background:var(--color-black);

    color:white;

}

.quick-size.disabled{

    opacity:.35;

    pointer-events:none;

    text-decoration:line-through;

}

.quick-cart-btn{

    width:100%;

    height:54px;

    border:none;

    border-radius:999px;

    background:var(--color-black);

    color:white;

    cursor:pointer;

    transition:.35s;

    font-weight:600;

}

.quick-cart-btn:hover{

    background:var(--color-gold);

}



/*==================================================
            PRODUCT RIBBON
==================================================*/

.product-ribbon{

    position:absolute;

    top:22px;

    right:-48px;

    width:170px;

    text-align:center;

    padding:8px;

    background:var(--color-gold);

    color:white;

    font-size:.72rem;

    letter-spacing:2px;

    text-transform:uppercase;

    transform:rotate(45deg);

    z-index:20;

}



/*==================================================
            LOW STOCK
==================================================*/

.low-stock{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:18px;

    padding:10px 18px;

    border-radius:999px;

    background:#fff4e7;

    color:#b76b00;

    font-size:.82rem;

    font-weight:600;

}

.low-stock::before{

    content:"";

    width:10px;

    height:10px;

    border-radius:50%;

    background:#f39c12;

}



/*==================================================
            SALE COUNTDOWN
==================================================*/

.sale-countdown{

    display:flex;

    justify-content:center;

    gap:10px;

    margin-top:24px;

}

.count-box{

    width:56px;

    height:56px;

    border-radius:12px;

    background:var(--color-grey-100);

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.count-box strong{

    font-size:1rem;

}

.count-box span{

    font-size:.65rem;

    text-transform:uppercase;

    color:var(--color-grey-600);

}



/*==================================================
            PRODUCT SHADOW
==================================================*/

.product-card::after{

    content:"";

    position:absolute;

    left:20px;

    right:20px;

    bottom:-12px;

    height:30px;

    border-radius:50%;

    background:rgba(0,0,0,.08);

    filter:blur(18px);

    opacity:0;

    transition:.4s;

    z-index:-1;

}

.product-card:hover::after{

    opacity:1;

}



/*==================================================
            PRODUCT LOADER
==================================================*/

.product-skeleton{

    border-radius:24px;

    overflow:hidden;

    background:white;

}

.skeleton-image{

    height:420px;

    background:#efefef;

}

.skeleton-line{

    height:16px;

    margin:18px;

    border-radius:999px;

    background:#efefef;

}

.skeleton-line.small{

    width:40%;

}

.skeleton-line.medium{

    width:70%;

}

.skeleton-line.large{

    width:90%;

}



/*==================================================
            SHIMMER EFFECT
==================================================*/

.skeleton-image,

.skeleton-line{

    position:relative;

    overflow:hidden;

}

.skeleton-image::before,

.skeleton-line::before{

    content:"";

    position:absolute;

    inset:0;

    transform:translateX(-100%);

    background:

    linear-gradient(

        90deg,

        transparent,

        rgba(255,255,255,.65),

        transparent

    );

    animation:shimmer 1.6s infinite;

}

@keyframes shimmer{

    100%{

        transform:translateX(100%);

    }

}



/*==================================================
            PRODUCT BADGE STACK
==================================================*/

.badge-stack{

    position:absolute;

    top:18px;

    left:18px;

    display:flex;

    flex-direction:column;

    gap:8px;

}



/*==================================================
            PRODUCT TAG HOVER
==================================================*/

.product-tag{

    transition:.3s;

}

.product-tag:hover{

    background:var(--color-black);

    color:white;

}

/*==================================================
            HORIZONTAL PRODUCT CARDS
==================================================*/

.product-card-horizontal{

    display:flex;

    align-items:center;

    background:var(--color-white);

    border-radius:24px;

    overflow:hidden;

    box-shadow:var(--shadow-sm);

    transition:var(--transition);

}

.product-card-horizontal:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-lg);

}

.product-card-horizontal .product-image{

    width:260px;

    min-width:260px;

    aspect-ratio:1/1;

}

.product-card-horizontal .product-info{

    flex:1;

    padding:40px;

}



/*==================================================
            RELATED PRODUCTS
==================================================*/

.related-products{

    margin-top:120px;

}

.related-products h2{

    margin-bottom:50px;

    text-align:center;

}



/*==================================================
            RECENTLY VIEWED
==================================================*/

.recent-products{

    margin-top:120px;

}

.recent-products .product-grid{

    margin-top:40px;

}



/*==================================================
            PRODUCT HOVER LIFT
==================================================*/

.product-card{

    will-change:transform;

}

.product-card:hover{

    transform:translateY(-10px);

}



/*==================================================
            IMAGE PERFORMANCE
==================================================*/

.product-image img{

    backface-visibility:hidden;

    -webkit-backface-visibility:hidden;

}



/*==================================================
            FOCUS STATES
==================================================*/

.product-card a:focus,

.quick-view:focus,

.quick-add:focus,

.quick-cart-btn:focus{

    outline:3px solid var(--color-gold);

    outline-offset:4px;

}



/*==================================================
            DISABLED BUTTON
==================================================*/

.quick-cart-btn:disabled{

    background:var(--color-grey-400);

    cursor:not-allowed;

    opacity:.65;

}



/*==================================================
            PRODUCT GRID SPACING
==================================================*/

.product-grid{

    margin-top:60px;

}



/*==================================================
            RESPONSIVE
==================================================*/

@media(max-width:1200px){

.product-grid{

grid-template-columns:repeat(3,1fr);

gap:28px;

}

}



@media(max-width:992px){

.product-grid{

grid-template-columns:repeat(2,1fr);

}

.product-card-horizontal{

flex-direction:column;

}

.product-card-horizontal .product-image{

width:100%;

min-width:100%;

}

.product-card-horizontal .product-info{

padding:30px;

}

}



@media(max-width:768px){

.best-sellers{

padding:90px 0;

}

.best-title{

font-size:2.4rem;

}

.product-info{

padding:22px;

}

.product-name{

font-size:1.1rem;

}

.quick-view{

display:none;

}

.product-colours{

gap:8px;

}

.product-size{

width:34px;

height:34px;

}

}



@media(max-width:576px){

.product-grid{

grid-template-columns:1fr;

}

.best-title{

font-size:2rem;

}

.best-description{

font-size:.95rem;

}

.product-card{

border-radius:18px;

}

.product-image{

aspect-ratio:4/5;

}

}



/*==================================================
            ACCESSIBILITY
==================================================*/

@media(prefers-reduced-motion:reduce){

.product-card,

.product-image img,

.quick-view,

.quick-add,

.quick-cart-btn,

.product-favourite{

transition:none;

animation:none;

}

}



/*==================================================
            PRINT
==================================================*/

@media print{

.quick-view,

.quick-add,

.product-favourite,

.product-ribbon,

.sale-countdown{

display:none;

}

.product-card{

box-shadow:none;

border:1px solid #ddd;

}

}