* {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Override Tachyons spesifik OK */
.f1, .f2, .f3, .f4, .f5, .f6, .f7 { 
  font-family: 'Poppins', sans-serif !important; 
}

h1 {
  font-size: 2.5rem !important;    /* 40px */
  line-height: 1.1 !important;
  font-weight: 700 !important;
  margin-bottom: 1.5rem !important;
}

h2 {
  font-size: 2rem !important;      /* 32px */
  line-height: 1.2 !important;
  font-weight: 600 !important;
  margin: 2rem 0 1rem 0 !important;
}

h3 {
  font-size: 1.5rem !important;    /* 24px */
  line-height: 1.3 !important;
  margin: 1.5rem 0 1rem 0 !important;
}

h4 {
  font-size: 1.25rem !important;   /* 20px */
  margin: 1.25rem 0 0.75rem 0 !important;
}

p {
  font-size: 1.1rem !important;    /* Body text 18px */
  line-height: 1.6 !important;
  margin-bottom: 1.25rem !important;
}

/* Homepage khusus lebih besar */
.home h1 {
  font-size: 3rem !important;  /* 48px di frontpage */
}

@media (max-width: 479px) {
  footer, .footer, .copyright-section {  /* sesuaikan class footer-mu */
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: center !important;
    padding: 15px 10px !important;
  }
  
  .copyright, footer p {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    font-size: 12px !important;
    white-space: normal !important;  /* biar wrap */
    order: 1;  /* text duluan */
  }
  
  /* Icons social di bawah */
  footer ul, .social-icons {
    order: 2;
    flex-direction: row;
    justify-content: center;
    margin-top: 10px;
  }
  
  footer ul li {
    margin: 0 5px;
    font-size: 20px;  /* kurangi ukuran icon */
  }
}

/* Perbaikan Kontras Link untuk SEO & Aksesibilitas */
a.link.blue {
    color: #0044cc !important; /* Biru lebih gelap agar mudah dibaca */
    transition: color 0.2s ease;
}

a.link.blue:hover {
    color: #002266 !important;
}

/* Logo margin atas */
.site-header .logo,
.navbar-logo,
.header-logo,
img[src*="logo"],
.site-title img {
  margin-top: 20px !important;  /* Sesuaikan px */
}

/* Navbar header spacing */
.site-header,
.navbar,
.header {
  padding-top: 30px !important;
  margin-top: 15px !important;
}

/* Memperbaiki tampilan di Mobile Portrait */
@media screen and (max-width: 30em) {
    .f2 { font-size: 1.5rem; } /* Ukuran judul lebih pas di HP */
    footer { 
        padding-bottom: 2rem !important; /* Memberi ruang agar footer tidak terpotong */
        text-align: center;
    }
}

/* Efek Bayangan pada Kartu Artikel */
.shadow-4 {
    box-shadow: 0px 4px 8px rgba(0,0,0,0.05);
}

.object-cover {
    object-fit: cover !important;
}
