/* RESET */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial, Helvetica, sans-serif;
}

a{
    text-decoration:none;
}

/* CONTAINER */
.container{
    width:95%;
    max-width:1400px;
    margin:auto;
}

/* HEADER */
.header{
    position: sticky;
    top: 0;
    z-index: 999;

    background: #EFF6FF;

    border-bottom: 1px solid #DCEBFF;

    box-shadow: 0 8px 20px rgba(37,99,235,.08);

    transition: all .3s ease;
}
.header .container{
    display:flex;
    align-items:center;
    justify-content:space-between;

    height:80px;
}

.header-btn{
    display:flex;
    align-items:center;
    gap:8px;
    margin-left:auto;
    margin-right:8px;
}

/* LOGO */
.logo{
    width:20%;
    display:flex;
    align-items:center;
}

.logo img{
    width:145px;
    height:auto;
    display:block;
    transition:.3s ease;
}

.logo img:hover{
    transform:scale(1.05);
}

/* MENU */
.navbar{
    width:60%;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:32px;
}

.navbar a{
    position:relative;
    color:#1E293B;
    font-size:16px;
    font-weight:600;
    padding:6px 0;
    transition:all .3s ease;
}

.navbar a:hover,
.navbar a.active{
    color:#2563EB;
}

.navbar a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:3px;
    background:#2563EB;
    border-radius:10px;
    transition:.3s;
}

.navbar a:hover::after,
.navbar a.active::after{
    width:100%;
}
/* BUTTON */
/* =======================
   BUTTON
======================= */

.header-btn{
    display:flex;
    gap:12px;
    margin-left:auto;
}

/* Daftar Pedagang */
.btn-outline{
    border:2px solid #2563EB;
    background:#fff;
    color:#2563EB;
    padding:11px 22px;
    border-radius:14px;
    font-weight:600;
    transition:.3s ease;
}

.btn-outline:hover{
    background:#2563EB;
    border-color:#2563EB;
    color:#fff;
    transform:translateY(-2px);
}

/* Login */
.btn-primary{
    border:2px solid #2563EB;
    background:#fff;
    color:#2563EB;
    padding:11px 22px;
    border-radius:14px;
    font-weight:600;
    transition:.3s ease;
}

.btn-primary:hover{
    background:#2563EB;
    color:#fff;
    border-color:#2563EB;
    transform:translateY(-2px);
}

/* Tombol yang sedang aktif */
.btn-outline.active,
.btn-primary.active{
    background:#2563EB;
    color:#fff;
    border-color:#2563EB;
}

/* HAMBURGER */
.menu-toggle{
    display:none;
    font-size:30px;
    cursor:pointer;
    margin-left:auto;
}

.mobile-only{
    display:none;
}

/* LAPTOP */
@media (max-width:1200px){

    .logo img{
        width:120px;
    }

    .navbar{
        gap:22px;
        margin-left:35px;
    }

    .navbar a{
        font-size:15px;
    }

    .btn-outline,
    .btn-primary{
        padding:8px 14px;
        font-size:14px;
    }

}


/* TABLET */
@media (max-width:992px){

.hero-content{

    margin-top:-40px;

    width:90%;

    padding-left:0;

}

.hero-content h1{

    font-size:52px;

}

.hero-content h2{

    font-size:22px;

}


.hero-content p{
    max-width:580px;
    margin:25px auto 35px;
    font-size:19px;
}

.hero-button{
    justify-content:center;
    gap:15px;
}

.btn-hero-primary,
.btn-hero-outline{
    padding:14px 28px;
    font-size:17px;
}

     .btn-primary{
        display:none;
    }

    .logo img{
        width:105px;
    }

    .navbar{
        gap:15px;
        margin-left:20px;
    }

    .navbar a{
        font-size:14px;
    }

    .btn-outline,
    .btn-primary{
        padding:7px 12px;
        font-size:13px;
    }

}


/* ================= MOBILE ================= */

@media (max-width:768px){

    .header .container{
    height:65px;
    position:relative;

    display:flex;
    align-items:center;
}

 .btn-primary{
        display:none;
    }

    .logo img{
        width:120px;
    }

    /* Tombol di kanan disembunyikan */
.header-btn{
    display:flex;
    align-items:center;

    position:absolute;
    right:35px;

    width:auto;
    min-width:auto;
}

    /* Tombol hamburger */
  .menu-toggle{
    display:block;

    position:absolute;
    right:15px;

    font-size:32px;
    cursor:pointer;
    z-index:1001;
}

    /* Menu khusus HP */
    .mobile-only{
        display:block;
    }

    /* Menu */
    /* Menu Mobile */
.navbar{
    display:none;
    flex-direction:column;
    align-items:flex-start;

    position:absolute;
    top:80px;
    left:0;

    width:100%;

    background:#EFF6FF;

    border-top:1px solid #DCEBFF;
    box-shadow:0 10px 25px rgba(37,99,235,.10);

    padding:25px;
    gap:18px;
}

    /* Saat tombol ☰ diklik */
    .navbar.show{
        display:flex;
    }

.navbar a{
    width:100%;
    padding:10px 0;
}

/* Search HP */
.search-toggle{
    width:36px;
    height:36px;
    font-size:14px;
    margin-right:0;
}

}

/* ================= HERO ================= */

.hero{

    width:100%;
    height:90vh;

    background:url("../images/fd.jpg") center center/cover no-repeat;

    position:relative;
    overflow:hidden;
}

.hero::before{

    content:"";

    position:absolute;
    inset:0;

    background:linear-gradient(
        90deg,
        rgba(8,27,59,.82) 0%,
        rgba(8,27,59,.62) 35%,
        rgba(8,27,59,.25) 60%,
        rgba(8,27,59,0) 100%
    );

    z-index:1;
}

.hero::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:0;

    height:140px;

    background:linear-gradient(
        to top,
        rgba(0,0,0,.18),
        transparent
    );

    pointer-events:none;

    z-index:2;
}

.hero-overlay{

    width:100%;
    height:100%;

    display:flex;
    align-items:center;

    position:relative;

    z-index:3;

    padding:0 8%;
}

.hero-content{

    width:100%;
    max-width:650px;

    color:#fff;

    position:relative;
    z-index:5;

    margin-top:-70px;
}
 
.hero-tag{

    display:inline-flex;
    align-items:center;

    width:max-content;

    padding:10px 22px;

    border-radius:40px;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(10px);

    border:1px solid rgba(255,255,255,.18);

    color:#fff;

    font-size:15px;

    margin-bottom:30px;
}

.hero-content h1{

    font-size:68px;

    line-height:1.05;

    font-weight:800;

    color:#fff;

    margin-bottom:15px;
}

.hero-content h1 span{

    display:block;

    margin-top:6px;

    color:#FFD54F;

    -webkit-text-fill-color:#FFD54F;

    background:none;
}

.hero-content h2{

    font-size:27px;

    line-height:1.45;

    font-weight:600;

    color:#F8FAFC;

    margin-bottom:22px;
}

.hero-content p{

    max-width:620px;

    font-size:18px;

    line-height:1.9;

    color:#EEF4FF;

    margin-bottom:35px;
}
/* ================= MOBILE ================= */

@media (max-width:768px){

.hero{
    height:100vh;
}

.hero-overlay{
    justify-content:center;
    padding:0 22px;
}

.hero-content{

    width:100%;
    max-width:340px;

    margin:0 auto;

    margin-top:0;

    text-align:center;

    align-items:center;
}

.hero-tag{

    font-size:13px;

    padding:8px 18px;

    margin-bottom:20px;
}

.hero-content h1{

    font-size:48px;

    line-height:1.1;
}

.hero-content h1 span{

    display:block;

    margin-top:4px;
}

.hero-content h2{

    font-size:20px;

    line-height:1.45;

    margin:18px 0;
}

.hero-content p{

    font-size:15px;

    line-height:1.8;

    margin-bottom:28px;
}

.hero-button{

    display:flex;

    flex-direction:column;

    gap:14px;

    width:100%;
}

.btn-hero-primary,
.btn-hero-outline{

    width:100%;

    justify-content:center;
}

}


/* ================= TABLET ================= */

@media (min-width:769px) and (max-width:1024px){

.hero{
    height:90vh;
}

.hero-overlay{
    padding:0 50px;
}

.hero-content{

    max-width:560px;

    margin-top:-30px;
}

.hero-content h1{

    font-size:58px;
}

.hero-content h2{

    font-size:23px;
}

.hero-content p{

    font-size:17px;
}

.hero-button{

    gap:16px;
}

}

/* ================= KATEGORI ================= */

.kategori{
    padding:90px 0;
    background:#F8FBFF;
    position:relative;
    overflow:hidden;
}

.kategori::before{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    background:rgba(13,71,161,.05);
    border-radius:50%;
    top:-80px;
    left:-80px;
    filter:blur(20px);
}

.kategori::after{
    content:"";
    position:absolute;
    width:250px;
    height:250px;
    background:rgba(33,150,243,.05);
    border-radius:50%;
    right:-80px;
    bottom:-80px;
    filter:blur(20px);
}

.judul-section{
    text-align:center;
    margin-bottom:55px;
    position:relative;
    z-index:2;
}

.judul-section span{
    display:inline-block;
    padding:8px 22px;
    border-radius:50px;
    background:#EEF5FF;
    color:#0D47A1;
    font-size:14px;
    font-weight:600;
    margin-bottom:18px;
}

.judul-section h2{
    font-size:48px;
    font-weight:800;
    color:#1E293B;
}

.judul-section h2 b{
    color:#2563EB;
}

