/* =========================================================
   MFSA Recent Posts v3.16.14
   ========================================================= */

.mfsa-recent-posts {
    padding: var(--rp-cont-p, 20px);
    max-width: 100%;
}

.mfsa-rp-list {
    display: flex;
    flex-direction: column;
    gap: var(--rp-gap, 20px);
}

/* --- Card Base --- */
.mfsa-rp-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background-color: var(--rp-bg-odd, #ffffff);
    transition: transform 0.2s, box-shadow 0.2s;
    
    border-radius: var(--rp-card-radius, 8px);
    box-shadow: var(--rp-card-shadow, none);
    
    /* Standard Border Base */
    border: var(--rp-std-b-width) var(--rp-std-b-style) var(--rp-std-b-color);
}

/* --- ACCENT LINE LOGIC --- */
.mfsa-accent-loc-left .mfsa-rp-card { border-left: var(--rp-accent-w) solid var(--rp-accent); }
.mfsa-accent-loc-top .mfsa-rp-card { border-top: var(--rp-accent-w) solid var(--rp-accent); }
.mfsa-accent-loc-right .mfsa-rp-card { border-right: var(--rp-accent-w) solid var(--rp-accent); }
.mfsa-accent-loc-bottom .mfsa-rp-card { border-bottom: var(--rp-accent-w) solid var(--rp-accent); }
.mfsa-accent-loc-all .mfsa-rp-card { border: var(--rp-accent-w) solid var(--rp-accent); }

.mfsa-rp-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 15px -3px rgba(0,0,0,0.08);
}

/* --- Layout: Thumbnails --- */
@media (min-width: 650px) {
    .mfsa-view-list .mfsa-rp-card {
        flex-direction: row;
        align-items: stretch;
    }
    .mfsa-view-list .mfsa-rp-thumb {
        flex: 0 0 25%;
        width: 25%;
        position: relative;
        min-height: 100%;
    }
}

.mfsa-rp-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16/9;
}

/* --- Content --- */
.mfsa-rp-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 20px; 
}

/* --- Pills (Linked) --- */
.mfsa-rp-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 12px; 
    align-items: center; 
}

/* Identical logic to the Media Center badges */
a.mfsa-rp-pill {
    display: inline-block !important; 
    padding: 4px 8px !important;      
    line-height: 1.2 !important;      
    font-size: 11px;                  
    font-weight: 700;                 
    border-radius: 4px !important;    
    text-transform: uppercase;
    color: #fff !important; 
    background-color: var(--pill-col, var(--rp-accent));
    text-decoration: none !important; 
    text-align: center;
    box-sizing: border-box;
    margin: 0 !important;
    height: auto !important;          
    transition: opacity 0.2s ease;
}

a.mfsa-rp-pill:hover {
    opacity: 0.85;
    color: #fff !important;
}

/* Specific Square Box styling for S, F, R */
a.mfsa-rp-pill.mfsa-rp-pill-box {
    width: 24px !important;           
    padding: 4px 0 !important; /* Identical top/bottom padding to ensure identical height */
}

/* --- Typography --- */

/* Date */
.mfsa-rp-meta {
    font-size: 0.75rem;
    color: #64748b;
    margin-bottom: 8px; 
}
.mfsa-rp-meta a {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}
.mfsa-rp-meta a:hover {
    text-decoration: underline;
    color: var(--rp-accent);
}

/* Title */
.mfsa-recent-posts h3.mfsa-rp-title {
    margin: 0 0 10px 0 !important;
    line-height: 1.35 !important;
    font-family: inherit;
    font-size: 14px; 
    font-weight: 700;
}
.mfsa-recent-posts h3.mfsa-rp-title a {
    color: var(--rp-text-main, #0f172a) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}
.mfsa-recent-posts h3.mfsa-rp-title a:hover {
    color: var(--rp-accent) !important;
}

.mfsa-rp-excerpt {
    font-size: 0.90rem;
    line-height: 1.5;
    margin-bottom: 20px;
    opacity: 0.9;
    color: var(--rp-text-main, #0f172a);
}

/* --- Action Area (Inner Buttons) --- */
.mfsa-rp-action {
    margin-top: auto;
    display: flex;
    justify-content: var(--rp-btn-align, flex-start);
}

.mfsa-rp-readmore {
    display: inline-flex;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.9rem;
    position: relative;
    border: none !important;
    transition: all 0.3s ease;
}

/* Inner Button: Box */
.mfsa-btn-type-button .mfsa-rp-readmore {
    background-color: var(--rp-accent, #00685e); 
    color: var(--rp-btn-txt, #ffffff) !important;
    padding: 8px 16px;
    border-radius: 6px;
}
.mfsa-btn-type-button .mfsa-rp-readmore:hover {
    filter: brightness(110%);
    transform: translateY(-1px);
}

/* Inner Button: Link */
.mfsa-btn-type-link .mfsa-rp-readmore {
    color: var(--rp-accent) !important;
    background: transparent;
    padding: 0;
}
.mfsa-btn-type-link .mfsa-rp-readmore:hover {
    text-decoration: underline !important;
}

/* --- GLOBAL BUTTON (Bottom) --- */
.mfsa-rp-global-action {
    display: flex;
    justify-content: flex-end; 
    margin-top: 30px;
    padding-top: 10px;
}

.mfsa-global-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--rp-primary, #00685e);
    color: #ffffff !important;
    font-weight: 700;
    font-size: 1rem;
    padding: 12px 30px;
    border-radius: 6px;
    
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    
    transition: background-color 0.2s ease, transform 0.2s;
}

.mfsa-global-btn:hover {
    filter: brightness(110%);
    transform: translateY(-2px);
    color: #ffffff !important;
    text-decoration: none !important;
}

/* --- Grid / Cards Layout --- */
.mfsa-view-cards .mfsa-rp-list {
    display: grid;
    /*grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));*/
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: var(--rp-gap, 10px);
}
.mfsa-view-cards .mfsa-rp-card {
    flex-direction: column !important;
    height: 100%;
}
.mfsa-view-cards .mfsa-rp-thumb {
    width: 100% !important;
    flex: 0 0 auto;
    height: 200px;
}
.mfsa-view-cards .mfsa-rp-thumb img {
    position: relative; 
}

/* --- SPECIAL INLINE BUTTON CARD --- */
.mfsa-rp-card.is-button-card {
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    align-items: center;
    justify-content: center;
    min-height: 200px; 
    display: flex;
}

/* Mobile */
@media (max-width: 768px) {
    .mfsa-recent-posts[data-carousel="true"] {
        padding-left: 15px !important; 
        padding-right: 15px !important;
    }
    .mfsa-view-cards[data-carousel="true"] .mfsa-rp-list {
        grid-template-columns: 1fr;
    }
    .mfsa-rp-global-action {
        justify-content: center;
    }
    .mfsa-rp-card.is-button-card {
        min-height: auto;
        padding: 20px 0;
        align-items: var(--rp-inline-mobile-align, center) !important;
    }
}