/* =========================
   RESET
========================= */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* =========================
   BODY
========================= */

body {
    font-family: Arial, sans-serif;
}

/* =========================
   GLOBAL CONTAINER
========================= */

:root {
    --site-width: 1400px;
}

.site-container {
    width:var(--site-width);
    margin: 0 auto;
}

.content-area {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-top: 20px;
}

.hero-area {
    flex: 1;
}

.sidebar-area {
    width: 380px;
    flex-shrink: 0;
}


/* =========================
   TOPBAR
========================= */

.topbar {

    background: #071c3b;
    color: white;
    font-size: 14px;
    height: 50px;
}

.topbar .site-container {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.topbar-left {
    display: flex;
    align-items: center;
}

.topbar-right {
    display: flex;
    align-items: center;
}

.topbar-item {
    display: flex;
    align-items: center;
    margin-top: 5px;
    gap: 10px;
}

.topbar-item i {
    font-size: 14px;
    opacity: 0.7;
    margin-top: -1px;
}

.clock-icon {

    display: flex;
    align-items: center;
    font-size: 18px;
    margin-top: -10px;
}

.separator {

    margin: 0 12px;
    opacity: 0.5;
}


/* =========================
   TABLET RESPONSIVE
========================= */

@media (max-width: 1024px) {

    .topbar-wrapper {

        flex-direction: column;

        align-items: center;

        gap: 10px;
    }

    .topbar-left,
    .topbar-right {

        justify-content: center;

        text-align: center;
    }

}

/* =========================
   MOBILE RESPONSIVE
========================= */

@media (max-width: 768px) {

    .topbar {

        font-size: 12px;

        padding: 10px 0;
    }

    .topbar-left {

        flex-wrap: wrap;

        justify-content: center;

        text-align: center;
    }

    .separator {

        margin: 0 8px;
    }

}

/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 480px) {

    .topbar {

        font-size: 11px;

        padding: 8px 0;
    }

    .container {

        width: 94%;
    }

}

/* =========================
   NAVBAR
========================= */

.navbar {
    background: white;
    border-bottom: 1px solid #e5e7eb;
    position: sticky;
    top: 0;
    z-index: 999;
    transition: 0.3s ease;
}

/* SHADOW WHEN SCROLL */

.navbar.scrolled {

    box-shadow:
    0 4px 12px rgba(0,0,0,0.08);
}

.navbar .site-container {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
}

.navbar-logo {
    display: flex;
    align-items: center;
    gap: 14px;
}

.navbar-logo img {
    width: 60px;
    height: auto;
}


/* =========================
   Navbar LOGO TEXT
========================= */

.logo-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.logo-text h1 {
    font-size: 20px;
    font-weight: 700;
    color: #071c3b;
    line-height: 1.1;
    margin-bottom: 4px;
}

.logo-text span {
    font-size: 14px;
    color: #6b7280;
    line-height: 1.2;
}

.navbar-menu {
    display: flex;
    align-items: center;
    gap: 28px;
}

.navbar-menu a {
    text-decoration: none;
    color: #071c3b;
    font-size: 18px;
    font-weight: 600;
    transition: 0.3s;
}

.navbar-menu a:hover {

    color: #15803d;
}


/* =========================
   HAMBURGER
========================= */

.hamburger {

    display: none;

    font-size: 24px;

    cursor: pointer;

    color: #071c3b;
}

/* =========================
   TABLET & MOBILE
========================= */

@media (max-width: 992px) {

    .hamburger {

        display: block;
    }

    .navbar-menu {

        position: absolute;

        top: 100%;

        left: 0;

        width: 100%;

        background: white;

        flex-direction: column;

        align-items: flex-start;

        padding: 20px;

        gap: 18px;

        border-bottom: 1px solid #e5e7eb;

        display: none;
    }

    .navbar-menu.active {

        display: flex;
    }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 768px) {

    .navbar-logo img {

        width: 50px;
    }

    .logo-text h1 {

        font-size: 17px;
    }

    .logo-text span {

        font-size: 12px;
    }

}