.judul-section p{
    margin-top:15px;
    font-size:17px;
    color:#64748B;
}

/* ================= KATEGORI ================= */

.kategori{

    position:relative;

    padding:100px 0;

    overflow:hidden;

    background:
        radial-gradient(circle at top left,#DCEBFF 0%,transparent 35%),
        radial-gradient(circle at bottom right,#EAF4FF 0%,transparent 35%),
        linear-gradient(180deg,#F8FBFF 0%,#EEF5FF 55%,#F8FBFF 100%);
}

.kategori-pattern{

    position:absolute;

    inset:0;

    pointer-events:none;

    z-index:1;

    opacity:.28;

    background-image:
        radial-gradient(circle,#C5D4EA 1.5px,transparent 1.5px);

    background-size:30px 30px;

}

/* Blur Background */

.kategori::before{

    content:"";

    position:absolute;

    width:620px;
    height:620px;

    top:-220px;
    left:-220px;

    border-radius:50%;

    background:#3B82F6;

    opacity:.18;

    filter:blur(130px);

    z-index:0;

}

.kategori::after{

    content:"";

    position:absolute;

    width:480px;
    height:480px;

    right:-180px;
    bottom:-180px;

    border-radius:50%;

    background:#60A5FA;

    opacity:.14;

    filter:blur(120px);

    z-index:0;

}
/* Judul */

.judul-section{

    text-align:center;

    margin-bottom:60px;

    position:relative;

    z-index:2;

}

.judul-mini{

    display:inline-block;

    padding:10px 22px;

    background:#EAF2FF;

    color:#2563EB;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

    letter-spacing:1px;

    text-transform:uppercase;

    margin-bottom:20px;

}

.judul-section h2{

    font-size:46px;

    font-weight:800;

    color:#1E293B;

    margin-bottom:15px;

}

.judul-section p{

    font-size:17px;

    color:#64748B;

    max-width:600px;

    margin:auto;

    line-height:1.8;

}

/* Grid */

.kategori-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

    position:relative;

    z-index:2;

}

/* Card */

.kategori-card{

    background:#fff;

    border-radius:26px;

    padding:35px 25px;

    text-decoration:none;

    color:#1E293B;

    text-align:center;

    border:1px solid #EDF2F7;

    box-shadow:0 10px 35px rgba(15,23,42,.05);

    transition:.35s;

    min-height:220px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.kategori-card:hover{

    transform:translateY(-12px) scale(1.02);

    box-shadow:0 22px 50px rgba(13,71,161,.20);

    border-color:#2F6BFF;

    background:#ffffff;

}

/* Icon */

.icon{

    width:85px;

    height:85px;

    border-radius:50%;

    background:#EEF5FF;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:40px;

    margin-bottom:22px;

    transition:.35s;

}

.kategori-card:hover .icon{

    background:#2563EB;

    color:#fff;

      transform:scale(1.12);

    transition:.35s;

}

.kategori-card h3{

    font-size:22px;

    margin-bottom:10px;

    font-weight:700;

}

.kategori-card span{

    font-size:15px;

    color:#64748B;

}

.kategori-card i{

    margin-top:20px;

    font-size:18px;

    color:#2563EB;

    transition:.35s;

}

.kategori-card:hover i{

    transform:translateX(8px);

    transition:.35s;

    color:#2F6BFF;

}

.kategori .container{

    position:relative;

    z-index:2;
}

/* ================= TABLET ================= */

@media (min-width:769px) and (max-width:1024px){

.kategori{

    padding:70px 0;

}

.kategori-grid{

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.kategori-card{

    min-height:220px;

    padding:30px 20px;

}

.icon{

    width:90px;
    height:90px;

    font-size:40px;

}

.kategori-card h3{

    font-size:24px;

}

.kategori-card span{

    font-size:16px;

}

}

/* ================= MOBILE ================= */

@media (max-width:768px){

.kategori{

    padding:55px 0;

}

.judul-section{

    margin-bottom:35px;

}

.judul-mini{

    font-size:12px;

    padding:8px 18px;

}

.judul-section h2{

    font-size:36px;

    line-height:1.2;

}

.judul-section p{

    width:90%;

    margin:auto;

    font-size:15px;

    line-height:1.7;

}

.kategori-grid{

    grid-template-columns:1fr;

    gap:18px;

}

.kategori-card{

    min-height:165px;

    padding:28px 20px;

}

.icon{

    width:75px;
    height:75px;

    font-size:34px;

    margin-bottom:18px;

}

.kategori-card h3{

    font-size:24px;

}

.kategori-card span{

    font-size:15px;

}

.kategori-card i{

    margin-top:16px;

    font-size:18px;

}

}

/* ===================================================
                    INFORMASI HOME
=================================================== */

.informasi-home{

    padding:90px 0;

    position:relative;

    overflow:hidden;

    background:
    radial-gradient(circle at top left,#d7e9ff 0%,transparent 38%),
    radial-gradient(circle at bottom right,#eef6ff 0%,transparent 40%),
    #f8fbff;

}

/* Blur */

.informasi-home::before{

    content:"";

    position:absolute;

    width:420px;
    height:420px;

    left:-150px;
    top:-120px;

    background:#4a8cff;

    opacity:.12;

    filter:blur(120px);

    border-radius:50%;

}

/* Titik */

.informasi-home::after{

    content:"";

    position:absolute;

    inset:0;

    background-image:
    radial-gradient(rgba(13,71,161,.08) 1px,transparent 1px);

    background-size:28px 28px;

    pointer-events:none;

}

.informasi-home .container{

    position:relative;

    z-index:2;

}


/* ===================================================
                    GRID
=================================================== */

.informasi-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}


/* ===================================================
                    CARD
=================================================== */

.informasi-card{

    display:flex;

    flex-direction:column;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 18px 35px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;

}

.informasi-card:hover{

    transform:translateY(-10px);

    box-shadow:0 28px 50px rgba(13,71,161,.18);

}


/* ===================================================
                    FOTO
=================================================== */

.informasi-image{

    position:relative;

    width:100%;

    height:240px;

    overflow:hidden;

}

.informasi-image img{

    width:100%;

    height:100%;

    display:block;

    object-fit:cover;

    transition:.4s;

}

.informasi-card:hover .informasi-image img{

    transform:scale(1.06);

}


/* ===================================================
                    TANGGAL
=================================================== */

.tanggal{

    position:absolute;

    top:18px;

    left:18px;

    z-index:5;

    background:#0d47a1;

    color:#fff;

    padding:8px 16px;

    border-radius:40px;

    font-size:13px;

    font-weight:600;

    box-shadow:0 10px 25px rgba(13,71,161,.28);

}


/* ===================================================
                    BODY
=================================================== */

.informasi-body{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:24px;

}

.informasi-body h3{

    font-size:22px;

    color:#1d2b4d;

    margin-bottom:14px;

    line-height:1.4;

}

.informasi-body p{

    flex:1;

    color:#667085;

    line-height:1.8;

    margin-bottom:25px;

}


/* ===================================================
                    BUTTON
=================================================== */

.btn-baca{

    width:100%;

    border:none;

    background:#0d47a1;

    color:#fff;

    padding:14px;

    border-radius:50px;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.btn-baca:hover{

    background:#08357d;

    transform:translateY(-3px);

}


/* ===================================================
                    RESPONSIVE TABLET
=================================================== */

@media(max-width:992px){

    .informasi-grid{

        grid-template-columns:repeat(2,1fr);

        gap:22px;

    }

    .informasi-image{

        height:220px;

    }

}


/* ===================================================
                    RESPONSIVE MOBILE
=================================================== */

@media(max-width:768px){

    .informasi-home{

        padding:65px 0;

    }

    .informasi-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .informasi-card{

        border-radius:18px;

    }

    .informasi-image{

        height:220px;

    }

    .informasi-body{

        padding:20px;

    }

    .informasi-body h3{

        font-size:20px;

    }

    .informasi-body p{

        font-size:15px;

    }

}

/* ================= FOOTER ================= */

.footer{
    background:#0d47a1;
    color:#fff;
    margin-top:50px;
    padding:20px 0 8px;
}

.footer-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:40px;
}

.footer-about,
.footer-contact{
    flex:1;
}

.footer-about h2{
    font-size:22px;
    margin-bottom:8px;
}

.footer-about p{
    font-size:14px;
    line-height:1.5;
    color:#ddd;
}

.footer-contact h3{
    font-size:17px;
    margin-bottom:8px;
}

.footer-contact p{
    font-size:14px;
    margin-bottom:6px;
    color:#ddd;
}

.footer-contact i{
    width:18px;
    margin-right:6px;
    color:#FFD54F;
}

.footer hr{
    margin:15px 0;
    border:none;
    border-top:1px solid rgba(255,255,255,.2);
}

.footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:34px;
    height:34px;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:15px;
    transition:.3s;
}

.footer-social a:hover{
    background:#fff;
    color:#0d47a1;
}

.footer-bank{
    display:flex;
    align-items:center;
    gap:10px;
}

.footer-bank span{
    font-size:13px;
}

.footer-bank img{
    width:60px;
    background:#fff;
    padding:4px;
    border-radius:5px;
}

.copyright{
    margin-top:12px;
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.15);
    text-align:center;
    font-size:12px;
    color:#ddd;
}

@media(max-width:768px){

    .footer-top{
        flex-direction:column;
        gap:20px;
    }

    .footer-bottom{
        flex-direction:column;
        gap:15px;
    }

    .footer-about h2{
        font-size:20px;
    }

}
/* ===================================================
                    HALAMAN PRODUK
=================================================== */

/* ================= JUDUL ================= */

.page-title{

    text-align:center;

    margin-bottom:45px;

}

.page-title h1{

    font-size:58px;

    font-weight:800;

    color:#1d2943;

    margin-bottom:18px;

    letter-spacing:-1px;

}

.page-title p{

    max-width:720px;

    margin:auto;

    color:#64748b;

    font-size:18px;

    line-height:1.8;

}

.produk-page{
    background:url("../images/bgg.png");
    background-size:cover;
}
.produk-page{
    position: relative;
}

.produk-page::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:120px;

    background:linear-gradient(
        transparent,
        #ffffff
    );

    pointer-events:none;
}
/* ================= FILTER ================= */

.produk-filter{

    display:flex;

    align-items:center;

    gap:20px;

    margin-bottom:45px;

}

.search-box{

    flex:1;

    display:flex;

    align-items:center;

    height:60px;

    background:#fff;

    border-radius:50px;

    border:1px solid #dbe7ff;

    padding:0 22px;

    box-shadow:0 10px 25px rgba(13,71,161,.05);

    transition:.3s;

}

.search-box:hover{

    box-shadow:0 15px 35px rgba(13,71,161,.10);

}

.search-box:focus-within{

    border-color:#0d47a1;

}

.search-icon{

    font-size:22px;

    color:#0d47a1;

}

.search-box input{

    flex:1;

    border:none;

    outline:none;

    margin-left:15px;

    background:none;

    font-size:16px;

}

.produk-filter select{

    width:200px;

    height:60px;

    border-radius:50px;

    border:1px solid #dbe7ff;

    background:#fff;

    padding:0 20px;

    font-size:15px;

    cursor:pointer;

    box-shadow:0 10px 25px rgba(13,71,161,.05);

}
/* ================= GRID ================= */

.produk-grid{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:28px;

}

/* ================= CARD ================= */

.produk-card{

    background:#ffffff;

    border-radius:22px;

    overflow:hidden;

    border:1px solid rgba(13,71,161,.08);

    box-shadow:0 12px 35px rgba(13,71,161,.08);

    transition:.35s ease;

    position:relative;

}

.produk-card:hover{

    transform:translateY(-10px);

    box-shadow:0 22px 55px rgba(13,71,161,.18);

}

.produk-card img{

    width:100%;

    height:230px;

    object-fit:cover;

    display:block;

    transition:.45s ease;

}
.produk-card:hover img{

    transform:scale(1.06);

}

.produk-card:hover img{

    transform:scale(1.06);

}

.produk-body{

    padding:20px;

}

.produk-body h3{

    font-size:21px;

    color:#1d2943;

    font-weight:700;

    line-height:1.4;

    margin-bottom:10px;

}

.produk-body p{

    color:#7b8794;

    font-size:15px;

    margin-bottom:18px;

}

.produk-body h4{

    font-size:26px;

    color:#0d47a1;

    font-weight:800;

    margin-bottom:20px;

}
.btn-detail{

    width:100%;

    height:48px;

    border:none;

    border-radius:50px;

    background:linear-gradient(90deg,#0d47a1,#1976d2);

    color:#fff;

    font-size:15px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.btn-detail:hover{

    transform:translateY(-2px);

    box-shadow:
    0 12px 25px rgba(13,71,161,.30);

}

/* ================= TABLET ================= */

@media(max-width:992px){

.produk-grid{

    grid-template-columns:repeat(3,1fr);

}

}

/* ================= HP ================= */

@media(max-width:768px){

.produk-page{

    padding:35px 0;

}

.page-title{

    text-align:center;

}

.page-title h1{

    font-size:30px;

}

.page-title p{

    font-size:15px;

}

.produk-filter{

    flex-direction:column;

    gap:15px;

}

.search-box{

    width:100%;

}

.produk-filter select{

    width:100%;

}

.produk-grid{

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}

.produk-card img{

    height:130px;

}

.produk-body{

    padding:12px;

}

.produk-body h3{

    font-size:15px;

}

.produk-body p{

    font-size:13px;

    margin-bottom:8px;

}

.produk-body h4{

    font-size:15px;

    margin-bottom:12px;

}

.btn-detail{

    height:38px;

    font-size:13px;

}

}

.empty-produk{

    grid-column:1 / -1;

    min-height:380px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

}

.empty-icon{

    font-size:70px;

    margin-bottom:20px;

}

.empty-produk h3{

    color:#1d2943;

    margin-bottom:10px;

}

.empty-produk p{

    color:#64748b;

}
/* ================= POPUP ================= */

.popup{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.65);
    backdrop-filter:blur(6px);
    justify-content:center;
    align-items:center;
    z-index:9999;
    padding:20px;
}

.popup.show{
    display:flex;
}

.popup-content{

    width:900px;
    max-width:95%;
    max-height:90vh;
    overflow-y:auto;

    background:linear-gradient(
        135deg,
        #ffffff,
        #f8fbff,
        #eef5ff
    );

    border-radius:22px;

    padding:35px;

    position:relative;

    box-shadow:0 25px 60px rgba(0,0,0,.15);

}

.close-produk{

    position:absolute;
    top:18px;
    right:22px;

    font-size:34px;

    cursor:pointer;

    color:#222;

    transition:.3s;

}

.close-produk:hover{

    transform:rotate(90deg);

    color:#0d47a1;

}

/* ================= GRID ================= */
.popup-grid{
    display:grid;
    grid-template-columns:340px 1fr;
    gap:45px;
    align-items:start;
}
/* ================= FOTO ================= */

.popup-left{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.popup-image{
    width:280px;
    height:330px;
    position:relative;
    overflow:hidden;
    border-radius:18px;
    background:transparent;
}

.popup-image img{

    width:100%;

    height:100%;

    object-fit:contain;

}

.foto-count{

    position:absolute;

    bottom:12px;

    right:12px;

    background:rgba(0,0,0,.75);

    color:#fff;

    padding:5px 12px;

    border-radius:30px;

    font-size:12px;

}

.popup-harga{

     margin-top:20px;
    margin-bottom:18px;
    text-align:center;
    font-size:42px;
    font-weight:700;
    color:#0d47a1;

}

.popup-thumb{

    display:flex;

    gap:8px;

    flex-wrap:wrap;

    justify-content:center;

}

.popup-thumb img{

    width:60px;

    height:60px;

    border-radius:12px;

    object-fit:cover;

    cursor:pointer;

    border:2px solid #dbe5f5;

    transition:.3s;

}

.popup-thumb img:hover{

    border-color:#0d47a1;

    transform:scale(1.05);

}
/* ================= KANAN ================= */

.popup-right{

    display:flex;

    flex-direction:column;

    justify-content:flex-start;

    padding-top:8px;

}

.popup-right h2{

    font-size:38px;

    color:#1d2943;

    margin-bottom:25px;

    font-weight:700;

}

.popup-list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.popup-item{

    display:flex;

    align-items:center;

    gap:15px;

    font-size:19px;

    color:#444;

}

.popup-item i{

    width:26px;

    font-size:21px;

    color:#0d47a1;

}

.popup-item span{

    line-height:1.5;

}

/* ================= WA ================= */

.btn-wa{

    margin-top:28px;

    width:260px;

    height:48px;

    border-radius:50px;

    display:flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    background:#25D366;

    color:#fff;

    text-decoration:none;

    font-size:15px;

    font-weight:600;

    transition:.3s;

    box-shadow:0 10px 20px rgba(37,211,102,.25);

}

.btn-wa:hover{

    background:#1faa52;

    transform:translateY(-3px);

    box-shadow:0 14px 28px rgba(37,211,102,.35);

}

.btn-wa i{

    font-size:18px;

}

/* ================= DESKRIPSI ================= */

.popup-deskripsi{

    margin-top:40px;

    background:#ffffff;

    border:1px solid #e8eef7;

    border-radius:18px;

    padding:28px;

}

.popup-deskripsi h4{

    font-size:24px;

    color:#1d2943;

    margin-bottom:15px;

    font-weight:700;

}

.popup-deskripsi p{

    color:#555;

    line-height:1.9;

    text-align:justify;

    font-size:15px;

    min-height:90px;

}
/* ================= SCROLLBAR ================= */

.popup-content::-webkit-scrollbar{

    width:8px;

}

.popup-content::-webkit-scrollbar-thumb{

    background:#cfd8e6;

    border-radius:20px;

}

.popup-content::-webkit-scrollbar-track{

    background:transparent;

}

/* ================= TABLET ================= */

@media(max-width:992px){

.popup-content{

    width:95%;

    padding:28px;

}

.popup-grid{

    grid-template-columns:240px 1fr;

    gap:28px;

}

.popup-image{

    width:240px;

    height:280px;

}

.popup-harga{

    font-size:32px;

}

.popup-right h2{

    font-size:30px;

}

.popup-item{

    font-size:17px;

}

.popup-item i{

    font-size:18px;

}

.btn-wa{

    width:220px;

    height:44px;

}

.popup-thumb img{

    width:55px;

    height:55px;

}

.popup-deskripsi{

    padding:22px;

}

}

/* ================= HP ================= */

@media(max-width:768px){

.popup{

    padding:12px;

}

.popup-content{

    width:100%;

    max-width:100%;

    max-height:94vh;

    padding:20px;

    border-radius:18px;

}

.popup-grid{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:25px;

}

.popup-left{

    width:100%;

}

.popup-image{

    width:100%;

    max-width:260px;

    height:300px;

    margin:auto;

}

.popup-harga{

    font-size:30px;

    text-align:center;

}

.popup-thumb{

    justify-content:center;

    margin-top:15px;

}

.popup-right{

    width:100%;

    padding-top:0;

}

.popup-right h2{

    text-align:center;

    font-size:28px;

    margin-bottom:20px;

}

.popup-list{

    gap:14px;

}

.popup-item{

    font-size:15px;

}

.popup-item i{

    width:20px;

    font-size:17px;

}

.btn-wa{

    width:100%;

    height:46px;

    margin-top:22px;

}

.popup-deskripsi{

    margin-top:28px;

    padding:20px;

}

.popup-deskripsi h4{

    font-size:20px;

}

.popup-deskripsi p{

    font-size:14px;

}

.close-produk{

    top:12px;

    right:16px;

    font-size:30px;

}

}
/* ==================================================
                POPUP PROFIL UMKM
================================================== */

.popup{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    justify-content:center;
    align-items:center;
    z-index:9999;
    padding:20px;
}

.popup.show{
    display:flex;
}

.popup-umkm{

    width:900px;
    max-width:95%;

    max-height:90vh;
    overflow-y:auto;

    background:#fff;

    border-radius:15px;

    padding:30px;

    position:relative;

    animation:popup .3s;

}
@keyframes popup{

from{

    transform:scale(.9);
    opacity:0;

}

to{

    transform:scale(1);
    opacity:1;

}

}

.close{

    position:absolute;

    top:18px;

    right:25px;

    font-size:30px;

    font-weight:bold;

    cursor:pointer;

    color:#333;

    z-index:99999;

}

.close:hover{

    color:red;

}

.popup-umkm h2{

    margin-bottom:25px;

    color:#222;

}

.popup-top{

    display:grid;

    grid-template-columns:260px 1fr;

    gap:35px;

    align-items:start;

}

.popup-foto{

    display:flex;
    justify-content:center;
    align-items:flex-start;

}

.popup-foto img{

    width:180px;

    height:180px;

    object-fit:cover;

    border-radius:50%;

    border:4px solid #fff;

    box-shadow:0 5px 18px rgba(0,0,0,.15);

}

.popup-data h3{

    color:#0d47a1;

    margin-bottom:18px;

}

.popup-data table{

    width:100%;

}

.popup-data td{

    padding:8px 0;

    font-size:15px;

}

.popup-data tr{

    border-bottom:1px solid #f1f1f1;

}

.popup-data td{

    vertical-align:top;

}

.popup-data td:first-child{

    color:#555;

}

.popup-data td:last-child{

    color:#222;

    font-weight:500;

}

.popup-data td:first-child{

    width:140px;

    font-weight:600;

}

.popup-umkm hr{

    margin:25px 0;

    border:none;

    border-top:1px solid #ddd;

}

.judul-produk{

    margin-bottom:20px;

    color:#222;

}

.produk-popup{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.produk-item{

    text-align:center;

}

.produk-item img{

    width:100%;

    height:120px;

    object-fit:cover;

    border-radius:8px;

    border:1px solid #eee;

}

.produk-item p{

    margin-top:10px;

    font-size:14px;

    font-weight:600;

}

.popup-button{

    margin-top:25px;

    text-align:right;

}

.popup-deskripsi{

    margin-top:15px;

    padding-top:15px;

    border-top:1px solid #eee;

    color:#666;

    line-height:1.8;

    font-size:14px;

}

/* ==================================================
        POPUP DETAIL PRODUK DARI HALAMAN UMKM
================================================== */

#popupProdukUMKM .popup-content{
    max-width:1000px;
    width:90%;
}

#popupProdukUMKM .popup-grid{
    display:grid;
    grid-template-columns:380px 1fr;
    gap:35px;
    align-items:start;
}

#popupProdukUMKM .popup-left img{
    width:100%;
    height:420px;
    object-fit:contain;
    border-radius:15px;
    background:#fff;
}

#popupProdukUMKM .popup-right h2{
    font-size:34px;
    margin-bottom:18px;
}

#popupProdukUMKM .popup-right p{
    margin-bottom:10px;
    font-size:17px;
    line-height:1.6;
}

#popupProdukUMKM #detailHargaProduk{
    color:#0d47a1;
    font-size:32px;
    margin:20px 0;
}

