/*
Theme Name: GeneratePress Child
Template: generatepress
*/

@import url("../generatepress/style.css");

/* ==== Custom Blog & Post ==== */
/* paste CSS blog + post di sini */

/* ===============================
   BLOG PAGE
================================ */

.blog-wrapper {
  max-width: 1200px;
  margin: auto;
  padding: 60px 20px;
}

.blog-header {
  text-align: center;
  margin-bottom: 50px;
}

.blog-header h1 {
  font-size: 36px;
  margin-bottom: 10px;
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 30px;
}

.card-body {
    margin: 0 30px;
}

.blog-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,.07);
  transition: transform .3s ease;
}

.blog-card:hover {
  transform: translateY(-6px);
}

.blog-thumb img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.blog-content {
  padding: 30px !important;
}

.blog-date {
  font-size: 13px;
  color: #888;
}

.card-body h2 {
  font-size: 20px;
  margin: 10px 10px 10px 0 !important;
  color: #111;
}

.card-body p {
  font-size: 15px;
  color: #555;
}

/* ===============================
   SINGLE POST ONLY
================================ */
.single-post .gp-single-post {
  background: #f7f8fa;
  padding: 80px 20px;
}

.single-post .post-wrap {
  max-width: 820px;
  margin: auto;
  background: #fff;
  padding: 50px;
  border-radius: 18px;
}

.single-post .post-content {
  font-size: 18px;
  line-height: 1.8;
}
/* ===============================
   RELATED POST (SINGLE ONLY)
================================ */

.single-post .related-posts {
  margin-top: 70px;
}

.single-post .related-posts h3 {
  font-size: 22px;
  margin-bottom: 24px;
}

.single-post .related-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 26px;
}

.single-post .related-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 22px rgba(0,0,0,.08);
  transition: transform .25s ease;
}

.single-post .related-card:hover {
  transform: translateY(-5px);
}

.single-post .related-card img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}

.single-post .related-card h4 {
  font-size: 16px;
  padding: 16px;
  margin: 0;
  color: #111;
}

/* ==============================
  pagination
================================= */
.page-template-page-blog .blog-pagination {
  margin-top: 50px;
  text-align: center;
}

.page-template-page-blog .blog-pagination a,
.page-template-page-blog .blog-pagination span {
  display: inline-block;
  margin: 0 6px;
  padding: 10px 16px;
  border-radius: 8px;
  background: #f1f1f1;
  text-decoration: none;
}

.page-template-page-blog .blog-pagination .current {
  background: #111;
  color: #fff;
}
/* ===============================
   BREADCRUMB SEO
================================ */

div .breadcrumb {
  width: 100%;
  margin: 0 0 30px;
  background-color: #eee;
}
.gp-breadcrumb {
  font-size: 14px;
  padding: 10px 16px;
  margin-bottom: 30px;
  list-style: none;
  background-color: #eee;
}

.gp-breadcrumb ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
}

.gp-breadcrumb li {
  color: #777;
}

.gp-breadcrumb li + li:before {
  content: "›";
  margin: 0 8px;
  color: #bbb;
}

.gp-breadcrumb a {
  text-decoration: none;
  color: #555;
}

.gp-breadcrumb a:hover {
  text-decoration: underline;
}
/* ===============================
   FAQ INLINE
================================ */

.gp-faq {
  margin: 60px 0;
  border-top: 1px solid #eee;
}

.gp-faq .faq-item {
  padding: 25px 0;
  border-bottom: 1px solid #eee;
}

.gp-faq .faq-question {
  font-size: 18px;
  margin-bottom: 10px;
}

.gp-faq .faq-answer {
  font-size: 16px;
  color: #555;
}
/* ===============================
   FAQ ACCORDION
================================ */

.gp-faq {
  margin: 60px 0;
  border-top: 1px solid #eee;
}

.gp-faq .faq-item {
  border-bottom: 1px solid #eee;
}

.gp-faq .faq-question {
    width: 100%;
    padding: 18px 10px;
    font-size: 18px;
    font-weight: 600;
    background: #999999;
    border: none;
    text-align: left;
    cursor: pointer;
    position: relative;
}

.gp-faq .faq-question::after {
  content: "+";
  position: absolute;
  right: 0;
  font-size: 22px;
}

.gp-faq .faq-item.active .faq-question::after {
  content: "–";
}

.gp-faq .faq-answer {
  display: none;
  padding-bottom: 20px;
  color: #555;
  font-size: 16px;
}

.gp-faq .faq-item.active .faq-answer {
  display: block;
}
