.products-grid{

display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;

}

.product-card{

border:1px solid #eee;
padding:15px;
border-radius:10px;

}
.product-detail img{
max-height:400px;
object-fit:cover;
}

.product-card img{
border-radius:8px;
}
.peercore-products-grid,
.peercore-categories-grid{
--peercore-columns:4;
--peercore-gap:20px;
display:grid;
grid-template-columns:repeat(var(--peercore-columns),1fr);
gap:var(--peercore-gap);
}

@media (max-width:900px){
.peercore-products-grid,
.peercore-categories-grid{
grid-template-columns:repeat(2,1fr);
}
}

@media (max-width:560px){
.peercore-products-grid,
.peercore-categories-grid{
grid-template-columns:repeat(1,1fr);
}
}

.peercore-product-card{
display:flex;
flex-direction:column;
height:100%;
border:1px solid #e3e6ea;
border-radius:14px;
overflow:hidden;
background:#fff;
transition:box-shadow 0.2s ease, transform 0.2s ease;
box-sizing:border-box;
}

.peercore-product-card:hover{
box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

.peercore-product-card__image-wrap{
display:flex;
align-items:center;
justify-content:center;
aspect-ratio:4/3;
background:transparent;
}

.peercore-product-card__image-wrap img{
width:auto;
height:100%;
max-height: 280px;
padding: 16px;
object-fit:cover;
display:block;
transition:transform 0.35s ease;
}

.peercore-product-card:hover .peercore-product-card__image-wrap img{
transform:scale(1.04);
}

.peercore-product-card__body{
display:flex;
flex-direction:column;
gap:10px;
padding:16px;
flex:1 1 auto;
}

.peercore-product-card__title{
display:-webkit-box;
-webkit-line-clamp:2;
line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
font-weight:700;
font-size:19px;
line-height:1.3;
color:#142850 !important;
text-decoration:none !important;
}

.peercore-product-card__desc{
display:-webkit-box;
-webkit-line-clamp:2;
line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
margin:-4px 0 0;
font-size:13.5px;
font-weight:400;
line-height:1.5;
color:#8a8f98;
}

.peercore-product-card__price{
font-weight:700;
font-size:22px;
color:#142850 !important;
}

.peercore-product-card__unit{
font-weight:400;
font-size:14px;
color:#8a8f98;
margin-left:2px;
}

.peercore-product-card__btn{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
width:100%;
margin-top:auto;
background:#142850 !important;
background-color:#142850 !important;
background-image:none !important;
color:#fff !important;
border:none !important;
border-radius:10px;
padding:14px;
font-family:inherit;
font-weight:700;
font-size:16px;
line-height:1.2;
text-shadow:none !important;
box-shadow:none !important;
appearance:none;
-webkit-appearance:none;
cursor:pointer;
}

.peercore-product-card__btn:hover,
.peercore-product-card__btn:focus{
background:#0d1c3a !important;
background-color:#0d1c3a !important;
background-image:none !important;
color:#fff !important;
}

/* =====================================================
   CATEGORY CARD (templates/category-cards/default.php)
===================================================== */

.peercore-category-card{
display:flex;
flex-direction:column;
height:100%;
border:1px solid #046bd2;
border-radius:14px;
overflow:hidden;
background:#fff;
transition:box-shadow 0.2s ease, transform 0.2s ease;
box-sizing:border-box;
}

.peercore-category-card:hover{
box-shadow:0 8px 24px rgba(0,0,0,0.08);
}

.peercore-category-card__image-wrap{
display:flex;
align-items:center;
justify-content:center;
aspect-ratio:4/3;
background:transparent;
box-sizing:border-box;
}

.peercore-category-card__image-wrap img{
width:100%;
height:100%;
object-fit:contain;
display:block;
transition:transform 0.35s ease;
}

.peercore-category-card:hover .peercore-category-card__image-wrap img{
transform:scale(1.04);
}

.peercore-category-card__body{
display:flex;
flex-direction:column;
flex:1 1 auto;
padding:0 16px 16px;
}

.peercore-category-card__title{
display:block;
font-weight:700;
font-size:19px;
line-height:1.3;
color:#142850 !important;
text-decoration:none !important;
margin-bottom:8px;
padding-bottom: 10px;
}

.peercore-category-card__desc{
flex:1 1 auto;
margin:0 0 16px;
padding-bottom: 10px;
font-size:16px;
font-weight:400;
line-height:1.55;
color:#0A2254;
}

.peercore-category-card__btn{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
margin-top:auto;
background:#142850 !important;
background-image:none !important;
box-shadow:none !important;
color:#fff !important;
border:none !important;
border-radius:10px;
padding:14px;
font-family:inherit;
font-weight:700;
font-size:16px;
line-height:1.2;
text-decoration:none !important;
cursor:pointer;
}

.peercore-category-card__btn:hover,
.peercore-category-card__btn:focus{
background:#0d1c3a !important;
color:#fff !important;
}

/* =====================================================
   CARD STYLE: compact (templates/product-cards/compact.php)
===================================================== */

.peercore-card-compact{
display:flex;
flex-direction:column;
height:100%;
border:1px solid #e3e6ea;
border-radius:10px;
overflow:hidden;
background:#fff;
box-sizing:border-box;
transition:box-shadow 0.2s ease;
}

.peercore-card-compact:hover{
box-shadow:0 6px 16px rgba(0,0,0,0.08);
}

.peercore-card-compact__image-wrap{
display:flex;
align-items:center;
justify-content:center;
aspect-ratio:1/1;
background:transparent;
}

.peercore-card-compact__image-wrap img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform 0.35s ease;
}