/* =========================
   LOGIN BUTTON
========================= */

.login-button {

    background: #15803d;

    color: white !important;

    padding: 10px 18px;

    border-radius: 8px;

    transition: 0.3s;
}

.login-button:hover {

    background: #166534;
}


/* =========================
   HERO
========================= */

.hero-image{
    height:450px;
    object-fit:cover;
}

.hero-title{
    font-size:2rem;
    font-weight:700;
    line-height:1.3;
}

@media(max-width:768px){

    .hero-image{
        height:250px;
    }

    .hero-title{
        font-size:1.5rem;
    }

}


/* ==========================
   SIDEBAR
========================== */

.sidebar{
    height: 100%;
}

.sidebar-card{
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:10px;
    padding:20px;
    margin-bottom:20px;
}

.sidebar-card h3{
    font-size:20px;
    font-weight:700;
    border-bottom:2px solid #15803d;
    padding-bottom:10px;
    margin-bottom:15px;
    border-left:4px solid #15803d;
    padding-left:12px;
}

.sidebar-list{
    list-style:none;
    padding:0;
    margin:0;
}

.sidebar-list li{
    margin-bottom:10px;
}

.sidebar-list li:last-child{
    margin-bottom:0;
}

.sidebar-list a{
    text-decoration:none;
    color:#374151;
    transition:0.3s;
}

.sidebar-list a:hover{
    color:#15803d;
}


/* ==========================
   ARTICLE CARD
========================== */

.article-card{

    display:flex;

    gap:20px;

    background:#fff;

    border:1px solid #e5e7eb;

    border-radius:10px;

    overflow:hidden;

    margin-bottom:25px;

    transition:0.3s;
}

.article-card:hover{

    box-shadow:0 4px 15px rgba(0,0,0,0.08);
}

.article-image{

    width:280px;

    flex-shrink:0;
}

.article-image img{

    width:100%;

    height:100%;

    object-fit:cover;
}

.article-content{

    padding:20px;
}

.article-category{

    display:inline-block;

    background:#15803d;

    color:#fff;

    padding:4px 10px;

    border-radius:5px;

    font-size:12px;

    margin-bottom:10px;
}

.article-title{

    margin-bottom:10px;
}

.article-title a{

    text-decoration:none;

    color:#071c3b;
}

.article-title a:hover{

    color:#15803d;
}

.article-date{

    color:#6b7280;

    font-size:13px;

    margin-bottom:10px;
}

.article-excerpt{

    margin-bottom:15px;

    color:#4b5563;
}

.read-more{

    text-decoration:none;

    color:#15803d;

    font-weight:600;
}

.read-more:hover{

    text-decoration:underline;
}

@media(max-width:768px){

    .article-card{

        flex-direction:column;
    }

    .article-image{

        width:100%;

        height:220px;
    }

}

/* ==========================
   NEWS LIST
========================== */

.news-list{

    display:flex;

    flex-direction:column;

    gap:20px;
}

.news-item{

    display:flex;

    gap:20px;

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    border:1px solid #e5e7eb;

    padding:15px;
    transition: .3s ease;
}

