#blog {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
#blog > .container {
    max-width: 1420px;
    width: 100%;
}

/* Link gambar */
.blog-img-link {
    display: block;
    overflow: hidden;
    border-radius: 0.5rem;
}
.blog-img-link img {
    transition: transform 0.3s ease;
}
.blog-img-link:hover img {
    transform: scale(1.05);
}

/* Tombol See More (outline only, no arrow move) */
.btn.btn-outline-dark.rounded-4.align-self-end {
    border: 1px solid #262626;
    border-radius: 16px;
    padding: 8px 16px;
    width: 169px;
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
}
#blog .btn-outline-dark,
#expertise .btn-outline-dark {
    font-size: 21px;
    font-weight: 500;
    padding: 8px 18px;
    border-radius: 12px;
    border: 1px solid #262626;
    color: #27272a;
    background: transparent;
    transition: color 0.2s ease, border-color 0.2s ease,
        background-color 0.2s ease;
    display: flex;
    align-items: center;
    gap: 8px;
}
#blog .btn-outline-dark img {
    transition: filter 0.3s ease;
}
#blog .btn-outline-dark:hover,
#expertise .btn-outline-dark:hover {
    color: #0f766e;
    border-color: #0f766e;
    background: transparent;
}
#blog .btn-outline-dark:hover img {
    filter: brightness(0) saturate(100%) invert(43%) sepia(99%) saturate(253%)
        hue-rotate(125deg) brightness(92%) contrast(91%);
}

/* Typo kecil */
#blog small {
    font-size: 16px;
}

/* ========== Large container guard ========== */
@media (max-width: 1420px) {
    #blog {
        padding: 0 8px;
    }
}

/* ========== Desktop fine-tune (≥1200 & ≤1440) — desktop tetap sama ========== */
@media (max-width: 1440px) and (min-width: 1200px) {
    #blog {
        max-width: 90rem;
        width: 100%;
        height: auto;
        margin: 0 auto;
        box-sizing: border-box;
    }
    #blog > .container {
        padding: 0 20px;
        margin: 0 auto;
    }
    .blog-img-link img {
        max-width: 100%;
        height: 20rem;
        object-fit: cover;
    }
    #blog h5 {
        font-size: 26px;
    }
    #blog h2 {
        font-size: 3rem;
    }
}

/* ========== Mobile & Tablet (<992px): SAMA seperti mobile ========== */
@media (max-width: 991.98px) {
    /* Header */
    #blog > .container {
        max-width: 100%;
        padding: 0 12px;
    }
    #blog h2 {
        font-size: 28px;
        line-height: 130%;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 700;
    }
    /* Card typography */
    #blog .card-body h5 {
        font-size: 18px;
        line-height: 1.35;
        font-weight: 600;
    }
    #blog small {
        font-size: 14px;
    }

    /* Tombol */
    #blog .btn-outline-dark {
        font-size: 16px;
        padding: 8px 16px;
        width: auto;
        height: auto;
    }

    /* Gambar slider */
    #blogCarousel .card img {
        width: 100%;
        height: auto;
        max-height: 300px;
        object-fit: cover;
    }

    /* Indicators center & spacing */
    #blog .carousel-indicators {
        position: relative !important;
        display: flex !important;
        justify-content: center !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        margin-top: 10px;
        gap: 5px;
    }
    #blog .carousel-indicators button {
        width: 13px;
        height: 13px;
        border-radius: 50%;
        background-color: #cbd5e1;
        opacity: 1;
        border: none;
        transition: background 0.3s ease;
    }
    #blog .carousel-indicators .active {
        background-color: #262626;
    }
}

/* ========== extra small (≤576px): sedikit mengecilkan lagi ========== */
@media (max-width: 576px) {
    #blog {
        padding: 38px 12px !important;
        box-sizing: border-box;
    }
    #blog h2 {
        font-size: 24px !important;
    }
    #blog .card-body h5 {
        font-size: 16px;
    }
    #blog small {
        font-size: 13px;
    }
    #blogCarousel .card img {
        max-height: 260px;
    }
    .carousel-inner {
        height: 350px;
    }
}