.peercore-card-compact:hover .peercore-card-compact__image-wrap img{
transform:scale(1.04);
}

.peercore-card-compact__body{
display:flex;
flex-direction:column;
gap:8px;
padding:10px 12px;
flex:1 1 auto;
}

.peercore-card-compact__title{
font-weight:600;
font-size:13px;
line-height:1.3;
color:#142850 !important;
text-decoration:none !important;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
}

.peercore-card-compact__desc{
display:-webkit-box;
-webkit-line-clamp:1;
line-clamp:1;
-webkit-box-orient:vertical;
overflow:hidden;
margin:0;
font-size:11.5px;
font-weight:400;
line-height:1.4;
color:#8a8f98;
}

.peercore-card-compact__row{
margin-top:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:8px;
}

.peercore-card-compact__price{
font-weight:700;
font-size:14px;
color:#142850 !important;
white-space:nowrap;
}

.peercore-card-compact__unit{
font-weight:400;
font-size:11px;
color:#8a8f98;
margin-left:2px;
}

.peercore-card-compact__btn{
display:flex;
align-items:center;
gap:4px;
flex-shrink:0;
background:#142850 !important;
background-color:#142850 !important;
background-image:none !important;
color:#fff !important;
border:none !important;
border-radius:999px;
padding:6px 12px;
font-family:inherit;
font-size:12px;
font-weight:600;
line-height:1;
white-space:nowrap;
box-shadow:none !important;
appearance:none;
-webkit-appearance:none;
cursor:pointer;
}

.peercore-card-compact__btn:hover,
.peercore-card-compact__btn:focus{
background:#0d1c3a !important;
background-color:#0d1c3a !important;
background-image:none !important;
color:#fff !important;
}

/* =====================================================
   CARD STYLE: horizontal (templates/product-cards/horizontal.php)
===================================================== */

.peercore-card-horizontal{
display:flex;
flex-direction:row;
align-items:stretch;
gap:12px;
height:100%;
border:1px solid #e3e6ea;
border-radius:12px;
background:#fff;
padding:10px;
box-sizing:border-box;
transition:box-shadow 0.2s ease;
}

.peercore-card-horizontal:hover{
box-shadow:0 6px 16px rgba(0,0,0,0.08);
}

