/* ─── BLOG SECTION ─── */
.blog-section {
    padding: 2.8rem 0 5rem;
    background: #FDF6F0;
}
.blog-section .posts-label {
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #9a9a9a;
    margin-bottom: 1.8rem;
    display: flex;
    align-items: center;
    gap: 12px;
}
.blog-section .posts-label::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #E8D5C8;
}
.blog-section .card {
    background: #ffffff;
    border: 1px solid #E8D5C8;
    border-radius: 0 !important;
    padding: 1.8rem 2rem;
    margin-bottom: .9rem;
    cursor: pointer;
    transition: transform .22s, box-shadow .22s;
    position: relative;
}
.blog-section .card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 28px rgba(107,32,16,0.10);
}
.blog-section .card::before {
    content: '';
    position: absolute;
    left: 0; top: 0; bottom: 0;
    width: 3px;
    background: #E8D5C8;
    transition: background .22s;
}
.blog-section .card:hover::before { background: #8B3A0F; }
.blog-section .card-top {
    display: flex;
    align-items: center;
    gap: .9rem;
    margin-bottom: .75rem;
}
.blog-section .card-date { font-size: 11px; letter-spacing: .05em; color: #9a9a9a; }
.blog-section .card-cat {
    font-size: 9px;
    letter-spacing: .15em;
    text-transform: uppercase;
    border: 1px solid #E8D5C8;
    padding: 2px 8px;
    color: #8B3A0F;
}
.blog-section .card h2 {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #2C1A10;
    margin-bottom: .55rem;
}
.blog-section .card p {
    font-size: 16px;
    line-height: 33px;
    color: #000000;
    margin-bottom: 1.1rem;
}
.blog-section .card-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: .9rem;
    border-top: 1px solid #FDF6F0;
}
.blog-section .read {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 10px;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #8B3A0F;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    transition: gap .2s;
}
.blog-section .read:hover { gap: 11px; }
.blog-section .byline { font-size: 11px; color: #9a9a9a; }
 
/* ─── PAGINATION ─── */
.blog-section .pages {
    display: flex;
    gap: 5px;
    margin-top: 2rem;
    padding-top: 1.8rem;
    border-top: 1px solid #E8D5C8;
}
.blog-section .pg {
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #E8D5C8;
    background: #ffffff;
    font-size: 12px;
    cursor: pointer;
    color: #5a5a5a;
    transition: all .2s;
}
.blog-section .pg:hover { border-color: #8B3A0F; color: #8B3A0F; }
.blog-section .pg.on { background: #6B2010; color: #fff; border-color: #6B2010; }
 
/* ─── SIDEBAR ─── */
.blog-section .sb-block { margin-bottom: 2.4rem; }
.blog-section .sb-title {
    font-size: 9px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: #9a9a9a;
    padding-bottom: .65rem;
    border-bottom: 1px solid #E8D5C8;
    margin-bottom: 1rem;
}
.blog-section .sb-recent-item {
    padding: 9px 0;
    border-bottom: 1px solid #FDF6F0;
    cursor: pointer;
    display: flex;
    gap: 10px;
    transition: opacity .2s;
}
.blog-section .sb-recent-item:hover { opacity: .65; }
.blog-section .sb-recent-item:last-child { border: none; }
.blog-section .sbi-n { font-size: 1rem; color: #E8D5C8; flex-shrink: 0; line-height: 1.1; }
.blog-section .sbi-t { font-size: 11.5px; line-height: 1.5; color: #2C1A10; }
.blog-section .sbi-d { font-size: 10px; color: #9a9a9a; margin-top: 2px; }
 
/* ─── SIDEBAR CONTACT BLOCK ─── */
.blog-section .contact {
    background: #3b1a10;
    padding: 1.5rem;
    overflow: hidden;
    position: relative;
}
.blog-section .contact::after {
    content: '';
    position: absolute;
    top: -20px; right: -20px;
    width: 70px; height: 70px;
    border: 1px solid rgba(193,98,42,0.20);
    border-radius: 50%;
}
.blog-section .ct { font-size: 1.1rem; color: #fff; margin-bottom: .35rem; }
.blog-section .cs { font-size: 11px; color: rgba(255,255,255,.38); margin-bottom: 1.2rem; line-height: 1.6; }
.blog-section .cr { display: flex; gap: 8px; margin-bottom: .6rem; }
.blog-section .ci { color: #C1622A; font-size: 11px; flex-shrink: 0; margin-top: 1px; }
.blog-section .cv { font-size: 11.5px; color: rgba(255,255,255,.6); line-height: 1.6; }
.blog-section .cbtn {
    display: block;
    width: 100%;
    margin-top: 1.3rem;
    background: #8B3A0F;
    border: none;
    cursor: pointer;
    padding: 9px;
    font-size: 9px;
    letter-spacing: .2em;
    text-transform: uppercase;
    font-weight: 500;
    color: #FDF6F0;
    transition: background .2s;
}
.blog-section .cbtn:hover { background: #6B2010; }
 
/* ─── SIDEBAR CONNECT LINKS ─── */
.blog-section .connect-link {
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #5a5a5a;
    text-decoration: none;
    border: 1px solid #E8D5C8;
    padding: 5px 12px;
    transition: all .2s;
    display: inline-block;
}
.blog-section .connect-link:hover { border-color: #8B3A0F; color: #8B3A0F; }
 
/* ─── MODAL OVERLAY ─── */
.overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    background: rgba(42,15,5,0.82);
    overflow-y: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 2.5rem 1rem;
    opacity: 0;
    pointer-events: none;
    transition: opacity .28s;
}
.overlay.show { opacity: 1; pointer-events: all; }
.modal {
    background: #FDF6F0;
    max-width: 720px;
    width: 100%;
    margin: auto;
    transform: translateY(24px);
    transition: transform .28s;
    border-radius: 0 !important;
    position: relative;
    display: block;
}
.overlay.show .modal { transform: translateY(0); }
.mhead { background: #3b1a10; padding: 2.2rem 2.5rem; position: relative; }
.mclose {
    position: absolute;
    top: 1.1rem; right: 1.1rem;
    background: rgba(255,255,255,.08);
    border: none;
    cursor: pointer;
    color: rgba(255,255,255,.55);
    width: 32px; height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background .2s;
}
.mclose:hover { background: rgba(255,255,255,.18); color: #fff; }
.mcat {
    font-size: 9px;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: #C1622A;
    margin-bottom: .85rem;
    display: flex;
    align-items: center;
    gap: 8px;
}
.mcat::before { content: ''; width: 14px; height: 1px; background: #C1622A; }
.mtitle {
    font-size: clamp(1.1rem, 2.2vw, 1.6rem);
    font-weight: 600;
    color: #fff;
    line-height: 1.3;
    margin-bottom: .9rem;
}
.mmeta {
    font-size: 10px;
    letter-spacing: .07em;
    text-transform: uppercase;
    color: rgba(255,255,255,.30);
    display: flex;
    gap: 1.2rem;
}
.mbody { padding: 2rem 2.5rem; }
.mbody p { font-size: 16px; line-height: 33px; color: #000000; margin-bottom: 1rem; }
.mbody strong { color: #2C1A10; }
.mref {
    margin-top: 1.6rem;
    padding: .9rem 1.2rem;
    background: #F5EDE4;
    border-left: 2.5px solid #8B3A0F;
    font-size: 12px;
    color: #4A3020;
}
.mref a { color: #8B3A0F; }
.mfoot {
    padding: 1.1rem 2.5rem 1.8rem;
    border-top: 1px solid #E8D5C8;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.mfoot span { font-size: 11px; color: #9a9a9a; }
.mback {
    background: none;
    border: 1px solid #E8D5C8;
    cursor: pointer;
    padding: 6px 16px;
    font-size: 9px;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #5a5a5a;
    transition: all .2s;
}
.mback:hover { border-color: #8B3A0F; color: #8B3A0F; }
 
/* ─── CARD ANIMATIONS ─── */
@keyframes rise {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
.card { animation: rise .4s both; }
.card:nth-child(2)  { animation-delay: .06s; }
.card:nth-child(3)  { animation-delay: .12s; }
.card:nth-child(4)  { animation-delay: .18s; }
.card:nth-child(5)  { animation-delay: .24s; }
.card:nth-child(6)  { animation-delay: .30s; }
.card:nth-child(7)  { animation-delay: .36s; }
.card:nth-child(8)  { animation-delay: .42s; }
.card:nth-child(9)  { animation-delay: .48s; }
.card:nth-child(10) { animation-delay: .54s; }
 
/* ─── SIDEBAR STICKY ─── */
.sidebar-sticky { position: sticky; top: 70px; }
 
/* ─── MOBILE ─── */
@media (max-width: 767px) {
    .blog-section { padding: 2rem 0 3rem; }
    .card { padding: 1.2rem 1rem; }
    .mbody { padding: 1.2rem 1rem; }
    .mhead { padding: 1.5rem 1rem; }
    .mfoot { padding: .8rem 1rem 1.2rem; flex-direction: column; gap: 10px; align-items: flex-start; }
}