/* =========================================================
   AFFILIATOR PRO v1.10.12
   FINAL REFINED CSS
========================================================= */

/* =========================
   GLOBAL
========================= */

body,
.affp-container,
.affp-container *{
    font-family:'Montserrat',sans-serif;
    box-sizing:border-box;
}

.affp-container{
    width:100%;
    max-width:1100px;
    margin:0 auto;
}

/* =========================================================
   LIST LAYOUT
========================================================= */

.layout-list{
    display:flex;
    flex-direction:column;
    gap:16px;
}

/* =========================
   LIST ROW
========================= */

.list-row{
    position:relative;

    display:grid;

    grid-template-columns:2fr 5fr 3fr;

    gap:22px;

    padding:18px;

    border:1px solid rgba(0,0,0,0.08);

    border-radius:14px;

    background:#fff;

    align-items:stretch;

    transition:0.25s ease;

    overflow:hidden;
}

.list-row:hover{
    transform:translateY(-3px);

    box-shadow:0 10px 25px rgba(0,0,0,0.08);
}

/* =========================
   IMAGE COLUMN
========================= */

.col-image{
    border-right:1px solid rgba(0,0,0,0.05);

    padding-right:18px;

    display:flex;

    align-items:center;

    justify-content:center;
}

.product-image{
    width:100%;

    max-width:170px;

    height:130px;

    object-fit:contain;

    display:block;

    margin:0 auto;
}

/* =========================
   CONTENT COLUMN
========================= */

.col-content{
    border-right:1px solid rgba(0,0,0,0.05);

    padding-right:18px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    min-width:0;
}

.col-content h3{
    margin:0 0 10px;

    font-size:18px;

    line-height:1.4;

    font-weight:700;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

    min-height:50px;
}

.col-content p{
    margin:0 0 10px;

    font-size:14px;

    line-height:1.7;

    color:#555;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;
}

.read-more{
    color:#0073aa;

    text-decoration:none;

    font-size:13px;

    font-weight:600;
}

.read-more:hover{
    text-decoration:none;
}

/* =========================
   ACTION COLUMN
========================= */

.col-action{
    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    gap:14px;
}

/* =========================
   RATING
========================= */

.rating-row{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}

.rating-divider{
    width:1px;

    height:16px;

    background:rgba(0,0,0,0.15);
}

.rating-value{
    font-size:15px;

    font-weight:700;

    color:#111827;
}

.rating-count{
    font-size:13px;

    color:#666;
}

/* =========================
   STARS
========================= */

.stars-wrap{
    display:flex;

    gap:2px;
}

.affp-star{
    width:18px;

    height:18px;

    flex:0 0 auto;
}

/* =========================
   PRICE
========================= */

.price-wrap{
    display:flex;

    flex-direction:row;

    align-items:baseline;

    justify-content:center;

    gap:8px;

    flex-wrap:nowrap;

    white-space:nowrap;
}

.mrp{
    font-size:14px;

    color:#888;

    text-decoration:line-through;

    margin:0;
}

.price{
    font-size:22px;

    font-weight:600;

    color:#15803d;

    line-height:1;

    white-space:nowrap;
}

.discount{
    font-size:14px;

    color:#dc2626;

    font-weight:700;

    white-space:nowrap;
}

/* =========================
   BUTTON
========================= */

.btn{
    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:11px 18px;

    border-radius:8px;

    background:#f59e0b;

    color:#fff;

    text-decoration:none;

    font-size:13px;

    font-weight:700;

    transition:0.25s ease;
}

.btn:hover{
    background:#d97706;
    text-decoration:none;
}

/* =========================
   BADGES
========================= */

.badge{
    position:absolute;

    top:0;

    left:0;

    z-index:5;

    color:#fff;

    font-size:11px;

    font-weight:700;

    padding:8px 13px;

    border-radius:0 0 14px 0;

    line-height:1;
}

.top-pick{
    background:#16a34a;
}

