/* RESET */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:sans-serif;
}

body{
  background:#fff8e6;
  color:#222;
}

/* HEADER */
header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  background:#ffdd99;
  padding:15px 20px;
  position:relative;
}

.header-left,.header-center,.header-right{
  flex:1;
}

/* LOGO kiri */
.header-left{ display:flex; align-items:center; }
.logo{ height:50px; }

/* TITLE tengah */
.header-center{
  text-align:center;
}
.header-center h1{
  margin:0;
  font-size:28px;
  font-weight:bold;
}

/* MENU kanan */
.header-right{
  display:flex;
  justify-content:flex-end;
  align-items:center;
}
.hamburger{
  font-size:28px;
  cursor:pointer;
}

/* DROPDOWN NAV */
nav{
  display:none;
  flex-direction:column;
  position:absolute;
  top:70px;
  right:20px;
  background:#ffdd99;
  padding:10px;
  border-radius:10px;
  box-shadow:0 4px 8px rgba(0,0,0,0.2);
}
nav a{
  padding:10px 15px;
  text-decoration:none;
  font-weight:bold;
  color:#333;
}
.show{ display:flex; }

/* HERO (tampilan awal) */
.hero{
  text-align:center;
  padding:50px 20px;
}

/* CARDS di tengah */
.cards{
  display:flex;
  gap:20px;
  justify-content:center;
  flex-wrap:wrap;
  padding:20px;
}
.card{
  width:250px;
  background:white;
  padding:20px;
  margin:10px;
  border-radius:15px;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}
.card h3{ margin-bottom:8px; }

/* GALERI */
.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:15px;
  padding:20px;
}
.gallery img{
  width:100%;
  height:180px;
  object-fit:cover;
  border-radius:12px;
  box-shadow:0 4px 8px rgba(0,0,0,0.1);
}

/* ————————————————
   TAMBAHAN KHUSUS FOTO KEGIATAN (AGAR BISA DIPERKECIL UTUH)
   ———————————————— */
.kegiatan-img{
  width:240px;     /* kecil & rapi */
  height:auto; 
  object-fit:contain;
  border-radius:12px;
  background:white;
  padding:6px;
  box-shadow:0 4px 10px rgba(0,0,0,0.1);
}

/* FOOTER */
footer{
  text-align:center;
  padding:20px;
  background:#ffdd99;
  margin-top:40px;
}

/* CARD BESAR DI HALAMAN TENTANG, ARTIKEL, GALERI, KEGIATAN */
.card {
  max-width: 800px;     /* agar tidak melebar penuh */
  margin: 30px auto;    /* <-- INI YANG MEMBUAT DI TENGAH */
}

.section-title {
    text-align: center;
    font-size: 26px;
    margin: 40px 0 20px;
    color: #333;
}

.book-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
    margin-bottom: 40px;
}

.book-item {
    background: white;
    width: 250px;
    padding: 15px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.book-item img {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 10px;
}

.flyer-list {
    display: flex;
    gap: 20px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.flyer {
    width: 300px;
    border-radius: 10px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.1);
}

.btn {
    display: inline-block;
    padding: 8px 14px;
    background: #ffca7a;
    border-radius: 6px;
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

/* ===============================
   PERAPIAN TAMPAILAN HALAMAN BUKU
   =============================== */

/* Grid 3 kolom untuk semua gambar buku */
.book-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 kolom */
    gap: 25px;
    padding: 20px 40px;
    justify-items: center;
}

/* Untuk card buku */
.book-item {
    width: 100%;
    max-width: 300px;
}

/* Untuk flyer agar ikut rapi */
.flyer-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 20px 40px;
    justify-items: center;
}

.flyer {
    width: 100%;
    max-width: 300px;
}

/* ===============================
   KHUSUS HALAMAN REKOMENDASI BUKU
   =============================== */

.books-container {
    display: block !important;     /* hentikan flex bawaan */
    padding: 20px 10px;
}

/* Judul kategori */
.section-title {
    width: 100%;
    text-align: center;
    font-size: 26px;
    margin: 30px 0 15px;
}

/* Semua gambar buku rapi berjajar */
.book-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    justify-items: center;
    padding: 10px 20px;
}

