/*--------------------------------------------------------------
# MarocOffers
# Catalog Cards
# Version 0.3.0 (Commit 005)
--------------------------------------------------------------*/

.mo-catalog-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(270px,300px));
    
justify-content:center;

gap:24px;

margin-top:40px;

}

.mo-catalog-card{

background:#fff;
border-radius:22px;
overflow:hidden;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

height:100%;

}

.mo-catalog-card > a{

display:flex;
flex-direction:column;
height:100%;
color:inherit;
text-decoration:none;

}

.mo-catalog-card:hover{

transform:translateY(-8px);

box-shadow:0 25px 60px rgba(0,0,0,.14);

}

.mo-catalog-cover{

    position:relative;
    aspect-ratio:3/2;
    overflow:hidden;
    height:210px;

}

.mo-catalog-cover img{

width:100%;
height:100%;
object-fit:cover;

transition:.4s;

}

.mo-catalog-card:hover img{

transform:scale(1.05);

}

/* Badge */

.badge{

position:absolute;

top:14px;

right:14px;

padding:7px 13px;

border-radius:30px;

font-size:12px;

font-weight:700;

color:#fff;

box-shadow:0 4px 10px rgba(0,0,0,.18);

}

.badge-active{

background:#22c55e;

}

.badge-expired{

background:#ef4444;

}

.badge-upcoming{

background:#f59e0b;

}

/* Content */

.mo-catalog-content{

    flex:1;

    display:flex;
    flex-direction:column;

    padding:16px;

    align-items:center;
    text-align:center;

}

.mo-card-footer{

margin-top:auto;

padding-top:20px;

}

/* Logo */

.mo-card-logo{

    width:62px;
    height:62px;
    margin-top:-31px;

background:#fff;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

box-shadow:0 10px 30px rgba(0,0,0,.12);

position:relative;

z-index:5;

}

.mo-card-logo img{

width:65%;
height:65%;
object-fit:contain;

}

/* Store */

.mo-store-name{

font-size:13px;

font-weight:600;

color:#666;

margin-bottom:6px;

}

/* Title */

.mo-card-title{

font-size:19px;
min-height:48px;
font-weight:700;
line-height:1.35;

margin:8px 0 12px;

display:-webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
overflow:hidden;

}
/* Remaining */

.mo-catalog-date{

font-size:13px;

font-weight:600;

color:#16a34a;

margin-bottom:8px;

}

/* Pages */

.mo-catalog-pages{

font-size:13px;
font-weight:600;
color:#666;
margin-bottom:15px;

display:flex;

align-items:center;

justify-content:center;

gap:6px;

}

/* Button */

.mo-catalog-button{

display:flex;

justify-content:center;

align-items:center;

padding:11px 18px;

font-size:14px;

width:100%;

border-radius:10px;

background:#0F9D58;

color:#fff;

font-weight:700;

transition:.3s;

}

.mo-catalog-button:hover{

background:#0c8448;

}

/* Mobile */

@media(max-width:768px){

.mo-catalog-grid{

grid-template-columns:repeat(2,minmax(0,1fr));

gap:18px;

}

.mo-card-logo{

width:52px;

height:52px;

margin-top:-35px;

margin-bottom:12px;

}

.mo-catalog-content{

padding:14px;

}

.mo-catalog-button{

width:100%;

padding:10px;

font-size:14px;

}

}

@media(max-width:480px){

.mo-catalog-grid{

grid-template-columns:repeat(2,minmax(0,1fr));

gap:14px;

}

.mo-catalog-content{

padding:14px;

}

.mo-card-logo{

width:52px;

height:52px;

}

.mo-catalog-date{

font-size:13px;

}

.mo-catalog-button{

font-size:13px;

padding:9px;

}

}