.best-value{
    background:#2563eb;
}

.amazon-choice{
    background:#ff9900;
}

.best-seller{
    background:#b91c1c;
}

/* =========================================================
   GRID LAYOUT
========================================================= */

.layout-grid{
    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;
}

@media(max-width:1200px){

    .layout-grid{
        grid-template-columns:repeat(3,1fr);
    }
}

@media(max-width:900px){

    .layout-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:640px){

    .layout-grid{
        grid-template-columns:1fr;
    }
}


/* =========================
   GRID CARD
========================= */

.grid-card{
    position:relative;

    background:#fff;

    border:1px solid rgba(0,0,0,0.08);

    border-radius:14px;

    overflow:hidden;

    transition:0.25s ease;

    display:flex;

    flex-direction:column;
}

.grid-card:hover{
    transform:translateY(-4px);

    box-shadow:0 12px 28px rgba(0,0,0,0.08);
}

/* =========================
   GRID BADGE
========================= */

.grid-card .badge{
    position:absolute;

    top:0;

    left:0;

    z-index:5;

    color:#fff;

    font-size:11px;

    font-weight:700;

    padding:8px 13px;

    border-radius:0 0 14px 0;

    line-height:1;
}

/* =========================
   GRID IMAGE
========================= */

.grid-card .col-image{
    border:none;

    padding:18px 18px 0;

    display:flex;

    align-items:center;

    justify-content:center;
}

.grid-card .product-image{
    width:100%;

    height:210px;

    object-fit:contain;
}

/* =========================
   GRID CONTENT
========================= */

.grid-card .col-content{
    border:none;

    padding:18px 18px 12px;

    text-align:left;

    display:flex;

    flex-direction:column;
}

.grid-card .col-content h3{
    font-size:16px;

    line-height:1.45;

    margin:0 0 10px;

    font-weight:700;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

    min-height:46px;
}

.grid-card .col-content p{
    font-size:13px;

    line-height:1.65;

    color:#666;

    margin:0 0 12px;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;
}

.grid-card .read-more{
    margin-bottom:18px;
}

/* =========================
   GRID ACTIONS
========================= */

.grid-card .col-action{
    gap:12px;
    padding:0 18px 18px;
}

/* =========================
   GRID PRICE
========================= */

.grid-card .price-wrap{
    display:flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:flex-start;
    gap:8px;
    flex-wrap:nowrap;
    white-space:nowrap;
}

/* =========================
   GRID BUTTON
========================= */

.grid-card .btn{
    width:calc(100% + 36px);
    margin-bottom:-22px;
    border-radius:0;
    padding:14px;
    font-size:15px;
    min-height:50px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:900px){

    .list-row{
        grid-template-columns:1fr;
    }

    .col-image,
    .col-content{
        border-right:none;

        padding-right:0;
    }

    .col-content{
        text-align:center;
    }
}
.affp-category-title{font-size:28px;font-weight:700;margin-bottom:20px;width:100%;}
.layout-grid .affp-category-title{grid-column:1/ -1;}
.layout-grid .affp-no-products{grid-column:1/ -1;}
.affp-no-products{padding:20px 0;font-size:16px;}


/* Strong CTA override */
.affp-container a.btn,
.affp-container a.btn:hover,
.affp-container a.btn:focus,
.affp-container a.btn:active,
.affp-container a.btn:visited{
    text-decoration:none !important;
}

/* v1.10.19 tweaks */
.read-more,.read-more:hover,.btn,.btn:hover{text-decoration:none!important;}

.affp-date-badge{
    position:absolute;
    top:0;
    right:0;
    color:#111827;
    padding:6px 8px;
    border-radius:4px;
    font-size:10px;
    line-height:1;
    z-index:99;
    display:block;
}

.affp-breadcrumb{
    display:block;
    width:100%;
    margin:0 0 20px 0;
    padding:0;
    font-size:14px;
    font-weight:500;
}