.news-item:hover{
    transform:translateY(-3px);
    box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.news-thumb{

    width:220px;

    flex-shrink:0;
}

.news-thumb img{

    width:100%;

    height:140px;

    object-fit:cover;

    border-radius:8px;
}

.news-info{
    flex:1;
}

.news-info h3{
    color:#071c3b;
    margin:10px 0;
    margin-bottom:10px;
    font-size:20px;
}

.news-info h3 a{
    text-decoration:none;
    color:#071c3b;
}

.news-info h3 a:hover{
    color:#15803d;
}

.news-info p{
    color:#4b5563;
    line-height:1.8;
    margin-bottom:15px;
}

.news-date{
    color:#6b7280;
    font-size:13px;
    margin-bottom:12px;
}

.read-more{
    color:#15803d;
    font-weight:600;
    text-decoration:none;
}

.news-category{
    display:inline-block;
    background:#15803d;
    color:white;
    padding:4px 10px;
    border-radius:6px;
    font-size:12px;
    margin-bottom:12px;
}


/* =========================
   LAYOUT
========================= */

@media(max-width:768px){
    .news-item{
        flex-direction:column;
    }
    .news-thumb{
        width:100%;
    }
    .news-thumb img{
        height:220px;
    }
}

/* HERO CARD */

.hero-card{
    position:relative;
    overflow:hidden;
    border-radius:15px;
    height:420px;
    margin-bottom: 15px;
}

.hero-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
    linear-gradient(
        90deg,
        rgba(7,28,59,.85) 0%,
        rgba(7,28,59,.55) 40%,
        rgba(7,28,59,.15) 100%
    );
}

.hero-content{
    position:absolute;
    left:50px;
    bottom:50px;
    max-width:450px;
    z-index:2;
    color:white;
}

.hero-category{
    display:inline-block;
    background:#4f46e5;
    color:white;
    padding:6px 14px;
    border-radius:6px;
    font-size:12px;
    margin-bottom:25px;
}

.hero-title{
    font-size:32px;
    font-weight:700;
    line-height:1.15;
    margin-bottom:15px;
    color:white;
}

.hero-excerpt{
    line-height:1.8;
    margin-bottom:20px;
}

.hero-button{
    display:inline-block;
    background:orange;
    color:#071c3b;
    padding:8px 18px;
    border-radius:8px;
    text-decoration:none;
    font-size:12px;
    font-weight:600;
}

.hero-button:hover{
    background:#d97706;
}

/* ==========================
   HERO MOBILE
========================== */

@media (max-width:768px){

    .hero-card{
        height:280px;
        border-radius:12px;
    }

    .hero-content{
        left:20px;
        right:20px;
        bottom:20px;
        max-width:none;
    }

    .hero-category{
        font-size:11px;
        padding:4px 10px;
        margin-bottom:10px;
    }

    .hero-title{
        font-size:22px;
        line-height:1.25;
        margin-bottom:10px;
    }

    .hero-excerpt{
        display:none;
    }

    .hero-button{
        font-size:13px;
        padding:7px 14px;
    }
}

/* ==========================
   FOOTER
========================== */

.footer{

    background:#071c3b;

    /*color:white;*/

    margin-top:30px;
}

.footer-grid{

    display:grid;

    grid-template-columns:
        2fr
        1fr
        1fr
        1fr;

    gap:40px;

    padding:30px 0;
}

.footer-logo{

    width:70px;

    margin-bottom:15px;
}

.footer-column h3{
    font-size: 15px;
    margin-bottom:10px;
    color:#fbbf24;
    
}

.footer-column h4{

    font-size: 16px;
    margin-bottom:15px;
    color:#fbbf24;
}

.footer-column p{

    line-height:1.8;
    font-size: 12px;
    opacity:.9;
    color: white;
}

.footer-column ul{
    font-size: 12px;
    list-style:none;
    padding:0;
}

.footer-column li{
    margin-bottom:10px;
}

.footer-column a{
    color:white;
    text-decoration:none;
    opacity:.9;
    transition:.3s;
}

.footer-column a:hover{
    color:#fbbf24;
}

.footer-bottom{

    border-top: 1px solid rgba(255,255,255,.2);
    text-align:center;
    padding:20px 0;
    font-size:16px;
    opacity:.8;
    /*background:#0f5f2c; */
    /*background:#111827;*/
    /*background:#1f2937;*/
    /*background:#041225;*/
    /*color:#fff;*/
    /*background:#111827;*/
    /*background:#5a1e1e; /*Merah Gelap*/
    background:#4a1010; /*Burgundy 1*/
    /*background:#521515; /*Burgundy 2*/
    /*background:#651818; /*Red Wine*/
    /*background:#071c3b; /*Biru gelap 1*/
    /*background:#5b1b1b; /*Biru gelap 2*/    
}

