/* =========================
   BLOG HEADER
========================= */

/* =========================
   GLOBAL
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#0a0a0a;
    color:#fff;
    margin:0;
    overflow-x:hidden;
}
/* =========================
   BLOG LIST PAGE BANNER
========================= */
.blog-list-page .blog-header{

    position:relative;

    min-height:60vh;

    background:
    url("../images/blog/blog-banner.webp")
    center center/cover no-repeat;

    display:flex;
    align-items:center;
    justify-content:center;
}
.blog-header{

    position:relative;

    min-height:70vh;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    url("../images/blog/blog-1.webp")
    center top / cover no-repeat;

    overflow:hidden;
}

.blog-header-overlay{

    position:absolute;
    inset:0;

    background:
    linear-gradient(
        180deg,
        rgba(0,0,0,.35) 0%,
        rgba(0,0,0,.45) 50%,
        rgba(0,0,0,.60) 100%
    );
}

.blog-header-content{

    position:relative;
    z-index:2;

    max-width:900px;

    text-align:center;

    padding:120px 25px 80px;
}

.blog-category{

    display:inline-block;

    color:#d9b38c;

    letter-spacing:3px;

    text-transform:uppercase;

    font-size:13px;
}

.blog-header h1{

    color:#fff;

    font-size:64px;

    line-height:1.15;

    margin:20px 0;

    font-family:'Playfair Display', serif;
}

.blog-header p{

    color:#d6d6d6;

    font-size:20px;

    line-height:1.9;

    max-width:800px;

    margin:0 auto;
}

.blog-meta{

    margin-top:30px;

    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;

    color:#bdbdbd;

    font-size:14px;
}


/* =========================
   BLOG INTRO SECTION
========================= */

.blog-intro-section{
    padding:80px 0 30px;
    background:#0a0a0a;
}

.blog-container{
    max-width:900px;
    margin:auto;
    padding:0 25px;
}

.blog-intro{
    font-size:24px;
    line-height:1.8;
    color:#fff;

    margin-bottom:25px;

    font-family:'Playfair Display', serif;
}

.blog-container p{
    color:#cfcfcf;
    font-size:18px;
    line-height:2;
    margin-bottom:22px;
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .blog-intro-section{
        padding:60px 0 20px;
    }

    .blog-container{
        padding:0 20px;
    }

    .blog-intro{
        font-size:20px;
        line-height:1.7;
    }

    .blog-container p{
        font-size:16px;
        line-height:1.9;
    }

}

/* =========================
   BLOG INTRO SECTION
========================= */

.blog-intro-section{
    padding:90px 0;
    background:#0a0a0a;
}

.blog-container{
    max-width:950px;
    margin:auto;
    padding:0 25px;
}

.blog-intro-box{

    padding:50px;

    border-radius:24px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.02)
    );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    position:relative;
    overflow:hidden;
}

.blog-intro-box::before{

    content:'';

    position:absolute;

    top:-60px;
    right:-60px;

    width:180px;
    height:180px;

    background:
    rgba(122,31,61,.12);

    filter:blur(60px);
}

.blog-intro-box .section-tag{

    display:inline-block;

    color:#d9b38c;

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;
}

.blog-intro-box h2{

    color:#fff;

    font-size:42px;

    line-height:1.3;

    margin-bottom:25px;

    font-family:'Playfair Display', serif;
}

.blog-intro{

    color:#fff;

    font-size:24px;

    line-height:1.8;

    margin-bottom:25px;

    font-family:'Playfair Display', serif;
}

.blog-intro-box p{

    color:#cfcfcf;

    font-size:18px;

    line-height:2;

    margin-bottom:22px;
}

.blog-intro-box p:last-child{
    margin-bottom:0;
}
.blog-intro-box a{

    color:#d9b38c;

    text-decoration:none;

    border-bottom:
    1px solid rgba(217,179,140,.35);

    transition:.3s ease;
}

.blog-intro-box a:hover{

    color:#fff;

    border-color:#fff;
}
/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .blog-intro-section{
        padding:70px 0;
    }

    .blog-container{
        padding:0 20px;
    }

    .blog-intro-box{

        padding:30px 22px;

        border-radius:18px;
    }

    .blog-intro-box h2{

        font-size:28px;

        margin-bottom:18px;
    }

    .blog-intro{

        font-size:20px;

        line-height:1.7;
    }

    .blog-intro-box p{

        font-size:16px;

        line-height:1.9;
    }
}