#popupProdukUMKM #detailDeskripsiProduk{
    margin-top:15px;
    line-height:1.8;
    color:#555;
}

@media(max-width:768px){

#popupProdukUMKM .popup-grid{
    display:flex;
    flex-direction:column;
}

#popupProdukUMKM .popup-left img{
    height:280px;
}

}

/* ================= CLOSE POPUP PRODUK UMKM ================= */

#popupProdukUMKM .close-produk-umkm{

    position:absolute;

    top:18px;

    left:20px;

    right:auto;

    font-size:34px;

    color:#e53935;

    cursor:pointer;

    font-weight:bold;

    transition:.3s;

    z-index:1000;

}

#popupProdukUMKM .close-produk-umkm:hover{

    color:#b71c1c;

    transform:scale(1.15);

}
/*================== MOBILE ==================*/

@media(max-width:768px){

.popup-umkm{

    width:95%;

    padding:20px;

}

.popup-top{

    grid-template-columns:1fr;

    gap:20px;

}

.popup-foto img{

    width:150px;

    height:150px;

}

.popup-data h3{

    text-align:center;

}

.produk-popup{

    grid-template-columns:repeat(2,1fr);

}

.popup-button{

    text-align:center;

}

}
/* ================= TENANT ================= */

.tenant-badge{

    display:inline-block;

    background:#0d47a1;

    color:#fff;

    padding:8px 18px;

    border-radius:30px;

    font-weight:600;

    margin-bottom:15px;

}