/* Card buku */
.book-item {
    background: white;
    width: 1800%;
    max-width: 300px;
    padding: 15px;
    border-radius: 15px;
    text-align: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* Flyer Buku */
.flyer-list {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    gap: 25px;
    padding: 10px 20px;
    justify-items: center;
}

.flyer {
    width: 100%;
    max-width: 300px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

/* ===============================
   PERBAIKAN KHUSUS HALAMAN ARTIKEL
   =============================== */

.article-container {
    max-width: 900px;     /* lebar ideal artikel */
    width: 100%;
    background: whitesmoke;
    padding: 30px;
    margin: 40px auto;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    line-height: 1.8;
    font-size: 18px;
}

/* Judul artikel */
.article-container h2,
.article-container h1 {
    text-align: center;
    margin-bottom: 20px;
}

/* ===============================
   PERAPIAN TAMPILAN ARTIKEL
   =============================== */

.article-container {
    max-width: 750px;
    width: 100%;
    background: white;
    padding: 35px 40px;
    margin: 40px auto;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    font-size: 18px;
    line-height: 1.85;
}

.article-container h2 {
    text-align: center;
    margin-bottom: 25px;
    font-size: 28px;
    font-weight: bold;
}

.article-container h3 {
    text-align: center;
}

/* Paragraf rapi */
.article-container p {
    text-align: justify;        /* rata kiri kanan */
    text-indent: 30px;          /* masuk 5 karakter */
    margin-bottom: 22px;        /* jarak antar paragraf */
}

/* ===============================
   TAMPILAN HALAMAN BUKU REKOMENDASI
   =============================== */

.rekomendasi-container {
    max-width: 800px;
    width: 100%;
    background: white;
    padding: 35px 40px;
    margin: 40px auto;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

/* Judul halaman */
.rekomendasi-container h2 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 30px;
    font-weight: bold;
    color: #333;
}

/* Daftar tiap buku */
.buku-item {
    margin-bottom: 35px;
    padding-bottom: 25px;
    border-bottom: 1px solid #e0e0e0;
}

.buku-item:last-child {
    border-bottom: none;
}

/* Judul buku */
.buku-item h3 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    color: #222;
}

/* Penulis */
.buku-item .penulis {
    font-size: 16.5px;
    color: #666;
    margin-bottom: 12px;
}

/* Isi deskripsi */
.buku-item p {
    text-align: justify;       /* rata kiri kanan */
    text-indent: 28px;         /* indent paragraf */
    margin-bottom: 15px;       /* jarak antar paragraf */
    line-height: 1.75;
    font-size: 17.5px;
}

/* Tombol link / beli */
.buku-item a {
    display: inline-block;
    margin-top: 10px;
    background: #007bff;
    padding: 8px 15px;
    color: white;
    border-radius: 8px;
    text-decoration: none;
    transition: 0.2s;
}

.buku-item a:hover {
    background: #0056c1;
}

/* Cover buku (opsional) */
.buku-cover {
    width: 120px;
    height: auto;
    border-radius: 10px;
    float: right;
    margin-left: 20px;
    margin-bottom: 10px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* ====================================
   FIX: AGAR PARAGRAF BUKU RATA KIRI-KANAN
   ==================================== */

.book-item p {
    text-align: justify;
    text-indent: 28px;        /* indent 5 karakter */
    margin-bottom: 18px;      /* jarak antar paragraf */
    line-height: 1.75;
    font-size: 17px;
}

/* ====================================
   FIX: SEPARATOR PADA ARTIKEL
   ==================================== */
.separator {
    text-align: center !important;
    width: 100%;
    display: block;
    margin: 30px auto;
    font-size: 24px;
    letter-spacing: 10px;
}

/* ===== ARTICLE PAGE LAYOUT ===== */

.article-wrapper {
    max-width: 760px;
    margin: 0 auto;
    padding: 20px;
    font-family: "Georgia", serif;
    line-height: 1.8;
    color: #222;
}

/* Judul Artikel */
.article-title {
    text-align: center;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 5px;
}

.article-meta {
    text-align: center;
    font-size: 14px;
    color: #777;
    margin-bottom: 40px;
}

/* Paragraph */
.article-wrapper p {
    margin-bottom: 22px;
    font-size: 18px;
}

/* Quotes */
blockquote {
    font-style: italic;
    padding-left: 18px;
    border-left: 3px solid #d8d8d8;
    color: #555;
    margin: 25px 0;
}

/* Separator */
.separator {
    text-align: center !important;
    font-size: 22px;
    letter-spacing: 12px;
    margin: 40px 0;
    opacity: 0.7;
}

/* Mini Decorative Illustration */

.illustration {
    width: 200%;
    max-width: 250px;     
    margin: 0 auto 30px auto;
    opacity: 1;
    display: block;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}


/* Footer article info */
.article-footer {
    margin-top: 60px;
    text-align: center;
    font-size: 14px;
    color: #999;
}
