/*==================================================
COSVIN FRAMEWORK
CARDS
Version 1.4.0
==================================================*/

/*==================================
CARD BASE
==================================*/

.card{

    position:relative;

    display:flex;

    flex-direction:column;

    background:var(--bg-card);

    border:1px solid var(--border-color);

    border-radius:var(--border-radius-lg);

    overflow:hidden;

    transition:var(--transition);

}

.card:hover{

    background:var(--bg-card-hover);

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

/*==================================
PRODUCT CARD
==================================*/

.product-card{

    position:relative;

    display:flex;

    flex-direction:column;

    background:var(--bg-card);

    border:1px solid var(--border-color);

    border-radius:var(--border-radius-lg);

    overflow:hidden;

    transition:var(--transition);

}

.product-card:hover{

    transform:translateY(-8px);

    box-shadow:var(--shadow-lg);

}

/*==================================
IMAGE
==================================*/

.product-image{

    position:relative;

    width:100%;

    aspect-ratio:1/1;

    background:#101010;

    overflow:hidden;

}

.product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;

}

.product-card:hover .product-image img{

    transform:scale(1.08);

}

/*==================================
BODY
==================================*/

.product-body{

    padding:24px;

    display:flex;

    flex-direction:column;

    gap:12px;

}

/*==================================
CATEGORY
==================================*/

.product-category{

    font-size:13px;

    color:var(--color-primary);

    text-transform:uppercase;

    letter-spacing:1px;

    font-weight:700;

}

/*==================================
TITLE
==================================*/

.product-title{

    color:var(--text-white);

    font-size:20px;

    font-weight:700;

    line-height:1.4;

}

.product-title a{

    color:inherit;

    text-decoration:none;

}

/*==================================
PRICE
==================================*/

.product-price{

    display:flex;

    align-items:center;

    gap:12px;

}

.price-old{

    color:var(--text-muted);

    text-decoration:line-through;

}

.price-new{

    color:var(--color-primary);

    font-size:28px;

    font-weight:800;

}

/*==================================
FOOTER
==================================*/

.product-footer{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:auto;

}

.product-stock{

    color:var(--color-secondary);

    font-weight:600;

}

.product-shipping{

    color:var(--text-gray);

    font-size:14px;

}

/*==================================
BUTTON AREA
==================================*/

.product-actions{

    padding:24px;

    padding-top:0;

}

.product-actions .btn{

    width:100%;

}
/*==================================================
PRODUCT GRID
==================================================*/

.products-grid{

    display:grid;

    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));

    gap:32px;

    margin-top:60px;

}

.featured-products{

    padding:100px 0;

    background:var(--bg-body);

}

.section-heading{

    text-align:center;

    margin-bottom:50px;

}

.section-heading h2{

    color:var(--text-white);

    font-size:48px;

    font-weight:800;

    margin-bottom:16px;

}

.section-heading p{

    color:var(--text-gray);

    font-size:18px;

}
/*==================================
BADGE
==================================*/

.product-badge-wrapper{

    position:absolute;

    top:16px;

    left:16px;

    z-index:20;

}

.product-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:8px 14px;

    border-radius:999px;

    font-size:13px;

    font-weight:700;

    color:#fff;

}

.badge-sale{

    background:#ff3b30;

}