/* ================= STATUS ================= */

.status{

    display:inline-block;

    padding:10px 20px;

    border-radius:30px;

    font-weight:600;

    margin-bottom:20px;

    font-size:14px;

}

.status-buka{

    background:#e8f8ec;

    color:#2e7d32;

}

.status-tutup{

    background:#fdeaea;

    color:#d32f2f;

}

.status-belum{

    background:#fff7d6;

    color:#b8860b;

}

/* ================= LIST PRODUK ================= */

.produk-list{

    margin-top:20px;

    padding-left:20px;

}

.produk-list li{

    margin-bottom:10px;

    font-size:15px;

    color:#444;

}
/*==================================
        HALAMAN TENTANG
==================================*/

.tentang-page{

    padding:60px 0;

}

.tentang-search{

    max-width:650px;

    margin:auto;

    margin-bottom:45px;

}

.page-title{

    text-align:center;

    margin-bottom:50px;

}

.page-title h1{

    font-size:42px;

    margin-bottom:15px;

    color:#222;

}

.page-title p{

    max-width:750px;

    margin:auto;

    color:#666;

    line-height:1.8;

}

.tentang-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}

.tentang-card{

    background:#fff;

    padding:35px;

    border-radius:18px;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.3s;

}

.tentang-card:hover{

    transform:translateY(-8px);

}

.tentang-icon{

    width:90px;

    height:90px;

    border-radius:50%;

    background:#edf4ff;

    color:#0d47a1;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:40px;

    margin:auto;

    margin-bottom:20px;

}

.tentang-card h3{

    text-align:center;

    color:#0d47a1;

    margin-bottom:20px;

}

.tentang-card p{

    text-align:justify;

    line-height:1.8;

    color:#555;

}

.tentang-card ul{

    padding-left:18px;

    color:#555;

}

.tentang-card li{

    margin-bottom:12px;

    line-height:1.7;

}

/*=================== MOBILE ===================*/

@media(max-width:768px){

.tentang-page{

    padding:40px 0;

}

.tentang-search{

    margin-bottom:35px;

}

.page-title h1{

    font-size:30px;

}

.page-title p{

    font-size:15px;

}

.tentang-grid{

    grid-template-columns:1fr;

    gap:20px;

}

.tentang-card{

    padding:25px;

}

.tentang-icon{

    width:70px;

    height:70px;

    font-size:30px;

}

}
/*==========================================
            HALAMAN INFORMASI
==========================================*/

.informasi-page{

    padding:60px 0;

}

/* SEARCH */

.informasi-search{

    max-width:650px;

    margin:auto;

    margin-bottom:40px;

}

/* FILTER */

.informasi-filter{

    display:flex;

    justify-content:flex-end;

    margin-bottom:35px;

}

.informasi-filter select{

    width:180px;

    height:50px;

    border:1px solid #ddd;

    border-radius:10px;

    padding:0 15px;

    cursor:pointer;

    outline:none;

    background:#fff;

}

/* LIST */

.informasi-list{

    display:flex;

    flex-direction:column;

    gap:25px;

}

/* CARD */

.informasi-card{

    display:grid;

    grid-template-columns:320px 1fr;

    align-items:stretch;

    background:#fff;

    border-radius:15px;

    overflow:hidden;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    transition:.3s;

}

.informasi-card:hover{

    transform:translateY(-5px);

}

.informasi-card img{

    width:320px;

    height:220px;

    object-fit:cover;

    flex-shrink:0;

    display:block;

}

.informasi-body{
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 20px;
}

.informasi-body h3{

    margin:15px 0 10px;

    font-size:24px;

    color:#222;

}

.informasi-body small{

    color:#777;

    display:block;

    margin-bottom:15px;

}

.informasi-body p{

    color:#555;

    line-height:1.8;

    margin-bottom:20px;

}

/* BADGE */

.badge{

    display:inline-block;

    padding:8px 16px;

    border-radius:30px;

    color:#fff;

    font-size:13px;

    font-weight:600;

}

.jadwal{

    background:#1565c0;

}

.pengumuman{

    background:#f9a825;

}