/* MOBILE */

@media(max-width:768px){

    .footer-grid{
        grid-template-columns:1fr;
        gap:30px;
        padding:40px 0;
    }
}

.footer-about{
    max-width:320px;
}

.footer-brand{
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin-bottom:15px;
    color:#fbbf24;
}

.footer-brand img{
    width:55px;
    height:auto;
}

.footer-brand h3{
    font-size:15px;
    color:#fbbf24 !important;
    font-weight:700;
    margin-bottom:4px;
    /*color:#fbbf24;*/
    /*color:#071c3b;*/
}

.footer-brand p{
    font-size:12px;
    line-height:1.4;
    color:#4b5563;
}

.footer-description{
    font-size:12px;
    line-height:1.7;
    color:#374151;
    margin-bottom:20px;
}

.footer-social{
    display:flex;
    gap:22px;
}

.footer-social a{
    color:#071c3b;
    font-size:16px;
    transition:.3s;
}

.footer-social a:hover{
    /*color:#4f46e5;*/
    color:#fbbf24;
    transform: translateY(-2px);
}

/* KOLOM 1 */

.footer-about h3{
    color:#fff;
}

.footer-about p{
    color:#fff;
}

.footer-about a{
    color:#fff;
}

.footer-about i{
    color:#fff;
}


/* NEWS SECTION */

.news-section{
    margin-top:50px;
}

.section-title{
    font-size:32px;
    font-weight:700;
    color:#071c3b;
    margin-bottom:25px;
}


/* ==========================
   DAKWAH BANNER
========================== */

.dakwah-section{
    margin-top:0px;
    margin-bottom:30px;
}

.dakwah-card{

    background-image:
        url('../images/dakwah-masjid20.jpg');

    background-size: cover;

    background-position: center;

    background-repeat: no-repeat;

    height: 240px;

    border-radius: 16px;

    padding: 20px 30px;

    position: relative;

    display: grid;

    grid-template-columns: 
        58%
        42%;

    align-items: center;

    gap: 60px;

}

.dakwah-left{
    flex:1;
    padding-left: 350px;
    text-align:left;
}

.dakwah-right{

    flex:1;

    text-align:center;

    font-size:42px;

    line-height:1.8;

    color:#15803d;

    font-family:'Traditional Arabic', serif;
    
    border-left: 1px solid #ddd;

    padding-left: 25px;

    padding-right: 50px;
    
}

.dakwah-badge{

    display:inline-block;

    background:#15803d;

    color:white;

    padding:5px 12px;

    border-radius:6px;

    font-size:12px;

    margin-top:0px;

    margin-bottom:15px;
    
    position: relative;
    top: -5px;
}


.dakwah-left h3{

    color:#071c3b;

    margin-bottom:12px;

    font-size:24px;
}

.dakwah-left p{

    color:#4b5563;

    line-height:1.4;

    margin-bottom:10px;
}

.dakwah-image img{

    width:100%;

    height:200px;

    object-fit:cover;

    border-radius:12px;
}

.dakwah-button{

    font-size:12px;
    
    display:inline-block;

    margin-top:10px;

    background:#15803d;

    color:white;

    padding:6px 14px;

    border-radius:8px;

    text-decoration:none;
    position: relative;
    bottom: 8px;
}

.dakwah-hero {
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
    margin-bottom: 30px;
}

.dakwah-hero img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    display: block;
}

.arabic-text{

    direction: rtl;
    
    max-width: 100%;
    
    overflow-wrap: break-word;
    
    font-size:26px;

    line-height:1.5;

    color:#15803d;

    text-align:center;

    margin-bottom:15px;
}

.translation{

    font-size:16px;

    line-height:1.7;

    color:#4b5563;

    text-align:center;
}

@media(max-width:768px){

    .dakwah-card{

        flex-direction:column;

        text-align:center;
    }

    .dakwah-right{

        text-align:center;

        font-size:26px;
    }

}

