/* =========================================================
   BERANDA — Sistem Informasi Perpustakaan
   Kejaksaan Tinggi Sumatera Utara
   ========================================================= */

:root{
    --hijau-gelap:   #073824;
    --hijau-tua:     #0B5D3B;
    --hijau-terang:  #147a4f;
    --emas:          #C89B3C;
    --emas-terang:   #E8CC85;
    --putih:         #FFFFFF;
    --kabut:         rgba(255,255,255,.86);
}

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

html,body{
    height:100%;
}

body{
    font-family:'Poppins',sans-serif;
    min-height:100vh;
    color:var(--putih);
    overflow-x:hidden;
    display:flex;
    flex-direction:column;
    background:var(--hijau-gelap);
}

/* =========================================================
   SLIDESHOW LATAR BELAKANG
   ========================================================= */

.slideshow{
    position:fixed;
    inset:0;
    z-index:-2;
    overflow:hidden;
}

.slide{

    position:absolute;

    inset:0;

    opacity:0;

    transition:opacity 1.8s ease-in-out;

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.slide.active{
    opacity:1;
}

/* vignette agar teks tetap terbaca di segala kondisi */
.slideshow::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(4,26,17,.55) 0%, rgba(4,26,17,.35) 40%, rgba(4,26,17,.75) 100%);
}

/* =========================================================
   HERO / KONTEN TENGAH
   ========================================================= */

.hero{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:48px 20px 32px;
    position:relative;
}