.berita{

    background:#2e7d32;

}

.event{
    background:#1565c0;
}

.informasi-page .btn-detail{
    width:auto;
    display:inline-flex;
    align-self:flex-start;
    padding:12px 24px;
}
/*==========================================
                POPUP
==========================================*/

.popup-info{

    width:850px;

    max-width:95%;

    max-height:90vh;

    overflow-y:auto;

    background:#fff;

    border-radius:15px;

    padding:30px;

    position:relative;

}

.popup-banner{

    width:100%;

    height:320px;

    object-fit:cover;

    border-radius:12px;

    margin-bottom:20px;

}

.popup-info h2{

    margin:18px 0 10px;

    color:#222;

}

.popup-info small{

    color:#777;

}

.popup-info hr{

    margin:25px 0;

    border:none;

    border-top:1px solid #ddd;

}

.popup-text{

    line-height:2;

    color:#444;

    text-align:justify;

}

.popup-text p{

    margin-bottom:20px;

}

.popup-button{

    margin-top:30px;

    text-align:right;

}

/*==========================================
          SCROLLBAR POPUP
==========================================*/

.popup-info::-webkit-scrollbar{

    width:8px;

}

.popup-info::-webkit-scrollbar-thumb{

    background:#0d47a1;

    border-radius:10px;

}

.popup-info::-webkit-scrollbar-track{

    background:#eee;

}

/*==========================================
            RESPONSIVE TABLET
==========================================*/

@media(max-width:992px){

.informasi-card{

    grid-template-columns:220px 1fr;

}

}

/*==========================================
            RESPONSIVE HP
==========================================*/

@media(max-width:768px){

.informasi-page{

    padding:35px 0;

}

.informasi-search{

    margin-bottom:30px;

}

.informasi-filter{

    justify-content:center;

}

.informasi-filter select{

    width:100%;

}

.informasi-card{

    grid-template-columns:1fr;

}

.informasi-card img{

    height:200px;

}

.informasi-body{

    padding:20px;

}

.informasi-body h3{

    font-size:20px;

}

.popup-info{

    width:95%;

    padding:20px;

}

.popup-banner{

    height:180px;

}

.popup-button{

    text-align:center;

}

}
/*==================================
        REGISTER PAGE
==================================*/

.register-page{

    padding:70px 0;

    background:#f8f9fa;

}

.register-wrapper{

    max-width:700px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.register-header{

    text-align:center;

    margin-bottom:25px;

}

.register-header h1{

    font-size:34px;

    color:#0d47a1;

    margin-bottom:10px;

}

.register-header p{

    color:#666;

    line-height:1.8;

    font-size:16px;

}

/*==================================
        INFO BOX
==================================*/

.info-register{

    display:flex;

    align-items:flex-start;

    gap:18px;

    background:#eef5ff;

    border-left:5px solid #0d47a1;

    padding:20px;

    border-radius:12px;

    margin-bottom:35px;

}

.info-icon{

    color:#0d47a1;

    font-size:28px;

}

.info-text h4{

    color:#0d47a1;

    margin-bottom:8px;

}

.info-text p{

    color:#555;

    line-height:1.8;

    margin:0;

}

/*==================================
            FORM
==================================*/

.register-form{

    margin-top:20px;

}

.form-group{

    margin-bottom:22px;

}

.form-group label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#333;

}

.form-group input{

    width:100%;

    height:55px;

    border:1px solid #ddd;

    border-radius:10px;

    padding:0 15px;

    font-size:15px;

    outline:none;

    transition:.3s;

}

.form-group input:focus{

    border-color:#0d47a1;

    box-shadow:0 0 0 3px rgba(13,71,161,.12);

}

.form-group small{

    display:block;

    margin-top:8px;

    color:#888;

    font-size:13px;

}

/*==================================
      PASSWORD
==================================*/

.password-box{

    position:relative;

}

.password-box input{

    padding-right:50px;

}

.toggle-password{

    position:absolute;

    top:50%;

    right:18px;

    transform:translateY(-50%);

    cursor:pointer;

    color:#777;

    font-size:20px;

    transition:.3s;

}

.toggle-password:hover{

    color:#0d47a1;

}

/*==================================
        CHECKBOX
==================================*/

.form-check{

    display:flex;

    align-items:flex-start;

    gap:10px;

    margin:30px 0;

}

.form-check input{

    margin-top:4px;

}

.form-check label{

    color:#555;

    line-height:1.6;

    cursor:pointer;

}

/*==================================
        BUTTON
==================================*/

.btn-register{

    width:100%;

    height:55px;

    border:none;

    border-radius:10px;

    background:#0d47a1;

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

.btn-register:hover{

    background:#08306b;

    transform:translateY(-2px);

}

/*==================================
        LOGIN
==================================*/

.register-footer{

    margin-top:30px;

    text-align:center;

}

.register-footer p{

    color:#666;

}

.register-footer a{

    color:#0d47a1;

    text-decoration:none;

    font-weight:600;

}

.register-footer a:hover{

    text-decoration:underline;

}

/*==================================
        RESPONSIVE
==================================*/

@media(max-width:768px){

.register-page{

    padding:40px 0;

}

.register-wrapper{

    padding:25px;

    border-radius:15px;

}

.register-header h1{

    font-size:28px;

}

.register-header p{

    font-size:15px;

}

.info-register{

    flex-direction:column;

    gap:12px;

}

.info-icon{

    font-size:24px;

}

.form-group input{

    height:50px;

}

.btn-register{

    height:50px;

}

}
/*==================================
            LOGIN PAGE
==================================*/

.login-page{

    padding:70px 0;

    background:#f8f9fa;

}

.login-wrapper{

    max-width:650px;

    margin:auto;

    background:#fff;

    padding:45px;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.login-header{

    text-align:center;

    margin-bottom:25px;

}

.login-header h1{

    font-size:34px;

    color:#0d47a1;

    margin-bottom:10px;

}

.login-header p{

    color:#666;

    line-height:1.8;

}

/*==================================
          INFO LOGIN
==================================*/

.info-login{

    display:flex;

    gap:18px;

    align-items:flex-start;

    background:#eef5ff;

    border-left:5px solid #0d47a1;

    padding:20px;

    border-radius:12px;

    margin-bottom:35px;

}

.info-icon{

    color:#0d47a1;

    font-size:28px;

}

.info-text h4{

    color:#0d47a1;

    margin-bottom:8px;

}

.info-text p{

    color:#555;

    line-height:1.8;

    margin:0;

}

/*==================================
            FORM LOGIN
==================================*/

.login-form{

    margin-top:20px;

}

.login-form .form-group{

    margin-bottom:22px;

}

.login-form label{

    display:block;

    margin-bottom:8px;

    font-weight:600;

    color:#333;

}

.login-form input[type="text"],
.login-form input[type="password"]{

    width:100%;

    height:55px;

    border:1px solid #ddd;

    border-radius:10px;

    padding:0 15px;

    font-size:15px;

    outline:none;

    transition:.3s;

}

.login-form input:focus{

    border-color:#0d47a1;

    box-shadow:0 0 0 3px rgba(13,71,161,.12);

}

/*==================================
        PASSWORD
==================================*/

.password-box{

    position:relative;

}

.password-box input{

    padding-right:50px;

}

.toggle-password{

    position:absolute;

    right:18px;

    top:50%;

    transform:translateY(-50%);

    cursor:pointer;

    font-size:20px;

    color:#777;

    transition:.3s;

}

.toggle-password:hover{

    color:#0d47a1;

}

/*==================================
        INGAT SAYA
==================================*/

.remember{

    margin-bottom:25px;

}

.remember label{

    display:flex;

    align-items:center;

    gap:8px;

    color:#555;

    cursor:pointer;

}

.remember input{

    width:16px;

    height:16px;

}

/*==================================
        BUTTON LOGIN
==================================*/

.btn-login{

    width:100%;

    height:55px;

    border:none;

    border-radius:10px;

    background:#0d47a1;

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    transition:.3s;

}

.btn-login:hover{

    background:#08306b;

    transform:translateY(-2px);

}

/*==================================
        LUPA PASSWORD
==================================*/

.forgot-password{

    margin-top:22px;

    text-align:center;

}

.forgot-password a{

    color:#0d47a1;

    text-decoration:none;

    font-weight:600;

}

.forgot-password a:hover{

    text-decoration:underline;

}

/*==================================
        LOGIN FOOTER
==================================*/

.login-footer{

    margin-top:30px;

    text-align:center;

}

.login-footer p{

    color:#666;

}

.login-footer a{

    color:#0d47a1;

    font-weight:600;

    text-decoration:none;

}

.login-footer a:hover{

    text-decoration:underline;

}

/*==================================
        RESPONSIVE
==================================*/

@media(max-width:768px){

.login-page{

    padding:40px 0;

}

.login-wrapper{

    padding:25px;

    border-radius:15px;

}

.login-header h1{

    font-size:28px;

}

.login-header p{

    font-size:15px;

}

.info-login{

    flex-direction:column;

    gap:12px;

}

.info-icon{

    font-size:24px;

}

.login-form input{

    height:50px;

}

.btn-login{

    height:50px;

}

}
/* =======================================
   POPUP PRODUK UMKM
======================================= */

.produk-popup-list{
    max-height:320px;
    overflow-y:auto;
    margin-top:15px;
}

.popup-produk-card{
    display:flex;
    align-items:center;
    gap:15px;
    padding:12px;
    margin-bottom:15px;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:12px;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
}

.popup-produk-card img{
    width:90px;
    height:90px;
    object-fit:cover;
    border-radius:10px;
    flex-shrink:0;
}

.popup-produk-info{
    flex:1;
}

.popup-produk-info h4{
    margin:0 0 8px;
    font-size:17px;
}

.popup-produk-info p{
    margin:6px 0;
    color:#666;
}

.popup-produk-info span{
    font-size:16px;
    font-weight:bold;
    color:#0d47a1;
}

/* ================= POPUP INFORMASI ================= */

#popupInformasi .popup-content{
    width: 900px;
    max-width: 95%;
    max-height: 90vh;
    overflow: hidden;

    display: flex;
    gap: 35px;

    align-items: flex-start;

    padding: 35px;
}

#popupInformasi .popup-image{
    width: 42%;
    flex-shrink: 0;
}