/* =========================
   TABLE OF CONTENTS
========================= */

.toc-section{
    padding:30px 0 90px;
    background:#0a0a0a;
}

.toc-container{
    max-width:950px;
    margin:auto;
    padding:0 25px;
}

.toc-container h2{
    color:#fff;
    font-size:36px;
    margin:15px 0 30px;
    font-family:'Playfair Display', serif;
}

.toc-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:15px;
}

.toc-card{
    padding:18px 20px;

    text-decoration:none;
    color:#fff;

    border-radius:16px;

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.04),
        rgba(255,255,255,.02)
    );

    border:1px solid rgba(255,255,255,.08);

    transition:.3s;
}

.toc-card:hover{
    color:#d9b38c;

    transform:translateY(-3px);

    border-color:
    rgba(183,110,121,.35);
}

/* MOBILE */

@media(max-width:991px){

    .toc-section{
        padding:20px 0 70px;
    }

    .toc-container{
        padding:0 20px;
    }

    .toc-container h2{
        font-size:28px;
    }

    .toc-grid{
        grid-template-columns:repeat(2,1fr);
        gap:12px;
    }

    .toc-card{
        padding:15px;
        font-size:14px;
    }
}

/* =========================
   BLOG CONTENT SECTION
========================= */

.blog-content-section{
    padding:90px 0;
    background:#0a0a0a;
}

.blog-container{
    max-width:900px;
    margin:auto;
    padding:0 25px;
}

.blog-content-section .section-tag{

    display:inline-block;

    color:#d9b38c;

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;
}

.blog-content-section h2{

    color:#fff;

    font-size:42px;

    line-height:1.3;

    margin:15px 0 30px;

    font-family:'Playfair Display', serif;
}

.blog-content-section p{

    color:#cfcfcf;

    font-size:18px;

    line-height:2;

    margin-bottom:22px;
}

.blog-content-section p:last-child{
    margin-bottom:0;
}

/* Internal Links */

.blog-content-section a{

    color:#d9b38c;

    text-decoration:none;

    border-bottom:
    1px solid rgba(217,179,140,.35);

    transition:.3s ease;
}

.blog-content-section a:hover{

    color:#fff;

    border-color:#fff;
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .blog-content-section{
        padding:70px 0;
    }

    .blog-container{
        padding:0 20px;
    }

    .blog-content-section h2{

        font-size:30px;

        line-height:1.4;

        margin-bottom:20px;
    }

    .blog-content-section p{

        font-size:16px;

        line-height:1.9;

        margin-bottom:18px;
    }

}

/* =========================
   FEATURED BLOG
========================= */

.featured-blog{

    max-width:1300px;
    margin:auto;

    padding:90px 25px;

    display:grid;
    grid-template-columns:50% 50%;

    gap:60px;

    align-items:center;
}

.featured-blog-image{

    overflow:hidden;

    border-radius:24px;

    border:
    1px solid rgba(255,255,255,.08);
}

.featured-blog-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:.5s ease;
}

.featured-blog:hover .featured-blog-image img{

    transform:scale(1.05);
}

.featured-blog-content .section-tag{

    display:inline-block;

    color:#d9b38c;

    font-size:13px;

    letter-spacing:3px;

    text-transform:uppercase;

    margin-bottom:15px;
}

.featured-blog-content h2{

    color:#fff;

    font-size:48px;

    line-height:1.2;

    margin-bottom:25px;

    font-family:'Playfair Display', serif;
}

.featured-blog-content p{

    color:#cfcfcf;

    font-size:18px;

    line-height:2;

    margin-bottom:30px;
}

.featured-blog-content .about-btn{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:190px;
    height:55px;

    border-radius:50px;

    text-decoration:none;

    color:#fff;

    background:
    linear-gradient(
        135deg,
        #7A1F3D,
        #B76E79
    );

    transition:.3s;
}

.featured-blog-content .about-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 0 25px rgba(122,31,61,.35);
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .featured-blog{

        grid-template-columns:1fr;

        gap:30px;

        padding:70px 20px;
    }

    .featured-blog-content h2{

        font-size:32px;
    }

    .featured-blog-content p{

        font-size:16px;

        line-height:1.9;
    }

    .featured-blog-content .about-btn{

        width:170px;
        height:50px;
    }

}

/* =========================
   LATEST ARTICLES
========================= */

.latest-articles{

    padding:40px 25px 100px;

    max-width:1300px;
    margin:auto;
}

