/* ============================================
   BLOG — homepage section, listing, single post
   ============================================ */

.mm-blog-section-head {
    display:         flex;
    justify-content: space-between;
    align-items:     flex-end;
    gap:             16px;
    flex-wrap:       wrap;
    margin-bottom:   32px;
}

.mm-blog-viewall {
    display:       inline-flex;
    align-items:   center;
    gap:           8px;
    font-family:   var(--mm-font-main);
    font-weight:   600;
    font-size:     14px;
    color:         var(--mm-primary);
    border:        1.5px solid var(--mm-primary);
    border-radius: var(--mm-radius-sm);
    padding:       9px 20px;
    transition:    all .2s ease;
}
.mm-blog-viewall:hover { background: var(--mm-primary); color: #fff; }
.mm-blog-viewall i { transition: transform .2s ease; }
.mm-blog-viewall:hover i { transform: translateX(3px); }

/* Cover image wrapper (keeps ratio, falls back to brand tint) */
.mm-blog-cover {
    position:      relative;
    display:       block;
    overflow:      hidden;
    border-radius: var(--mm-radius);
    background:    var(--mm-primary-light);
    aspect-ratio:  16 / 9;
}
.mm-blog-cover img {
    width:      100%;
    height:     100%;
    object-fit: cover;
    transition: transform .5s ease;
}
.mm-blog-cover-empty {
    display:         flex;
    align-items:     center;
    justify-content: center;
    width:           100%;
    height:          100%;
    color:           var(--mm-primary);
    font-size:       32px;
    opacity:         .5;
}

.mm-blog-cat {
    display:        inline-block;
    font-family:    var(--mm-font-main);
    font-size:      11px;
    font-weight:    700;
    letter-spacing: .8px;
    text-transform: uppercase;
    color:          var(--mm-primary-dark);
    background:     var(--mm-primary-light);
    padding:        3px 10px;
    border-radius:  20px;
}
.mm-blog-cover .mm-blog-cat {
    position:   absolute;
    top:        14px;
    left:       14px;
    background: #fff;
}

.mm-blog-meta {
    display:     flex;
    align-items: center;
    gap:         14px;
    flex-wrap:   wrap;
    font-size:   13px;
    color:       var(--mm-gray);
}
.mm-blog-meta i { color: var(--mm-secondary); margin-right: 4px; }

.mm-blog-title a { color: var(--mm-dark); transition: color .2s ease; }
.mm-blog-title a:hover { color: var(--mm-primary); }

.mm-blog-readmore {
    font-family: var(--mm-font-main);
    font-weight: 600;
    font-size:   14px;
    color:       var(--mm-primary);
}
.mm-blog-readmore:hover { color: var(--mm-primary-dark); }

/* ---- Homepage: featured card ---- */
.mm-blog-featured {
    height:        100%;
    background:    #fff;
    border:        1px solid var(--mm-border);
    border-radius: var(--mm-radius-lg);
    padding:       14px;
    transition:    box-shadow .25s ease, transform .25s ease;
}
.mm-blog-featured:hover { box-shadow: 0 14px 34px rgba(42, 21, 8, .08); transform: translateY(-3px); }
.mm-blog-featured:hover .mm-blog-cover img { transform: scale(1.04); }
.mm-blog-featured-body { padding: 18px 8px 6px; }
.mm-blog-featured .mm-blog-title {
    font-size:   clamp(20px, 2.2vw, 26px);
    font-weight: 800;
    line-height: 1.3;
    margin:      10px 0;
}
.mm-blog-featured .mm-blog-excerpt { color: var(--mm-gray); line-height: 1.75; margin-bottom: 14px; }

/* ---- Homepage: side list ---- */
.mm-blog-side {
    display:        flex;
    flex-direction: column;
    gap:            14px;
    height:         100%;
}
.mm-blog-side-item {
    display:       flex;
    gap:           16px;
    align-items:   center;
    flex:          1;
    background:    #fff;
    border:        1px solid var(--mm-border);
    border-radius: var(--mm-radius);
    padding:       12px;
    transition:    border-color .2s ease, box-shadow .2s ease;
}
.mm-blog-side-item:hover { border-color: #F0C36B; box-shadow: 0 8px 22px rgba(42, 21, 8, .06); }
.mm-blog-side-item:hover .mm-blog-cover img { transform: scale(1.06); }
.mm-blog-side-item .mm-blog-cover {
    flex:          0 0 128px;
    aspect-ratio:  4 / 3;
    border-radius: var(--mm-radius-sm);
}
.mm-blog-side-item .mm-blog-cover-empty { font-size: 22px; }
.mm-blog-side-item .mm-blog-title {
    font-size:   15px;
    font-weight: 700;
    line-height: 1.4;
    margin:      6px 0;
}
.mm-blog-side-item .mm-blog-meta { font-size: 12px; gap: 10px; }

/* ---- Listing page ---- */
.mm-blog-filter {
    display:         flex;
    flex-wrap:       wrap;
    justify-content: center;
    gap:             10px;
    margin-bottom:   36px;
}
.mm-blog-filter a {
    font-family:   var(--mm-font-main);
    font-size:     14px;
    font-weight:   600;
    color:         var(--mm-dark-3);
    background:    #fff;
    border:        1px solid var(--mm-border);
    border-radius: 30px;
    padding:       8px 18px;
    transition:    all .2s ease;
}
.mm-blog-filter a:hover { border-color: var(--mm-primary); color: var(--mm-primary); }
.mm-blog-filter a.active { background: var(--mm-primary); border-color: var(--mm-primary); color: #fff; }
.mm-blog-filter a span { font-weight: 500; opacity: .7; margin-left: 4px; }

.mm-blog-card {
    display:        flex;
    flex-direction: column;
    height:         100%;
    background:     #fff;
    border:         1px solid var(--mm-border);
    border-radius:  var(--mm-radius-lg);
    padding:        12px;
    transition:     box-shadow .25s ease, transform .25s ease;
}
.mm-blog-card:hover { box-shadow: 0 14px 34px rgba(42, 21, 8, .08); transform: translateY(-3px); }
.mm-blog-card:hover .mm-blog-cover img { transform: scale(1.04); }
.mm-blog-card-body { display: flex; flex-direction: column; flex: 1; padding: 16px 6px 6px; }
.mm-blog-card .mm-blog-title { font-size: 18px; font-weight: 700; line-height: 1.4; margin: 0 0 8px; }
.mm-blog-card .mm-blog-excerpt { color: var(--mm-gray); font-size: 14px; line-height: 1.7; margin-bottom: 14px; }
.mm-blog-card .mm-blog-readmore { margin-top: auto; }

.mm-blog-empty {
    text-align:    center;
    padding:       60px 20px;
    background:    #fff;
    border:        1px dashed var(--mm-border);
    border-radius: var(--mm-radius-lg);
    color:         var(--mm-gray);
}

/* ---- Single post ---- */
.mm-post-hero { padding: 48px 0 28px; }
.mm-post-hero h1 {
    font-size:      clamp(26px, 3.6vw, 40px);
    font-weight:    800;
    color:          var(--mm-dark);
    line-height:    1.25;
    letter-spacing: -.5px;
    margin:         14px 0 16px;
}
.mm-post-back { font-size: 14px; color: var(--mm-gray); }
.mm-post-back:hover { color: var(--mm-primary); }
.mm-post-cover { aspect-ratio: 16 / 9; border-radius: var(--mm-radius-lg); margin-bottom: 36px; }

.mm-post-content { font-size: 17px; line-height: 1.85; color: var(--mm-dark-2); }
.mm-post-content p { margin-bottom: 1.25em; }
.mm-post-content h2 {
    font-size:   clamp(21px, 2.4vw, 26px);
    font-weight: 800;
    color:       var(--mm-dark);
    margin:      1.8em 0 .6em;
}
.mm-post-content h3 { font-size: 20px; font-weight: 700; color: var(--mm-dark); margin: 1.5em 0 .5em; }
.mm-post-content ul,
.mm-post-content ol { padding-left: 1.3em; margin-bottom: 1.25em; }
.mm-post-content li { margin-bottom: .45em; }
.mm-post-content li::marker { color: var(--mm-primary); }
.mm-post-content strong { color: var(--mm-dark); }
.mm-post-content a { color: var(--mm-primary); text-decoration: underline; text-underline-offset: 3px; }
.mm-post-content blockquote {
    margin:        1.6em 0;
    padding:       18px 22px;
    background:    var(--mm-bg);
    border-left:   4px solid var(--mm-primary);
    border-radius: 0;
    font-size:     18px;
    font-style:    italic;
    color:         var(--mm-dark-3);
}

.mm-post-share { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mm-post-share a {
    display:         inline-flex;
    align-items:     center;
    justify-content: center;
    width:           38px;
    height:          38px;
    border-radius:   50%;
    border:          1px solid var(--mm-border);
    color:           var(--mm-dark-3);
    transition:      all .2s ease;
}
.mm-post-share a:hover { background: var(--mm-primary); border-color: var(--mm-primary); color: #fff; }

.mm-post-sidebar { position: sticky; top: 96px; }
.mm-post-cta {
    background:    var(--mm-dark);
    color:         #FDEEE0;
    border-radius: var(--mm-radius-lg);
    padding:       26px;
    margin-bottom: 24px;
}
.mm-post-cta h5 { color: #fff; font-weight: 800; margin-bottom: 8px; }
.mm-post-cta p { font-size: 14px; line-height: 1.7; color: rgba(253, 238, 224, .8); margin-bottom: 18px; }

.mm-post-recent {
    background:    #fff;
    border:        1px solid var(--mm-border);
    border-radius: var(--mm-radius-lg);
    padding:       22px;
}
.mm-post-recent h6 { font-weight: 800; color: var(--mm-dark); margin-bottom: 14px; }
.mm-post-recent-item { display: flex; gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid var(--mm-border); }
.mm-post-recent-item:first-of-type { border-top: 0; padding-top: 0; }
.mm-post-recent-item .mm-blog-cover { flex: 0 0 72px; aspect-ratio: 1 / 1; border-radius: var(--mm-radius-sm); }
.mm-post-recent-item .mm-blog-cover-empty { font-size: 18px; }
.mm-post-recent-item a.mm-post-recent-title { font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--mm-dark); }
.mm-post-recent-item a.mm-post-recent-title:hover { color: var(--mm-primary); }

@media (max-width: 991.98px) {
    .mm-post-sidebar { position: static; margin-top: 40px; }
}

@media (max-width: 575.98px) {
    .mm-blog-section-head { align-items: flex-start; }
    .mm-blog-side-item .mm-blog-cover { flex-basis: 100px; }
    .mm-blog-side-item .mm-blog-title { font-size: 14px; }
    .mm-post-content { font-size: 16px; }
}