#popupInformasi .popup-image img{
    width: 100%;
    border-radius: 12px;
}

#popupInformasi .popup-info{
    width: 58%;
    display: flex;
    flex-direction: column;
}

#popupInfoKategori{
    display: inline-block;
    background: #0d6efd;
    color: white;
    padding: 6px 14px;
    border-radius: 30px;
    font-size: 14px;
    margin-bottom: 15px;
}

#popupInfoJudul{
    font-size: 30px;
    margin: 10px 0;
}

#popupInfoTanggal{
    color: #777;
    margin-bottom: 20px;
}

#popupInfoIsi{
    flex: 1;
    overflow-y: auto;
    max-height: 320px;

    line-height: 1.8;
    text-align: justify;
}

#popupInformasi .close-info{
    margin-top: 25px;
    background: #0d6efd;
    color: #fff;
    border: none;
    padding: 10px 25px;
    border-radius: 8px;
    cursor: pointer;
}

#popupInformasi .close-info:hover{
    background: #084298;
}
#popupInformasi .popup-content{
    position: relative;
}
.close-informasi{
    position: absolute;
    top: 20px;
    right: 20px;
    left: auto;
    font-size: 30px;
    cursor: pointer;
}
@media (max-width:768px){

    #popupInformasi .popup-content{

        flex-direction: column;

        width:95%;

        max-height:90vh;

        overflow-y:auto;
    }

    #popupInformasi .popup-image{

        width:100%;
    }

    #popupInformasi .popup-info{

        width:100%;
    }

}



/* ================= HERO BUTTON ================= */

.hero-button{
    display:flex;
    align-items:center;
    gap:18px;
    margin-top:45px;
}

.btn-hero-primary,
.btn-hero-outline{
    display:inline-flex;
    align-items:center;
    gap:10px;

    padding:14px 28px;

    border-radius:50px;

    font-size:16px;

    font-weight:600;

    text-decoration:none;

    transition:.3s;
}

.btn-hero-primary{
    background:#2563EB;
    color:#fff;
}

.btn-hero-primary:hover{
    background:#1D4ED8;
    transform:translateY(-3px);
}

.btn-hero-outline{
    border:2px solid #fff;
    color:#fff;
    background:rgba(255,255,255,.12);
    backdrop-filter:blur(10px);
}

.btn-hero-outline:hover{
    background:#fff;
    color:#2563EB;
    transform:translateY(-3px);
}

/* ================= SEARCH HEADER ================= */

.search-toggle{
    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:2px solid #2563EB;

    background:#fff;

    color:#2563EB;

    border-radius:50%;

    cursor:pointer;

    font-size:16px;

    transition:.3s;

    margin-right:12px;
}

.search-toggle:hover{

    background:#2563EB;

    color:#fff;

    transform:translateY(-2px);

}

.search-toggle i{
    pointer-events:none;
}

/* ================= HEADER SEARCH POPUP ================= */

.header-search-popup{

    display:none;

    position:absolute;

    top:58px;

    right:0px;

    width:260px;

    background:#fff;

    border-radius:14px;

    padding:10px;

    box-shadow:0 12px 30px rgba(0,0,0,.15);

    border:1px solid #E5E7EB;

    z-index:999;

    animation:fadeSearch .25s ease;
}

.header-search-popup form{

    display:flex;

    align-items:center;

    gap:10px;

}

.header-search-popup input{

    flex:1;
    min-width:0;

    padding:10px;

    border:1px solid #D6E6FF;

    border-radius:8px;

    outline:none;

    font-size:15px;

}

.header-search-popup button{

    padding:10px 16px;

    border:none;

    border-radius:8px;

    background:#2563EB;

    color:#fff;

    cursor:pointer;

    white-space:nowrap;

}

.header-search-popup.show{

    display:block;

}
@keyframes fadeSearch{

    from{

        opacity:0;

        transform:translateY(-10px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*====================================================
POPUP PRODUK
====================================================*/

.popup-produk{

    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);

    display:none;
    justify-content:center;
    align-items:center;

    padding:30px;

    z-index:9999;

}

.popup-produk-content{

    width:1100px;
    max-width:95%;

    background:#fff;

    border-radius:24px;

    padding:30px;

    position:relative;

    animation:popupShow .3s ease;

}

@keyframes popupShow{

    from{
        transform:translateY(25px);
        opacity:0;
    }

    to{
        transform:translateY(0);
        opacity:1;
    }

}

.popup-produk-grid{

    display:grid;
    grid-template-columns:420px 1fr;
    gap:35px;

}

/*=====================
FOTO
======================*/

.popup-produk-image{

    width:100%;
    height:360px;

    border-radius:18px;

    overflow:hidden;

    background:#f4f7fb;

}

.popup-produk-image img{

    width:100%;
    height:100%;
    object-fit:cover;

}

.popup-produk-thumb{

    display:flex;

    gap:10px;

    margin-top:15px;

}

.popup-produk-thumb img{

    width:70px;
    height:70px;

    border-radius:12px;

    object-fit:cover;

    cursor:pointer;

    border:2px solid #e7edf8;

    transition:.3s;

}

.popup-produk-thumb img:hover{

    border-color:#2563eb;

}

/*=====================
KANAN
======================*/

.popup-produk-right{

    display:flex;

    flex-direction:column;

}

.popup-produk-right h2{

    font-size:36px;

    color:#173d83;

    margin:0;

    line-height:1.2;

}

.popup-produk-umkm{

    display:flex;

    align-items:center;

    gap:10px;

    margin:12px 0;

    color:#555;

}

.popup-produk-umkm i{

    color:#2563eb;

}

.popup-produk-harga{

    font-size:42px;

    font-weight:700;

    color:#2563eb;

    margin-bottom:20px;

}

.popup-produk-deskripsi{

    background:#f8fbff;

    border:1px solid #e7edf8;

    border-radius:15px;

    padding:18px;

    margin-bottom:20px;

}

.popup-produk-deskripsi p{

    margin:0;

    line-height:1.7;

    color:#555;

}

/*=====================
INFO
======================*/

.popup-produk-info-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:15px;

}

.popup-produk-info{

    display:flex;

    gap:14px;

    align-items:flex-start;

    padding:16px;

    border-radius:14px;

    border:1px solid #e7edf8;

}

.popup-produk-info i{

    color:#2563eb;

    font-size:22px;

    margin-top:2px;

}

.popup-produk-info small{

    display:block;

    font-size:12px;

    color:#888;

    margin-bottom:3px;

}

.popup-produk-info span{

    font-weight:600;

    color:#222;

    line-height:1.5;

}

/*=====================
WA
======================*/

.popup-produk-wa{

    margin-top:25px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:10px;

    width:100%;

    height:55px;

    border-radius:14px;

    background:#2563eb;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.3s;

}

.popup-produk-wa:hover{

    background:#1d4ed8;

    color:#fff;

}


.popup-produk{

    position:fixed;
    inset:0;

    display:none;

    justify-content:center;
    align-items:center;

    background:rgba(0,0,0,.6);

    z-index:9999;

}

.popup-produk.show{

    display:flex;

}
/*=====================
CLOSE
======================*/

.close-produk{

    position:absolute;

    top:18px;

    right:22px;

    font-size:32px;

    cursor:pointer;

    color:#666;

}

.close-produk:hover{

    color:#2563eb;

}

/*==================================================
RESPONSIVE POPUP PRODUK
==================================================*/

@media (max-width:1024px){

.popup-produk-content{

    width:95%;
    padding:25px;

}

.popup-produk-grid{

    grid-template-columns:350px 1fr;
    gap:25px;

}

.popup-produk-image{

    height:320px;

}

.popup-produk-right h2{

    font-size:30px;

}

.popup-produk-harga{

    font-size:38px;

}

}

/* ================= TABLET ================= */

@media (max-width:768px){

.popup-produk{

    padding:15px;

    align-items:flex-start;

    overflow-y:auto;

}

.popup-produk-content{

    width:100%;
    margin:20px 0;
    padding:20px;

}

.popup-produk-grid{

    grid-template-columns:1fr;

    gap:25px;

}

.popup-produk-image{

    height:280px;

}

.popup-produk-thumb{

    justify-content:center;
    flex-wrap:wrap;

}

.popup-produk-thumb img{

    width:60px;
    height:60px;

}

.popup-produk-right h2{

    font-size:28px;

}

.popup-produk-umkm{

    font-size:18px;

}

.popup-produk-harga{

    font-size:34px;

}

.popup-produk-info-grid{

    grid-template-columns:1fr 1fr;

}

.popup-produk-wa{

    height:52px;

}

}

/* ================= HP ================= */

@media (max-width:576px){

.popup-produk{

    padding:10px;

}

.popup-produk-content{

    border-radius:18px;
    padding:18px;

}

.popup-produk-image{

    height:230px;

}

.popup-produk-thumb{

    gap:8px;

}

.popup-produk-thumb img{

    width:52px;
    height:52px;

}

.popup-produk-right h2{

    font-size:24px;

}

.popup-produk-umkm{

    font-size:16px;

}

.popup-produk-harga{

    font-size:30px;

}

.popup-produk-deskripsi{

    padding:15px;

}

.popup-produk-info-grid{

    grid-template-columns:1fr;

}

.popup-produk-info{

    padding:14px;

}

.popup-produk-info span{

    font-size:14px;

}

.popup-produk-wa{

    font-size:15px;
    height:50px;

}

.close-produk{

    top:10px;
    right:15px;

    font-size:28px;

}

}

/*==============================
POPUP DETAIL PRODUK UMKM
===============================*/

.popup-produk{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.6);
    z-index:9999;
    justify-content:center;
    align-items:center;
    padding:20px;
}