.peercore-card-horizontal__image-wrap{
display:flex;
align-items:center;
justify-content:center;
flex:0 0 90px;
width:90px;
aspect-ratio:1/1;
border-radius:8px;
overflow:hidden;
background:transparent;
}

.peercore-card-horizontal__image-wrap img{
width:100%;
height:100%;
object-fit:cover;
display:block;
transition:transform 0.35s ease;
}

.peercore-card-horizontal:hover .peercore-card-horizontal__image-wrap img{
transform:scale(1.04);
}

.peercore-card-horizontal__body{
display:flex;
flex-direction:column;
gap:6px;
flex:1 1 auto;
min-width:0;
}

.peercore-card-horizontal__title{
display:-webkit-box;
-webkit-line-clamp:2;
line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
font-weight:700;
font-size:14px;
line-height:1.3;
color:#142850 !important;
text-decoration:none !important;
}

.peercore-card-horizontal__desc{
display:-webkit-box;
-webkit-line-clamp:2;
line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;
margin:0;
font-size:12px;
font-weight:400;
line-height:1.45;
color:#8a8f98;
}

.peercore-card-horizontal__price{
font-weight:700;
font-size:15px;
color:#142850 !important;
}

.peercore-card-horizontal__unit{
font-weight:400;
font-size:12px;
color:#8a8f98;
margin-left:2px;
}

.peercore-card-horizontal__btn{
margin-top:auto;
align-self:flex-start;
display:inline-flex;
align-items:center;
gap:6px;
background:#142850 !important;
background-color:#142850 !important;
background-image:none !important;
color:#fff !important;
border:none !important;
border-radius:8px;
padding:8px 14px;
font-family:inherit;
font-size:13px;
font-weight:600;
box-shadow:none !important;
appearance:none;
-webkit-appearance:none;
cursor:pointer;
}

.peercore-card-horizontal__btn:hover,
.peercore-card-horizontal__btn:focus{
background:#0d1c3a !important;
background-color:#0d1c3a !important;
background-image:none !important;
color:#fff !important;
}

/* =====================================================
   PRODUCTS PAGINATION (peercore_render_pagination(), config/api-config.php)
===================================================== */

.peercore-pagination{
display:flex;
align-items:center;
justify-content:center;
flex-wrap:wrap;
gap:8px;
margin-top:50px;
}

.peercore-pagination a,
.peercore-pagination span{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:32px;
height:32px;
padding:0 6px;
border-radius:8px;
font-size:14px;
font-weight:600;
color:#142850 !important;
text-decoration:none !important;
box-sizing:border-box;
}

.peercore-pagination a:hover{
background:#f0f0f1;
}

.peercore-pagination span.active{
background:#142850 !important;
color:#fff !important;
}

.peercore-pagination span.dots{
color:#8a8f98 !important;
font-weight:400;
}

.peercore-pagination a.prev,
.peercore-pagination a.next{
font-size:26px;
font-weight:700;
min-width:38px;
height:38px;
}

/* =====================================================
   CATEGORY HERO BANNER (templates/category-detail-cards/default.php)
===================================================== */

.peercore-category-hero{
position:relative;
display:flex;
align-items:center;
justify-content:center;
background-color:transparent;
border-radius:14px;
overflow:hidden;
margin-bottom:30px;
padding:20px 20px 30px;
min-height:220px;
box-sizing:border-box;
text-align:center;
}

.peercore-category-hero__overlay{
position:relative;
z-index:1;
max-width:90%
}

.peercore-category-hero__title{
color:#fff !important;
font-size:60px;
font-weight:800;
line-height:1.15;
margin:0 0 16px;
}

.peercore-category-hero__intro{
color:#fff !important;
font-size:18px;
font-weight:600;
line-height:1.6;
margin:0;
}

@media (max-width:768px){
.peercore-category-hero{ padding:40px 20px; }
.peercore-category-hero__title{ font-size:34px; }
}