/* Product cards v2: clear, commercial and readable on dark sections. */
.product-card{
    min-height:100%;
    background:linear-gradient(180deg,#ffffff 0%,#fbfdfb 100%) !important;
    border:1px solid rgba(19,83,48,.12) !important;
    border-radius:22px !important;
    box-shadow:0 10px 26px rgba(5,26,14,.14) !important;
    overflow:hidden;
    isolation:isolate;
}

.product-card:hover{
    transform:translateY(-10px) !important;
    border-color:rgba(11,155,80,.42) !important;
    box-shadow:0 20px 42px rgba(5,26,14,.24) !important;
}

.product-card .product-image{
    aspect-ratio:1 / .92;
    background:radial-gradient(circle at 50% 10%,#ffffff 0%,#f2f7f2 72%,#e8f1ea 100%) !important;
    border-bottom:1px solid #e7eee8;
}

.product-card .product-image img{
    object-fit:contain;
    padding:14px;
    mix-blend-mode:multiply;
}

.product-card .product-body{
    flex:1;
    padding:19px 20px 12px;
    gap:10px;
    background:#fff !important;
}

.product-card .product-category,
.product-card .product-category a{
    color:#087a3e !important;
    font-size:11px;
    font-weight:800;
    letter-spacing:.1em;
    text-decoration:none;
    text-transform:uppercase;
}

.product-card .product-title,
.product-card .product-title a{
    color:#15241a !important;
    font-size:18px;
    font-weight:800;
    line-height:1.3;
    text-decoration:none;
}

.product-card .product-title{
    min-height:70px;
    margin:0;
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
}

.product-card .product-price{
    min-height:37px;
    margin-top:2px;
}

.product-card .product-price .price,
.product-card .product-price ins,
.product-card .product-price ins .woocommerce-Price-amount{
    color:#087a3e !important;
    font-size:25px;
    font-weight:900;
    letter-spacing:-.03em;
    text-decoration:none;
}

.product-card .product-price del,
.product-card .product-price del .woocommerce-Price-amount{
    color:#8d9890 !important;
    font-size:14px;
    font-weight:600;
    text-decoration:line-through;
}

.product-card .product-shipping,
.product-card .product-stock{
    display:inline-flex;
    align-items:center;
    gap:5px;
    width:max-content;
    margin-top:2px;
    padding:6px 9px;
    border-radius:999px;
    font-size:12px;
    font-weight:750;
}

.product-card .product-shipping{color:#4d5e53;background:#f0f4f1;}
.product-card .product-stock{color:#087a3e;background:#e8f7ee;}
.product-card .product-footer{margin-top:0;}

.product-card .product-actions{
    padding:10px 20px 20px;
    background:#fff;
}

.product-card .cosvin-add-cart{
    min-height:50px;
    border-radius:13px;
    background:linear-gradient(135deg,#07964c 0%,#0bb95f 100%);
    box-shadow:0 9px 18px rgba(9,155,77,.2);
    font-size:15px;
    font-weight:800;
}

.product-card .cosvin-add-cart:hover{
    background:linear-gradient(135deg,#06783c 0%,#099c50 100%);
    box-shadow:0 12px 22px rgba(9,155,77,.3);
}

.product-card .product-badge-wrapper{top:14px;left:14px;}
.product-card .product-badge{padding:7px 11px;border:1px solid rgba(255,255,255,.55);font-size:11px;}
.product-card .product-card-tools{right:14px;top:14px;gap:9px;}
.product-card .cosvin-card-tool{width:40px;height:40px;background:rgba(255,255,255,.94);border:1px solid rgba(20,61,35,.1);box-shadow:0 5px 14px rgba(7,37,18,.14);}
.product-card .cosvin-card-tool:hover,.product-card .cosvin-card-tool.is-active{background:#0b9b50;border-color:#0b9b50;color:#fff;}

@media (max-width:575px){
    .product-card .product-title{font-size:17px;min-height:65px;}
    .product-card .product-body{padding:16px 16px 10px;}
    .product-card .product-actions{padding:8px 16px 16px;}
}

/* COSVIN product conversion card */
.product-card{
    background:#fff;
    border-color:#e6ebe7;
    border-radius:18px;
    box-shadow:0 4px 16px rgba(18,52,33,.06);
}
.product-card:hover{ box-shadow:0 16px 32px rgba(18,52,33,.14); }
.product-image{ background:#f5f7f5; aspect-ratio:4/4.2; }
.product-body{ padding:18px 18px 8px; gap:8px; }
.product-category{ font-size:11px; color:#168447; letter-spacing:.08em; }
.product-title{ color:#17251c; font-size:17px; min-height:48px; }
.product-price{ min-height:34px; }
.product-price .price{ color:#087a3e; font-size:24px; font-weight:800; }
.product-price del{ color:#8a938d; font-size:14px; margin-right:8px; }
.product-price ins{ text-decoration:none; }
.product-footer{ margin-top:5px; }
.product-stock{ color:#168447; font-size:13px; }
.product-actions{ padding:12px 18px 18px; }
.cosvin-add-cart{
    width:100%; min-height:46px; border:0; border-radius:10px; display:inline-flex;
    align-items:center; justify-content:center; gap:8px; background:#0b9b50; color:#fff;
    font-weight:700; text-decoration:none; cursor:pointer; transition:transform .2s, background .2s, box-shadow .2s;
}
.cosvin-add-cart:hover{ background:#087a3e; color:#fff; transform:translateY(-2px); box-shadow:0 8px 16px rgba(11,155,80,.22); }
.cosvin-add-cart:disabled{ opacity:.7; cursor:wait; transform:none; }
.product-badge-wrapper{ top:12px; left:12px; display:flex; gap:6px; }
.product-badge{ padding:6px 10px; font-size:12px; box-shadow:0 3px 8px rgba(0,0,0,.12); }
.cosvin-toast-region{ position:fixed; right:20px; bottom:20px; z-index:1200; }
.cosvin-toast{ display:flex; align-items:center; gap:10px; max-width:360px; padding:14px 18px; margin-top:10px; border-radius:12px; background:#173a25; color:#fff; box-shadow:0 12px 28px rgba(0,0,0,.2); animation:cosvin-toast-in .25s ease-out; }
.cosvin-toast--error{ background:#b42318; }
@keyframes cosvin-toast-in{ from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:translateY(0)} }
.product-card-tools{position:absolute;z-index:25;right:12px;top:12px;display:grid;gap:8px}.cosvin-card-tool{width:36px;height:36px;border:0;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1d3024;box-shadow:0 4px 12px rgba(0,0,0,.12);cursor:pointer}.cosvin-card-tool:hover,.cosvin-card-tool.is-active{background:#0b9b50;color:#fff}.product-shipping{color:#168447;font-size:13px;font-weight:600}.cosvin-quick-view-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:20px;background:rgba(7,20,11,.55)}.cosvin-quick-view-modal__dialog{position:relative;display:grid;grid-template-columns:180px 1fr;gap:22px;max-width:560px;width:100%;padding:22px;border-radius:18px;background:#fff}.cosvin-quick-view-modal img{width:180px;height:180px;object-fit:cover;border-radius:12px}.cosvin-quick-view-modal__close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:24px;cursor:pointer}.cosvin-quick-view-modal h3{margin:12px 0;color:#17251c;font-size:22px}.cosvin-quick-view-modal p{color:#087a3e;font-weight:800;font-size:20px}.cosvin-quick-view-modal a{display:inline-block;padding:10px 14px;border-radius:9px;background:#0b9b50;color:#fff;text-decoration:none;font-weight:700}
body.cosvin-quick-view-open{overflow:hidden}@media(max-width:767px){.cosvin-quick-view-modal{padding:12px!important;place-items:center!important;overflow:hidden!important}.cosvin-quick-view-modal__dialog{display:flex!important;flex-direction:column!important;box-sizing:border-box!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important;max-height:calc(100dvh - 24px)!important;overflow-x:hidden!important;overflow-y:auto!important;gap:12px!important;padding:16px!important;grid-template-columns:none!important}.cosvin-quick-view-modal__dialog>*{box-sizing:border-box!important;min-width:0!important;max-width:100%!important}.cosvin-quick-view-modal__image{width:100%!important;max-width:100%!important;height:auto!important;max-height:240px!important;object-fit:contain!important;margin:0 auto!important}.cosvin-quick-view-modal__info{width:100%!important;max-width:100%!important;min-width:0!important;padding:0!important;position:static!important}.cosvin-quick-view-modal__info h3{width:100%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important}.cosvin-quick-view-modal__actions{display:flex!important;flex-wrap:wrap!important;width:100%!important}.cosvin-quick-view-modal__buy{display:flex!important;width:100%!important;min-height:48px!important;white-space:normal!important}.cosvin-quick-view-modal__close{position:sticky!important;top:0!important;align-self:flex-end!important;right:auto!important;z-index:5!important}}