.popup-produk-content{
    width:1100px;
    max-width:95%;
    max-height:90vh;
    overflow-y:auto;
    background:#fff;
    border-radius:22px;
    padding:35px;
    position:relative;
}

.close-produk-umkm{
    position:absolute;
    top:18px;
    right:22px;
    font-size:34px;
    cursor:pointer;
    color:#222;
    z-index:100;
}

.popup-produk-grid{
    display:grid;
    grid-template-columns:420px 1fr;
    gap:45px;
}

.popup-produk-left{
    display:flex;
    flex-direction:column;
}

.popup-produk-image{
    width:100%;
    height:380px;
    border-radius:18px;
    overflow:hidden;
    background:#f7f8fb;
}

.popup-produk-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.popup-produk-right{
    display:flex;
    flex-direction:column;
}

.popup-produk-right h2{
    font-size:42px;
    color:#1d2d5b;
    margin-bottom:10px;
}

.popup-produk-umkm{
    display:flex;
    align-items:center;
    gap:10px;
    color:#555;
    font-size:19px;
    margin-bottom:20px;
}

.popup-produk-umkm i{
    color:#2563eb;
}

.popup-produk-harga{
    font-size:52px;
    font-weight:700;
    color:#2457d6;
    margin-bottom:20px;
}

.popup-produk-deskripsi{
    border:1px solid #e9edf5;
    border-radius:16px;
    padding:18px;
    min-height:120px;
    margin-bottom:22px;
}

.popup-produk-deskripsi p{
    margin:0;
    color:#555;
    line-height:1.7;
}

.popup-produk-info-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    margin-bottom:25px;
}

.popup-produk-info{
    display:flex;
    align-items:center;
    gap:15px;
    border:1px solid #e9edf5;
    border-radius:14px;
    padding:15px;
}

.popup-produk-info i{
    font-size:24px;
    color:#2563eb;
}

.popup-produk-info small{
    display:block;
    color:#888;
    font-size:12px;
}

.popup-produk-info span{
    display:block;
    font-size:16px;
    font-weight:600;
    color:#222;
}

.popup-produk-wa{
    height:56px;
    border-radius:14px;
    background:#2563eb;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    text-decoration:none;
    font-weight:600;
    margin-top:auto;
}

.popup-produk-wa:hover{
    background:#1847c7;
}



@media(max-width:768px){

.popup-produk-content{
    padding:20px;
}

.popup-produk-grid{
    grid-template-columns:1fr;
    gap:20px;
}

.popup-produk-image{
    height:260px;
}

.popup-produk-right h2{
    font-size:28px;
}

.popup-produk-harga{
    font-size:36px;
}

.popup-produk-info-grid{
    grid-template-columns:1fr;
}

.popup-produk-wa{
    margin-top:15px;
}

}

/* PAKSA TOMBOL CLOSE DI KANAN */
.popup-produk-content .close-produk-umkm{

    position:absolute !important;

    top:18px !important;

    right:20px !important;

    left:auto !important;

    bottom:auto !important;

    float:none !important;

    display:block;

    width:auto;

    height:auto;

    font-size:34px;

    font-weight:700;

    color:#222;

    cursor:pointer;

    z-index:999999;

}

.hero-title{
    text-align:center;
    max-width:850px;
    margin:60px auto;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#eef5ff;
    color:#1f5fd6;
    padding:8px 18px;
    border-radius:30px;
    font-weight:600;
    margin-bottom:20px;
}

.hero-title h1{
    font-size:54px;
    font-weight:700;
    color:#1d2d5b;
    margin-bottom:20px;
}

.hero-title p{
    font-size:19px;
    line-height:1.8;
    color:#666;
}

.tentang-card{

    background:#fff;

    border-radius:22px;

    padding:45px 35px;

    box-shadow:0 10px 35px rgba(0,0,0,.05);

    transition:.35s;

}

.tentang-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

}

.tentang-page{
    padding:60px 0 80px;
}

.page-title{
    max-width:900px;
    margin:0 auto 55px;
}
.page-title h1{

    font-size:64px;
    font-weight:700;
    color:#1d2d5b;
    margin-bottom:25px;

}
.page-title p{

    max-width:850px;
    margin:auto;

    font-size:22px;

    line-height:1.8;

    color:#555;

}

.tentang-page{

    background:
    linear-gradient(180deg,#f7fbff 0%,#ffffff 35%);
}

.tentang-card{

    padding:45px 35px;

    border-radius:24px;

    background:#fff;

    border:1px solid #edf3fb;

    transition:.35s;

}

.tentang-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.tentang-icon{

    width:100px;

    height:100px;

    background:#eef5ff;

    border-radius:50%;

    margin:auto auto 25px;

}

.tentang-icon i{

    font-size:45px;

}
@media(max-width:768px){

.hero-title h1{

    font-size:36px;

}

.hero-title p{

    font-size:16px;

}

.tentang-grid{

    grid-template-columns:1fr;

}

}

/*=========================
BACKGROUND HALAMAN TENTANG
=========================*/

.tentang-page{
    position: relative;
    overflow: hidden;
    padding: 90px 0;
    background: #fff;
}

.tentang-page::before{
    content: "";
    position: absolute;
    top: -180px;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 420px;
    border-radius: 50%;
    background: radial-gradient(
        circle,
        rgba(37,99,235,.18) 0%,
        rgba(37,99,235,.08) 45%,
        rgba(37,99,235,0) 80%
    );
    filter: blur(90px);
    z-index: 0;
}

.tentang-page .container{
    position: relative;
    z-index: 1;
}

.informasi-top{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin:45px auto 55px;
}

.informasi-top .search-box{
    flex:1;
    max-width:900px;
}

.informasi-top select{
    width:170px;
    height:62px;
    border:1px solid #dbe5f4;
    border-radius:16px;
    padding:0 18px;
    font-size:16px;
    background:#fff;
}

.informasi-card{

    display:grid;
    grid-template-columns:320px 1fr;
    gap:25px;

    background:#fff;

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 10px 35px rgba(0,0,0,.07);

    margin-bottom:30px;

    transition:.3s;

}

.informasi-card:hover{

    transform:translateY(-5px);

}

.informasi-card img{

    width:100%;
    height:250px;

    object-fit:cover;

}

.informasi-body{

    padding:25px 28px;

    display:flex;
    flex-direction:column;

}

.informasi-body h3{

    font-size:32px;

    color:#1d2d5b;

    margin:15px 0 10px;

}
.informasi-body p{

    color:#666;

    line-height:1.8;

    margin:15px 0;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.btn-info{

    margin-top:auto;

    width:220px;

}

@media(max-width:768px){

.informasi-top{

    flex-direction:column;

}

.informasi-top .search-box{

    width:100%;

}

.informasi-top select{

    width:100%;

}

.informasi-card{

    grid-template-columns:1fr;

}

.informasi-card img{

    height:220px;

}

}

.info-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:6px 16px;
    border-radius:30px;
    background:#2563eb;
    color:#fff;
    font-size:13px;
    font-weight:600;
    width:fit-content;
    margin-bottom:15px;
}

.info-badge.event{
    background:#2563eb;
}

.info-badge.pengumuman{
    background:#f59e0b;
}

.info-badge.berita{
    background:#16a34a;
}

.informasi-card{

    display:grid;
    grid-template-columns:280px 1fr;

    gap:28px;

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    padding:18px;

    box-shadow:0 10px 35px rgba(0,0,0,.08);

    margin-bottom:30px;

}
.informasi-body{

    display:flex;

    flex-direction:column;

}

.informasi-body h3{

    font-size:32px;

    color:#1d2d5b;

    margin:5px 0 12px;

}

.informasi-body small{

    color:#888;

    margin-bottom:18px;

}

.informasi-body p{

    color:#666;

    line-height:1.8;

    display:-webkit-box;

    -webkit-line-clamp:3;

    -webkit-box-orient:vertical;

    overflow:hidden;

}

.btn-info{

    margin-top:auto;

    width:210px;

}

.informasi-body{
    overflow:hidden;
}


/*==========================
DETAIL INFORMASI
===========================*/

.info-detail{
    width:900px;
    max-width:95%;
    max-height:90vh;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    overflow-y:auto;
    position:relative;
    animation:fadeUp .3s ease;
}


.info-detail-banner{
    width:80%;
    max-width:550px;
    height:250px;
    object-fit:contain;
    display:block;
    margin:25px auto;
    border-radius:15px;
    background:#f5f5f5;
}

.info-detail-content{
    padding:30px;
}

.info-detail-badge{
    display:inline-block;
    background:#2563eb;
    color:#fff;
    padding:8px 18px;
    border-radius:30px;
    font-size:14px;
    margin-bottom:20px;
}

.info-detail h2{
    font-size:32px;
    color:#1d2d5b;
    margin-bottom:12px;
}

.info-detail-meta{
    display:flex;
    align-items:center;
    gap:8px;
    color:#777;
    margin-bottom:25px;
    font-size:15px;
}

.info-detail-text{
    color:#555;
    line-height:1.9;
    font-size:16px;
    text-align:justify;
    white-space:pre-line;
    word-break:break-word;
}

.info-detail-button{
    margin-top:35px;
    text-align:right;
}

.info-detail-button .btn-detail{
    width:160px;
}

.info-detail .close{
    position:absolute;
    top:15px;
    right:20px;
    width:45px;
    height:45px;
    border-radius:50%;
    background:rgba(0,0,0,.45);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    cursor:pointer;
    transition:all .25s ease;
    user-select:none;
}

.info-detail .close:hover{
    background:#eb2525;
}


/*==================================
        RESPONSIVE
==================================*/

/* Laptop kecil & Tablet */
@media (max-width:992px){

.informasi-top{
    flex-wrap:wrap;
    gap:15px;
}

.search-box{
    flex:1;
}

#filterInformasi{
    width:180px;
}

.informasi-card{
    gap:20px;
}

.informasi-card img{
    width:260px;
    height:180px;
}

.info-detail{
    width:92%;
}

.info-detail-banner{
    max-width:90%;
    height:240px;
}

.info-detail h2{
    font-size:28px;
}

}

