/**
 * ==========================================================================
 * MultiPress Editorial Opinion
 * The Economist • NY Times • FT Inspired
 * ==========================================================================
 */

.mp-opinion{
    margin:80px 0;
    background:#faf8f4;
    border:1px solid #e7e2d8;
    border-radius:18px;
    overflow:hidden;
    font-family:Georgia,"Times New Roman",serif;
}

/* ==========================================================================
   HEADER
========================================================================== */

.mp-opinion__header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:24px 30px;
    background:#7f1d1d;
    color:#fff;
}

.mp-opinion__title{
    margin:0;
    font-size:2rem;
    font-weight:700;
    letter-spacing:.02em;
}

.mp-opinion__more{
    color:#fff;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.mp-opinion__more:hover{
    opacity:.85;
}

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

.mp-opinion-layout{
    display:grid;
    grid-template-columns:1.8fr 360px;
    gap:30px;
    padding:30px;
}

/* ==========================================================================
   FEATURED EDITORIAL
========================================================================== */

.mp-opinion-featured{
    background:#fff;
    border-left:6px solid #7f1d1d;
    border-radius:12px;
    padding:35px;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
}

.mp-opinion-featured__tag{
    display:inline-block;
    margin-bottom:18px;
    padding:6px 14px;
    background:#7f1d1d;
    color:#fff;
    border-radius:30px;
    font-size:.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.mp-opinion-featured h3{
    margin:0 0 20px;
    font-size:2.1rem;
    line-height:1.35;
    font-weight:700;
}

.mp-opinion-featured h3 a{
    color:#111827;
    text-decoration:none;
}

.mp-opinion-featured h3 a:hover{
    color:#7f1d1d;
}

.mp-opinion-featured p{
    margin:0;
    color:#4b5563;
    line-height:1.95;
    font-size:1.05rem;
}

.mp-opinion-featured__meta{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-top:28px;
    color:#6b7280;
    font-size:.84rem;
}

.mp-opinion-featured__meta i{
    color:#7f1d1d;
}


/* ==========================================================================
   COLUMNISTS
========================================================================== */

.mp-opinion-columnists{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.mp-opinion-columnist{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:22px;
    background:#ffffff;
    border:1px solid #e7e2d8;
    border-radius:14px;
    transition:.3s;
    box-shadow:0 6px 18px rgba(0,0,0,.05);
}

.mp-opinion-columnist:hover{
    transform:translateY(-4px);
    border-color:#7f1d1d;
    box-shadow:0 12px 28px rgba(127,29,29,.12);
}

.mp-opinion-columnist__avatar{
    width:64px;
    height:64px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:14px;
    background:#7f1d1d;
    color:#fff;
    font-size:1.4rem;
    font-weight:700;
}

.mp-opinion-columnist h4{
    margin:0 0 10px;
    font-size:1rem;
    line-height:1.5;
}

.mp-opinion-columnist h4 a{
    color:#111827;
    text-decoration:none;
    transition:.3s;
}

.mp-opinion-columnist h4 a:hover{
    color:#7f1d1d;
}

.mp-opinion-columnist p{
    margin:0 0 8px;
    color:#6b7280;
    font-size:.90rem;
    font-style:italic;
}

.mp-opinion-columnist span{
    color:#9ca3af;
    font-size:.80rem;
}

/* ==========================================================================
   EDITORIAL TOPICS
========================================================================== */

.mp-opinion-topics{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin:0 30px 30px;
}

.mp-opinion-topics__item{
    background:#ffffff;
    border:1px solid #e7e2d8;
    border-radius:14px;
    padding:22px;
    text-align:center;
    transition:.35s;
    box-shadow:0 6px 18px rgba(0,0,0,.04);
}

.mp-opinion-topics__item:hover{
    transform:translateY(-5px);
    border-color:#7f1d1d;
    box-shadow:0 14px 28px rgba(127,29,29,.10);
}

.mp-opinion-topics__item strong{
    display:block;
    margin-bottom:8px;
    color:#7f1d1d;
    font-size:.95rem;
    font-weight:700;
}

.mp-opinion-topics__item span{
    display:block;
    color:#6b7280;
    font-size:.82rem;
    line-height:1.5;
}


/* ==========================================================================
   ADVERTISEMENT
========================================================================== */

.mp-opinion-ad{
    margin:0 30px 30px;
}

.mp-opinion-ad .widget{
    margin:0;
}

.mp-ad-placeholder{
    min-height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffffff;
    border:2px dashed #d6d3d1;
    border-radius:14px;
    color:#78716c;
    font-weight:600;
    letter-spacing:.05em;
}

/* ==========================================================================
   OPINION GRID
========================================================================== */

.mp-opinion-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:24px;
    padding:0 30px 35px;
}

/* ==========================================================================
   OPINION CARD
========================================================================== */

.mp-opinion-card{
    background:#ffffff;
    border:1px solid #e7e2d8;
    border-radius:14px;
    overflow:hidden;
    transition:.35s;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.mp-opinion-card:hover{
    transform:translateY(-6px);
    border-color:#7f1d1d;
    box-shadow:0 18px 36px rgba(127,29,29,.12);
}

.mp-opinion-card__image{
    display:block;
    overflow:hidden;
}

.mp-opinion-card__image img{
    width:100%;
    aspect-ratio:16/10;
    object-fit:cover;
    transition:.45s;
}

.mp-opinion-card:hover img{
    transform:scale(1.08);
}

.mp-opinion-card__content{
    padding:20px;
}

.mp-opinion-card__label{
    display:inline-block;
    margin-bottom:12px;
    padding:5px 12px;
    background:#7f1d1d;
    color:#fff;
    border-radius:30px;
    font-size:.68rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.mp-opinion-card h4{
    margin:0;
    font-size:1rem;
    line-height:1.55;
}

.mp-opinion-card h4 a{
    color:#111827;
    text-decoration:none;
    transition:.3s;
}

.mp-opinion-card h4 a:hover{
    color:#7f1d1d;
}

.mp-opinion-card__meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:16px;
    color:#6b7280;
    font-size:.82rem;
}

.mp-opinion-card__meta i{
    color:#7f1d1d;
}

/* ==========================================================================
   FOOTER
========================================================================== */

.mp-opinion-footer{
    text-align:center;
    padding:0 0 40px;
}

.mp-opinion-footer .mp-category-grid__button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:14px 30px;
    background:#7f1d1d;
    color:#ffffff;
    text-decoration:none;
    border-radius:999px;
    font-weight:700;
    transition:.3s;
}

.mp-opinion-footer .mp-category-grid__button:hover{
    background:#991b1b;
    transform:translateY(-2px);
}


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

.mp-opinion a{
    transition:.25s ease;
}

.mp-opinion a:focus-visible{
    outline:2px solid #7f1d1d;
    outline-offset:3px;
    border-radius:6px;
}

/* ==========================================================================
   IMAGES
========================================================================== */

.mp-opinion img{
    display:block;
    max-width:100%;
    height:auto;
}

.mp-opinion-card__image{
    background:#f5f5f4;
}

.mp-opinion-card__image img{
    filter:grayscale(8%);
}

.mp-opinion-card:hover img{
    filter:grayscale(0%);
}

/* ==========================================================================
   PERFORMANCE
========================================================================== */

.mp-opinion-featured,
.mp-opinion-columnist,
.mp-opinion-card,
.mp-opinion-topics__item{
    will-change:transform;
}

/* ==========================================================================
   TABLET
========================================================================== */

@media (max-width:1200px){

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

    .mp-opinion-columnists{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

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

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

}

/* ==========================================================================
   MOBILE
========================================================================== */

@media (max-width:768px){

    .mp-opinion{
        margin:50px 0;
        border-radius:12px;
    }

    .mp-opinion__header{
        flex-direction:column;
        align-items:flex-start;
        gap:12px;
        padding:18px;
    }

    .mp-opinion__title{
        font-size:1.45rem;
    }

    .mp-opinion-layout{
        padding:20px;
        gap:20px;
    }

    .mp-opinion-featured{
        padding:22px;
    }

    .mp-opinion-featured h3{
        font-size:1.55rem;
    }

    .mp-opinion-featured__meta{
        flex-direction:column;
        gap:8px;
    }

    .mp-opinion-columnists{
        grid-template-columns:1fr;
    }

    .mp-opinion-topics{
        grid-template-columns:1fr;
        margin:0 20px 25px;
    }

    .mp-opinion-ad{
        margin:0 20px 25px;
    }

    .mp-opinion-grid{
        grid-template-columns:1fr;
        gap:20px;
        padding:0 20px 25px;
    }

}

/* ==========================================================================
   SMALL MOBILE
========================================================================== */

@media (max-width:480px){

    .mp-opinion__title{
        font-size:1.25rem;
    }

    .mp-opinion-featured,
    .mp-opinion-card__content{
        padding:16px;
    }

    .mp-opinion-featured h3{
        font-size:1.35rem;
    }

    .mp-opinion-columnist{
        padding:18px;
    }

    .mp-opinion-columnist__avatar{
        width:56px;
        height:56px;
        font-size:1.2rem;
    }

}

/* ==========================================================================
   PRINT
========================================================================== */

@media print{

    .mp-opinion-ad,
    .mp-ad-placeholder{
        display:none !important;
    }

    .mp-opinion{
        background:#fff;
        border:none;
        box-shadow:none;
    }

    .mp-opinion-featured,
    .mp-opinion-columnist,
    .mp-opinion-card{
        box-shadow:none;
        border:1px solid #ddd;
    }

}

/* ==========================================================================
   END OF OPINION
========================================================================== */

