.blog-hero,
.blog-detail-header {
    padding: 4.5rem 0;
    background: radial-gradient(circle at 82% 10%, rgba(170, 245, 0, .17), transparent 32%), linear-gradient(135deg, #061f1f, #114f3a);
    color: #fff;
}

.blog-hero .store-breadcrumb,
.blog-detail-header .store-breadcrumb {
    margin-bottom: 2rem;
    color: #c7d8d3;
}

.blog-hero .store-breadcrumb a,
.blog-detail-header .store-breadcrumb a { color: #e8f4f0; }

.blog-kicker {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1rem;
    color: #aaf500;
    text-transform: uppercase;
    letter-spacing: .11em;
    font-size: .78rem;
    font-weight: 800;
}

.blog-hero h1,
.blog-detail-header h1 {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 5vw, 4.8rem);
    line-height: 1.05;
    letter-spacing: -.042em;
    font-weight: 800;
}

.blog-hero p {
    max-width: 760px;
    margin: 1.2rem 0 0;
    color: #d9e8e3;
    font-size: 1.08rem;
    line-height: 1.75;
}

.blog-section { padding: 4.5rem 0 6rem; background: #f4f8f2; }
.blog-section-head { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.blog-section-head span { display: block; color: #5d7e15; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; }
.blog-section-head h2 { margin: .35rem 0 0; color: #092f2b; font-size: 2rem; font-weight: 800; }
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }

.blog-card {
    overflow: hidden;
    border: 1px solid #dce7df;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 16px 45px rgba(5, 40, 34, .07);
    transition: transform .25s ease, box-shadow .25s ease;
}

.blog-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(5, 40, 34, .12); }
.blog-card-image { display: block; overflow: hidden; aspect-ratio: 16 / 9; background: #e8f2e1; }
.blog-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.blog-card:hover .blog-card-image img { transform: scale(1.035); }
.blog-card-image > span { display: grid; height: 100%; place-items: center; color: #5c8b11; font-size: 3rem; }
.blog-card-body { display: flex; min-height: 330px; flex-direction: column; padding: 1.5rem; }
.blog-card-meta { color: #647873; font-size: .82rem; font-weight: 700; }
.blog-card-meta time { display: flex; align-items: center; gap: .35rem; }
.blog-card h2 { margin: .85rem 0 .75rem; font-size: 1.3rem; line-height: 1.3; font-weight: 800; }
.blog-card h2 a { color: #082f2b; text-decoration: none; }
.blog-card p { display: -webkit-box; overflow: hidden; margin: 0 0 1rem; color: #49615c; line-height: 1.7; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.blog-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.blog-tags a { padding: .32rem .65rem; border-radius: 999px; background: #eef7df; color: #456a0b; font-size: .75rem; font-weight: 750; text-decoration: none; }
.blog-read-more { display: inline-flex; align-items: center; gap: .45rem; margin-top: auto; color: #0a5749; font-weight: 800; text-decoration: none; }
.blog-pagination { display: flex; justify-content: center; gap: .55rem; margin-top: 3rem; }
.blog-pagination a { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid #d6e4d8; border-radius: 12px; background: #fff; color: #164b41; font-weight: 800; text-decoration: none; }
.blog-pagination a.active { border-color: #94d600; background: #aaf500; color: #092b27; }
.blog-pagination a.disabled { pointer-events: none; opacity: .4; }
.blog-empty { padding: 5rem 1rem; border: 1px dashed #cbdccf; border-radius: 24px; background: #fff; text-align: center; }
.blog-empty i { font-size: 3rem; color: #80b51d; }
.blog-empty h2 { margin: 1rem 0 .4rem; color: #103d35; }

.blog-detail { padding-bottom: 6rem; background: linear-gradient(180deg, #f1f7ef 0, #fbfcfa 42%, #f7faf6 100%); }
.blog-detail-header { padding-top: 3.75rem; padding-bottom: 9.5rem; }
.blog-detail-narrow { max-width: 1060px; }
.blog-detail-header h1 { max-width: 960px; color: #fff !important; font-size: clamp(2.5rem, 5vw, 4.7rem); text-wrap: balance; }

.blog-detail-meta { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 1.5rem; color: #e1efea; font-weight: 700; }
.blog-detail-meta span,
.blog-detail-meta time { display: flex; align-items: center; gap: .4rem; }

.blog-detail-cover {
    position: relative;
    z-index: 2;
    margin: -6.5rem 0 2rem;
    overflow: hidden;
    border: 8px solid #fff;
    border-radius: 30px;
    background: #e9f2e6;
    box-shadow: 0 26px 75px rgba(5, 40, 34, .2);
}

.blog-detail-cover img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }

.blog-article-panel {
    padding: clamp(1.35rem, 4vw, 4rem) clamp(1.2rem, 6vw, 5.5rem) clamp(1.5rem, 4vw, 3rem);
    border: 1px solid #dce7df;
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 60px rgba(7, 48, 39, .08);
}

.blog-content { color: #243f39; font-size: 1.105rem; line-height: 1.9; overflow-wrap: anywhere; }
.blog-content > :first-child { margin-top: 0; }
.blog-content > :last-child { margin-bottom: 0; }
.blog-content h1,
.blog-content h2,
.blog-content h3,
.blog-content h4,
.blog-content h5,
.blog-content h6 { margin: 2.4rem 0 .85rem; color: #082f2b; line-height: 1.25; letter-spacing: -.02em; font-weight: 800; }
.blog-content h1 { font-size: clamp(2rem, 4vw, 2.65rem); }
.blog-content h2 { padding-bottom: .6rem; border-bottom: 1px solid #dce8df; font-size: clamp(1.65rem, 3vw, 2.15rem); }
.blog-content h3 { font-size: clamp(1.4rem, 2.5vw, 1.7rem); }
.blog-content h4 { font-size: 1.3rem; }
.blog-content h5 { font-size: 1.15rem; }
.blog-content h6 { color: #31584f; font-size: 1rem; text-transform: uppercase; letter-spacing: .04em; }
.blog-content p { margin: 0 0 1.35rem; }
.blog-content ul,
.blog-content ol { margin: 0 0 1.5rem; padding-left: 1.55rem; }
.blog-content li { margin: .48rem 0; padding-left: .25rem; }
.blog-content li::marker { color: #6e9f12; font-weight: 800; }
.blog-content strong { color: #123e35; font-weight: 800; }
.blog-content img { display: block; max-width: 100%; height: auto; margin: 2rem auto; border-radius: 20px; box-shadow: 0 14px 40px rgba(5, 40, 34, .12); }
.blog-content a { color: #397700; font-weight: 750; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.blog-content blockquote { margin: 2rem 0; padding: 1.25rem 1.5rem; border-left: 5px solid #aaf500; border-radius: 0 14px 14px 0; background: #edf7e3; color: #173e35; font-weight: 650; }
.blog-content table { display: block; width: 100%; margin: 1.75rem 0; overflow-x: auto; border-collapse: collapse; }
.blog-content th,
.blog-content td { min-width: 140px; padding: .85rem; border: 1px solid #d7e4da; text-align: left; }
.blog-content th { background: #edf5ea; color: #123e35; }

.blog-content-tags { display: grid; gap: .8rem; margin-top: 2.75rem; padding-top: 1.5rem; border-top: 1px solid #dce8df; }
.blog-content-tags > strong { color: #173f36; font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.blog-content-tags .blog-tags a { padding: .42rem .75rem; font-size: .8rem; }

.blog-detail-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding: 1.6rem 1.75rem; border-radius: 22px; background: linear-gradient(135deg, #082f2b, #0b5143); color: #fff; }
.blog-detail-footer div { display: grid; gap: .2rem; }
.blog-detail-footer span { color: #c9dcd6; font-size: .86rem; }
.blog-detail-footer strong { font-size: 1.05rem; }
.blog-detail-footer a { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .8rem 1.05rem; border-radius: 12px; background: #aaf500; color: #092b27; font-weight: 800; text-decoration: none; white-space: nowrap; }
.blog-back { display: inline-flex; align-items: center; gap: .4rem; margin-top: 2rem; color: #0a5749; font-weight: 800; text-decoration: none; }

@media (max-width: 991.98px) {
    .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .blog-detail-narrow { max-width: 900px; }
}

@media (max-width: 767.98px) {
    .blog-hero,
    .blog-detail-header { padding: 2.8rem 0; }
    .blog-detail-header { padding-bottom: 6rem; }
    .blog-detail-header .store-breadcrumb { margin-bottom: 1.4rem; overflow: hidden; white-space: nowrap; }
    .blog-detail-header .store-breadcrumb span { overflow: hidden; text-overflow: ellipsis; }
    .blog-detail-header h1 { font-size: clamp(2.15rem, 10vw, 3.1rem); }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-section { padding: 3rem 0 5rem; }
    .blog-section-head { align-items: start; }
    .blog-card-body { min-height: 0; }
    .blog-detail-cover { margin-top: -3.8rem; margin-bottom: 1.25rem; border-width: 5px; border-radius: 20px; }
    .blog-article-panel { border-radius: 22px; }
    .blog-content { font-size: 1.02rem; line-height: 1.8; }
    .blog-content h2 { font-size: 1.55rem; }
    .blog-content h3 { font-size: 1.3rem; }
    .blog-detail-footer { align-items: stretch; flex-direction: column; padding: 1.3rem; }
    .blog-pagination { flex-wrap: wrap; }
}

@media (max-width: 420px) {
    .blog-detail-meta { display: grid; gap: .65rem; }
    .blog-article-panel { margin-inline: -.1rem; padding-inline: 1rem; }
    .blog-content ul,
    .blog-content ol { padding-left: 1.25rem; }
}