.lambang-wrap{
    position:relative;
    width:132px;
    height:132px;
    margin-bottom:26px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.lambang-wrap::before{
    content:"";
    position:absolute;
    inset:-14px;
    border-radius:50%;
    border:1.5px dashed var(--emas);
    opacity:.75;
    animation:putar 50s linear infinite;
}

.lambang-wrap::after{
    content:"";
    position:absolute;
    inset:-4px;
    border-radius:50%;
    border:1px solid rgba(232,204,133,.35);
}

@keyframes putar{
    from{ transform:rotate(0deg); }
    to{ transform:rotate(360deg); }
}

.lambang{
    width:100px;
    height:100px;
    object-fit:contain;
    border-radius:50%;
    background:var(--kabut);
    padding:10px;
    box-shadow:0 10px 30px rgba(0,0,0,.35);
    position:relative;
    z-index:1;
}

.judul-utama{
    font-family:'Fraunces', 'Poppins', serif;
    font-weight:600;
    font-size:clamp(1.5rem, 3.6vw, 2.55rem);
    line-height:1.28;
    max-width:820px;
    letter-spacing:.2px;
    text-shadow:0 4px 18px rgba(0,0,0,.35);
}

.garis-emas{
    width:86px;
    height:3px;
    margin:20px auto;
    background:linear-gradient(90deg, transparent, var(--emas), transparent);
    border-radius:3px;
}

.subjudul{
    font-size:clamp(.92rem, 1.6vw, 1.08rem);
    max-width:560px;
    color:rgba(255,255,255,.86);
    font-weight:300;
    line-height:1.7;
    margin-bottom:44px;
}

/* =========================================================
   TOMBOL AKSI
   ========================================================= */

.aksi{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    justify-content:center;
    width:100%;
    max-width:920px;
}

.kartu-aksi{
    flex:1 1 220px;
    max-width:260px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(232,204,133,.28);
    border-top:3px solid var(--emas);
    border-radius:14px;
    padding:30px 20px 26px;
    color:var(--putih);
    text-decoration:none;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
    transition:transform .3s ease, background .3s ease, box-shadow .3s ease;
}

.kartu-aksi svg{
    width:38px;
    height:38px;
    stroke:var(--emas-terang);
    transition:transform .3s ease;
}

.kartu-aksi span.label{
    font-weight:600;
    font-size:1.02rem;
    letter-spacing:.3px;
}

.kartu-aksi span.ket{
    font-size:.78rem;
    font-weight:300;
    color:rgba(255,255,255,.68);
    margin-top:-8px;
}

.kartu-aksi:hover,
.kartu-aksi:focus-visible{
    transform:translateY(-6px);
    background:rgba(255,255,255,.12);
    box-shadow:0 16px 34px rgba(0,0,0,.35);
    outline:none;
}

.kartu-aksi:hover svg,
.kartu-aksi:focus-visible svg{
    transform:scale(1.1);
}

.kartu-aksi.utama{
    background:linear-gradient(160deg, var(--emas) 0%, #b6893a 100%);
    border-top-color:var(--putih);
    color:var(--hijau-gelap);
}

.kartu-aksi.utama svg{
    stroke:var(--hijau-gelap);
}

.kartu-aksi.utama span.ket{
    color:rgba(7,56,36,.65);
}

.kartu-aksi.utama:hover,
.kartu-aksi.utama:focus-visible{
    background:linear-gradient(160deg, var(--emas-terang) 0%, var(--emas) 100%);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width:600px){
    .hero{
        padding:36px 18px 24px;
    }

    .lambang-wrap{
        width:104px;
        height:104px;
        margin-bottom:20px;
    }

    .lambang{
        width:80px;
        height:80px;
    }

    .aksi{
        gap:14px;
    }

    .kartu-aksi{
        flex:1 1 100%;
        max-width:340px;
        padding:22px 18px;
    }

    .slide__lambang{
        width:70vw;
        opacity:.07;
    }
}

@media (min-width:601px) and (max-width:900px){
    .kartu-aksi{
        flex:1 1 45%;
    }
}

/* =========================================================
   AKSESIBILITAS — REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce){
    .slide{
        transition:opacity .01ms;
    }

    .lambang-wrap::before{
        animation:none;
    }

    .kartu-aksi,
    .kartu-aksi svg{
        transition:none;
    }
}

/* =========================================================
   HALAMAN KATALOG
========================================================= */

.container{

    position:relative;

    z-index:2;

}

.row{

    position:relative;

    z-index:2;

}

.col-md-4,
.col-md-6{

    display:flex;

}

.card-menu{

    width:100%;

    min-height:220px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

}

.slide-1{

    background-image:url('../background/bg1.jpg');

}

.slide-2{

    background-image:url('../background/bg2.jpg');

}

.slide-3{

    background-image:url('../background/bg3.jpg');

}

.slide-4{

    background-image:url('../background/bg4.jpg');

}

.slide-5{

    background-image:url('../background/bg5.jpg');

}

.slide{

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

}

.card-menu{

    background:rgba(255,255,255,.06);

    backdrop-filter:blur(10px);

    border:1px solid rgba(232,204,133,.28);

    border-top:3px solid var(--emas);

    border-radius:15px;

    padding:35px 20px;

    display:block;

    text-align:center;

    color:#fff;

    text-decoration:none;

    transition:.35s;

}

.card-menu:hover{

    transform:translateY(-8px);

    background:rgba(255,255,255,.12);

    box-shadow:0 18px 36px rgba(0,0,0,.35);

}

.card-menu i{

    font-size:55px;

    color:var(--emas-terang);

    margin-bottom:18px;

}

.card-menu h4{

    color:#fff;

    font-weight:600;

}

.card-menu span{

    color:rgba(255,255,255,.70);

}

.btn-kembali{

    background:var(--emas);

    color:var(--hijau-gelap);

    border:none;

    border-radius:12px;

    padding:12px 28px;

    font-weight:600;

}

.btn-kembali:hover{

    background:var(--emas-terang);

    color:var(--hijau-gelap);

}

/* =========================================================
   FOOTER PUBLIC
========================================================= */

.footer-public{

    margin-top:80px;

    background:#052D1C;

    color:#fff;

    padding:60px 0 25px;

    border-top:4px solid var(--emas);

}

.footer-logo{

    width:70px;

    margin-bottom:18px;

}

.footer-public h4{

    color:#fff;

    font-size:18px;

    font-weight:600;

    line-height:1.4;

    margin-bottom:12px;

}

.footer-public h5{

    color:var(--emas);

    margin-bottom:18px;

    font-size:18px;

}

.footer-public p{

    color:rgba(255,255,255,.75);

    line-height:1.8;

}

.footer-public ul{

    list-style:none;

    padding:0;

    margin:0;

}

.footer-public ul li{

    margin-bottom:12px;

    color:rgba(255,255,255,.75);

}

.footer-public ul li a{

    color:rgba(255,255,255,.75);

    text-decoration:none;

    transition:.3s;

}

.footer-public i{

    color:var(--emas);

    width:22px;

    margin-right:8px;

}

.footer-public ul li a:hover{

    color:var(--emas);

    padding-left:6px;

}

.footer-public hr{

    border-color:rgba(255,255,255,.15);

    margin:35px 0 20px;

}

.footer-copy{

    text-align:center;

    color:rgba(255,255,255,.65);

    font-size:14px;

}

/* ======================================================
   OVERLAY
====================================================== */

.overlay{

    position:fixed;

    inset:0;

    background:
        linear-gradient(
            rgba(11,93,59,.70),
            rgba(11,93,59,.55)
        );

    z-index:1;

}

/* ======================================================
   CONTAINER
====================================================== */

.container{

    position:relative;

    z-index:10;

}

/* ======================================================
   GLASS CARD
====================================================== */

.glass-card{

    width:100%;

    max-width:560px;

    padding:35px;

    border-radius:22px;

    background:rgba(255,255,255,.16);

    backdrop-filter:blur(18px);

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

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

    box-shadow:0 15px 40px rgba(0,0,0,.30);

    margin:30px auto;

}

/* ======================================================
   LOGO
====================================================== */

.logo{

    width:75px;

}

.logo:hover{

    transform:scale(1.05);

}

/* ======================================================
   JUDUL
====================================================== */

.glass-card h2{

    font-size:42px;

    margin-bottom:8px;

    color:#eeeeee;

}

.glass-card p{

    color:#eeeeee;

    font-size:15px;

}

/* ======================================================
   LABEL
====================================================== */

.form-label{

    color:#ffffff;

    font-weight:500;

}

/* ======================================================
   INPUT
====================================================== */

.input-group-text{

    background:rgba(255,255,255,.90);

    border:none;

    color:#0B5D3B;

}

.form-control,
.form-select{

    height:50px;

}

.form-control:focus,
.form-select:focus{

    box-shadow:0 0 0 .20rem rgba(11,93,59,.30);

    border:none;

}

/* ======================================================
   BUTTON
====================================================== */

.btn-daftar{

    width:100%;

    height:55px;

    border:none;

    border-radius:12px;

    background:#0B5D3B;

    color:#fff;

    font-weight:600;

    font-size:16px;

    transition:.3s;

}

.btn-daftar:hover{

    background:#08452C;

    color:#fff;

    transform:translateY(-2px);

}

/* ======================================================
   LINK
====================================================== */

.btn-kembali{

    color:#ffffff;

    text-decoration:none;

    font-size:14px;

    transition:.3s;

}

.btn-kembali:hover{

    color:#FFD54F;

}