.section-heading{

    text-align:center;

    margin-bottom:50px;
}

.section-heading .section-tag{

    display:inline-block;

    color:#d9b38c;

    letter-spacing:3px;

    font-size:13px;

    text-transform:uppercase;

    margin-bottom:15px;
}

.section-heading h2{

    color:#fff;

    font-size:48px;

    font-family:'Playfair Display', serif;
}

.articles-grid{

    display:grid;

    grid-template-columns:
    repeat(3,1fr);

    gap:30px;
}

.article-card{

    background:
    linear-gradient(
        180deg,
        rgba(255,255,255,.03),
        rgba(255,255,255,.01)
    );

    border:
    1px solid rgba(255,255,255,.08);

    border-radius:24px;

    overflow:hidden;

    transition:.35s ease;
}

.article-card:hover{

    transform:translateY(-6px);

    border-color:
    rgba(183,110,121,.30);

    box-shadow:
    0 20px 40px rgba(0,0,0,.25);
}

.article-image{

    display:block;
}

.article-image img{

    width:100%;

    height:260px;

    object-fit:cover;
}

.article-content{

    padding:25px;
}

.article-date{

    color:#d9b38c;

    font-size:13px;

    letter-spacing:1px;
}

.article-content h3{

    margin:15px 0;

    line-height:1.4;
}

.article-content h3 a{

    color:#fff;

    text-decoration:none;

    font-size:28px;

    font-family:'Playfair Display', serif;
}

.article-content p{

    color:#bdbdbd;

    font-size:16px;

    line-height:1.8;

    margin-bottom:20px;
}

.read-more{

    color:#d9b38c;

    text-decoration:none;

    font-weight:600;

    transition:.3s;
}

.read-more:hover{

    color:#fff;
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .latest-articles{

        padding:20px 20px 80px;
    }

    .section-heading h2{

        font-size:32px;
    }

    .articles-grid{

        grid-template-columns:1fr;

        gap:25px;
    }

    .article-image img{

        height:220px;
    }

    .article-content h3 a{

        font-size:24px;
    }

}

/* =========================
   BLOG CTA
========================= */

.blog-cta-section{

    padding:0 25px 100px;
}

.blog-cta-box{

    max-width:1100px;
    margin:auto;

    padding:70px 50px;

    text-align:center;

    border-radius:30px;

    background:
    linear-gradient(
        135deg,
        rgba(122,31,61,.45),
        rgba(183,110,121,.15)
    );

    border:
    1px solid rgba(183,110,121,.25);

    position:relative;
    overflow:hidden;
}

.blog-cta-box::before{

    content:'';

    position:absolute;

    top:-120px;
    right:-120px;

    width:300px;
    height:300px;

    background:
    radial-gradient(
        circle,
        rgba(255,255,255,.08),
        transparent 70%
    );

    pointer-events:none;
}

.blog-cta-box h2{

    color:#fff;

    font-size:52px;

    line-height:1.2;

    margin:15px 0 25px;

    font-family:'Playfair Display', serif;
}

.blog-cta-box p{

    max-width:700px;

    margin:auto;

    color:#d6d6d6;

    font-size:18px;

    line-height:1.9;
}

.blog-cta-buttons{

    display:flex;

    justify-content:center;

    gap:15px;

    margin-top:35px;
}

.cta-primary-btn,
.cta-secondary-btn{

    width:190px;
    height:55px;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50px;

    text-decoration:none;

    transition:.3s ease;
}

.cta-primary-btn{

    background:
    linear-gradient(
        135deg,
        #7A1F3D,
        #B76E79
    );

    color:#fff;
}

.cta-secondary-btn{

    color:#fff;

    border:
    1px solid rgba(255,255,255,.15);

    background:
    rgba(255,255,255,.05);
}

.cta-primary-btn:hover,
.cta-secondary-btn:hover{

    transform:translateY(-3px);

    box-shadow:
    0 0 25px rgba(122,31,61,.35);
}

/* =========================
   MOBILE
========================= */

@media(max-width:991px){

    .blog-cta-section{

        padding:0 20px 80px;
    }

    .blog-cta-box{

        padding:45px 25px;
    }

    .blog-cta-box h2{

        font-size:32px;
    }

    .blog-cta-box p{

        font-size:16px;
    }

    .blog-cta-buttons{

        flex-direction:column;

        align-items:center;
    }

    .cta-primary-btn,
    .cta-secondary-btn{

        width:100%;
        max-width:260px;
    }

}