/* HP */
@media (max-width:768px){

/* Search */
.informasi-top{
    display:flex;
    flex-direction:column;
    gap:15px;
}

.search-box,
#filterInformasi{
    width:100%;
}

/* Card */
.informasi-card{
    display:flex;
    flex-direction:column;
    padding:18px;
}

.informasi-card img{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:15px;
}

.informasi-body{
    width:100%;
    margin-top:18px;
}

.informasi-body h3{
    font-size:22px;
}

.informasi-body p{
    font-size:15px;
    line-height:1.8;
}

.btn-detail{
    width:100%;
}

/* Popup */

.info-detail{
    width:95%;
    max-height:90vh;
}

.info-detail-banner{
    width:100%;
    max-width:100%;
    height:200px;
    object-fit:contain;
    background:#f7f9fc;
}

.info-detail-content{
    padding:20px;
}

.info-detail h2{
    font-size:24px;
}

.info-detail-text{
    font-size:15px;
    line-height:1.8;
}

.info-detail-button .btn-detail{
    width:100%;
}

}

/* HP kecil */
@media (max-width:480px){

.page-title h1{
    font-size:36px;
}

.page-title p{
    font-size:15px;
    line-height:1.8;
}

.informasi-card{
    padding:15px;
}

.informasi-card img{
    height:180px;
}

.informasi-body h3{
    font-size:20px;
}

.info-badge{
    font-size:12px;
    padding:6px 14px;
}

.info-detail-banner{
    height:170px;
}

.info-detail-content{
    padding:15px;
}

.info-detail h2{
    font-size:21px;
}

.info-detail-meta{
    font-size:13px;
}

.info-detail-text{
    font-size:14px;
}

.close{
    width:38px;
    height:38px;
    font-size:22px;
}

}

/*==================================================
        FORCE INFORMASI HOME (OVERRIDE)
==================================================*/

.informasi-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr)) !important;
    gap:30px !important;
    margin-top:45px !important;
}

.informasi-card{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    background:#fff !important;
    border-radius:20px !important;
    overflow:hidden !important;
    box-shadow:0 10px 25px rgba(0,0,0,.08) !important;
    padding:0 !important;
    width:100% !important;
    min-height:540px !important;
}

.informasi-image{
    width:100% !important;
    height:230px !important;
    overflow:hidden !important;
}

.informasi-image img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
}

.informasi-body{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    padding:25px !important;
    flex:1 !important;
}

.info-badge{
    margin:0 0 15px 0 !important;
}

.informasi-body h3{
    font-size:30px !important;
    margin:0 0 12px !important;
    color:#20315b !important;
}

.informasi-body small{
    display:block !important;
    margin-bottom:15px !important;
    color:#777 !important;
}

.informasi-body p{
    width:100% !important;
    line-height:1.8 !important;
    color:#555 !important;
    margin-bottom:25px !important;
    flex:1 !important;
}

.btn-baca{
    width:100% !important;
    height:50px !important;
    border-radius:10px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    margin-top:auto !important;
}

/*============== TABLET ==============*/

@media(max-width:992px){

.informasi-grid{
    grid-template-columns:repeat(2,1fr) !important;
}

}

/*============== HP ==============*/

@media(max-width:768px){

.informasi-grid{
    grid-template-columns:1fr !important;
}

.informasi-card{
    min-height:auto !important;
}

.informasi-image{
    height:220px !important;
}

.informasi-body{
    padding:20px !important;
}

.informasi-body h3{
    font-size:24px !important;
}

.btn-baca{
    width:100% !important;
}

}

/*==================================
        POPUP INFORMASI HOME
==================================*/

.home-popup{
    width:1000px;
    max-width:95%;
    max-height:90vh;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    display:flex;
    position:relative;
}

/* FOTO */

.home-popup-image{
    width:40%;
    min-width:340px;
    background:#f8f8f8;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:25px;
}

.home-popup-image img{
    width:100%;
    max-height:420px;
    object-fit:contain;
}

/* KONTEN */

.home-popup-content{
    width:60%;
    padding:35px;
    overflow-y:auto;
}

.home-popup-badge{
    display:inline-block;
    padding:8px 18px;
    border-radius:30px;
    background:#2563eb;
    color:#fff;
    margin-bottom:18px;
    font-weight:600;
}

.home-popup-content h2{
    font-size:34px;
    color:#1d2d5b;
    margin-bottom:12px;
}

.home-popup-meta{
    display:flex;
    align-items:center;
    gap:8px;
    color:#666;
    margin-bottom:25px;
}

.home-popup-text{
    line-height:1.9;
    color:#444;
    text-align:justify;
    white-space:pre-line;
}

.home-popup-button{
    margin-top:35px;
    text-align:right;
}

.home-popup-btn{
    background:#2563eb;
    color:#fff;
    border:none;
    padding:12px 35px;
    border-radius:10px;
    cursor:pointer;
}

.home-popup-btn:hover{
    background:#1d4ed8;
}

/* CLOSE */

.home-popup-close{
    position:absolute;
    right:18px;
    top:18px;
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(0,0,0,.5);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:26px;
    cursor:pointer;
    transition:.3s;
}

.home-popup-close:hover{
    background:#dc2626;
}

/* HP */

@media(max-width:768px){

.home-popup{
    flex-direction:column;
    width:95%;
}

.home-popup-image{
    width:100%;
    min-width:100%;
    padding:20px;
}

.home-popup-image img{
    max-height:220px;
}

.home-popup-content{
    width:100%;
    padding:20px;
}

.home-popup-content h2{
    font-size:24px;
}

.home-popup-button{
    text-align:center;
}

.home-popup-btn{
    width:100%;
}

}

/*==================================
    HALAMAN INFORMASI
==================================*/

.info-page-card{
    display:grid;
    grid-template-columns:300px 1fr;
    gap:25px;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    padding:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    margin-bottom:30px;
    transition:.3s;
}

.info-page-card:hover{
    transform:translateY(-5px);
}

.info-page-image{
    width:100%;
    height:230px;
    overflow:hidden;
    border-radius:15px;
}

.info-page-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.info-page-body{
    display:flex;
    flex-direction:column;
}

.info-page-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:fit-content;
    padding:6px 16px;
    border-radius:30px;
    background:#2563eb;
    color:#fff;
    font-size:13px;
    font-weight:600;
    margin-bottom:15px;
}

.info-page-badge.event{
    background:#2563eb;
}

.info-page-badge.pengumuman{
    background:#f59e0b;
}

.info-page-badge.berita{
    background:#16a34a;
}

.info-page-body h3{
    font-size:30px;
    color:#1d2d5b;
    margin:5px 0 12px;
}

.info-page-body small{
    color:#777;
    margin-bottom:15px;
}

.info-page-body p{
    color:#666;
    line-height:1.8;

    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

.info-page-btn{
    margin-top:auto;
    width:220px;
}

/*==============================
        RESPONSIVE
==============================*/

@media(max-width:768px){

.info-page-card{
    grid-template-columns:1fr;
}

.info-page-image{
    height:220px;
}

.info-page-body h3{
    font-size:24px;
}

.info-page-btn{
    width:100%;
}

}

/*==================================
    BACKGROUND HALAMAN INFORMASI
==================================*/

.informasi-page{
    position:relative;
    padding:90px 0;
    background:linear-gradient(180deg,#f8fbff 0%,#eef5ff 100%);
    overflow:hidden;
}

.informasi-page::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    background:#60a5fa;
    opacity:.18;
    filter:blur(120px);
    border-radius:50%;
    top:-120px;
    left:-120px;
}

.informasi-page::after{
    content:"";
    position:absolute;
    width:400px;
    height:400px;
    background:#3b82f6;
    opacity:.12;
    filter:blur(130px);
    border-radius:50%;
    bottom:-150px;
    right:-100px;
}

.informasi-page .container{
    position:relative;
    z-index:2;
}

.info-page-card{
    transition:.35s ease;
}

.info-page-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 45px rgba(37,99,235,.15);
}

.footer-contact a{
    color:#fff;
    text-decoration:none;
    display:flex;
    align-items:flex-start;
    gap:10px;
    transition:.3s;
}

.footer-contact a:hover{
    color:#FFD54F;
}

.footer-contact a i{
    margin-top:3px;
}