/*
 Theme Name:   Astra Child
 Theme URI:    https://swaracreative.com/smkgamacendekia/
 Description: Child theme for Astra
 Author:       SMK GAMA CENDEKIA
 Template:     astra
 Version:      1.0.0
*/

/* =========================
   GLOBAL CONTENT SPACING
========================= */
.site-content {
  padding-top: 48px;
  padding-bottom: 0px;
}

/* Jika pakai full width / custom page */
.ast-container {
  padding-top: 48px;
  padding-bottom: 0px;
}

/* Elementor compatibility */
.elementor-section-wrap > section:first-child {
  margin-top: 32px;
}



/* =========================
   BLOG GRID (GLOBAL)
========================= */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* =========================
   BLOG CARD
========================= */
.blog-card {
  background: #ffffff;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* =========================
   THUMBNAIL
========================= */
.blog-thumb {
  display: block;
  margin-bottom: 24px;
}

.blog-thumb img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
}

/* =========================
   META (CATEGORY)
========================= */
.blog-meta {
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 8px;
  color: #4B5563;
}

.blog-meta a {
  color: #4B5563;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* =========================
   TITLE
========================= */
.blog-title {
  margin-bottom: 8px;
}

.blog-title a {
  font-size: 18px;
  line-height: 28px;
  font-weight: 600;
  color: #0F0E2A;
  text-decoration: none !important;
  border-bottom: none !important;
  display: block;
}

/* =========================
   EXCERPT
========================= */
.blog-excerpt {
  font-size: 16px;
  line-height: 28px;
  color: #4B5563;
  margin-bottom: 24px;
}

/* =========================
   READ MORE
========================= */
.blog-card .read-more {
  font-size: 18px;
  line-height: 24px;
  color: #F45B12;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: none !important;
  margin-top: auto;
}

/* =========================
   PAGINATION
========================= */
.blog-pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}

.blog-pagination .page-numbers {
  padding: 10px 16px;
  margin: 0 4px;
  text-decoration: none;
  color: #1E1E1E;
  border-radius: 6px;
}

.blog-pagination .page-numbers.current {
  background: #013578;
  color: #ffffff;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1024px) {
  .blog-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .blog-grid {
    grid-template-columns: 1fr;
  }

  .blog-thumb img {
    height: 200px;
  }
}




/* =========================
   SINGLE POST BERITA
========================= */

.single-post {
  padding: 64px 0;
}

.single-article {
  max-width: 820px;
  margin: 0 auto;
}

.single-thumb img {
  width: 100%;
  height: auto;
  border-radius: 16px;
  margin-bottom: 32px;
}

.single-header {
  margin-bottom: 32px;
}

.single-meta {
  font-size: 14px;
  color: rgba(30,30,30,.6);
  margin-bottom: 12px;
}

.single-meta span {
  margin-right: 12px;
}

.single-title {
  font-size: 36px;
  line-height: 1.3;
  margin-bottom: 0;
  color: #1A1A1A;
}

.single-content {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(30,30,30,.8);
}

.single-content p {
  margin-bottom: 1.2em;
}

.single-content h2,
.single-content h3 {
  margin-top: 2em;
  margin-bottom: .8em;
  color: #1A1A1A;
}

/* Responsive */
@media (max-width: 768px) {
  .single-title {
    font-size: 28px;
  }
}

.back-to-blog {
  display: inline-block;
  margin-top: 48px;
  color: #F45B12;
  text-decoration: none;
  font-weight: 600;
}

/* =========================
   SEARCH RESULTS PAGE
========================= */

.search-header {
  margin: 64px 0 40px;
  text-align: center;
}

.search-title {
  font-size: 28px;
  color: #1A1A1A;
}

.search-title span {
  color: #F45B12;
}

/* Empty state */
.search-empty {
  text-align: center;
  padding: 80px 0;
}

.search-form {
  margin-top: 24px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.search-field {
  padding: 10px 16px;
  border-radius: 6px;
  border: 1px solid #ddd;
  min-width: 260px;
}

.search-submit {
  padding: 10px 20px;
  background: #F45B12;
  border: none;
  color: #fff;
  border-radius: 6px;
  cursor: pointer;
}

/* =========================
   ARCHIVE & CATEGORY PAGE
========================= */

.archive-header {
  margin: 64px 0 40px;
  text-align: center;
}

.archive-title {
  font-size: 32px;
  color: #1A1A1A;
  margin-bottom: 8px;
}

.archive-description {
  font-size: 16px;
  color: rgba(30,30,30,.7);
  max-width: 640px;
  margin: 0 auto;
}


/* =========================
   ARCHIVE & SEARCH TITLE
========================= */
.archive-title,
.search-title {
  font-size: 32px;
  line-height: 1.3;
  color: #0F0E2A;
  margin-bottom: 40px;
}

.search-title span {
  color: #F45B12;
}


/* =========================
   SEARCH RESULT SPACING
========================= */
.search .blog-grid {
  margin-top: 40px;
}

.back-to-news {
  display: inline-block;
  margin: 16px 0 40px;
  font-size: 14px;
  color: #6B7280;
  text-decoration: none;
}

.back-to-news:hover {
  color: #F45B12;
}

/* =========================
   CATEGORY PAGE LAYOUT FIX
========================= */
.category .site-main {
  padding: 80px 0;
}

.category .ast-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 48px;
}

/* =========================
   ASTRA COMPATIBILITY FIX
========================= */

.ast-container {
  padding-top: 40px;
  padding-bottom: 40px;
}

.archive-header {
  margin-bottom: 40px;
}

.archive-title {
  font-size: 32px;
  line-height: 1.3;
}

/* =========================
   ARCHIVE & SEARCH LAYOUT FIX
========================= */

.archive-header {
  margin-bottom: 40px;
}

.archive-title {
  max-width: 720px;
}

/* Pastikan layout vertikal */
.site-main {
  display: block;
}

/* Jangan ada layout horizontal aneh */
.blog-archive {
  display: block;
}

/* Grid hanya untuk kartu */
.blog-grid {
  margin-top: 0;
}

/* =========================
   FORCE VERTICAL LAYOUT (SAFE)
========================= */

/* Container utama halaman archive & search */
.archive,
.search {
  display: block !important;
}

/* Wrapper konten Astra */
.archive .ast-container,
.search .ast-container {
  display: block !important;
}

/* Area konten */
.archive .site-main,
.search .site-main {
  display: block !important;
}

/* Header (judul) */
.archive-header {
  width: 100%;
  margin-bottom: 40px;
}

/* Section blog */
.blog-archive {
  width: 100%;
  display: block;
}

/* =========================
   CENTER TITLE – CATEGORY & SEARCH
========================= */

/* Judul utama archive & search */
.archive-header,
.search-header {
  text-align: center;
  margin-bottom: 40px;
}

/* Judulnya */
.archive-title,
.search-title {
  margin-left: auto;
  margin-right: auto;
}

/* =========================
   SINGLE POST LAYOUT
========================= */

/* Wrapper utama single */
.single-post main.site-main {
  padding: 80px 16px;
}

/* =========================
   FEATURED IMAGE
========================= */
.single-post .single-featured {
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  padding-left: 16px;
  padding-right: 16px;
  height: 420px;
  overflow: hidden;
  margin-bottom: 48px;
}

.single-post .single-featured img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 16px;
  display: block;
}

/* =========================
   CONTENT CONTAINER
========================= */
.single-post .single-content-wrapper {
  max-width: 860px;
  margin: 0 auto;
}

/* =========================
   META
========================= */
.single-post .single-meta {
  font-size: 14px;
  color: #6B7280;
  margin-bottom: 12px;
}

/* =========================
   TITLE
========================= */
.single-post .single-title {
  font-size: 36px;
  line-height: 1.3;
  margin-bottom: 32px;
  color: #0F0E2A;
}

/* =========================
   CONTENT
========================= */
.single-post .entry-content {
  font-size: 16px;
  line-height: 1.8;
  color: #1E1E1E;
}

/* Media di tengah, teks tetap kiri */
.single-post .entry-content img,
.single-post .entry-content video,
.single-post .entry-content iframe {
  display: block;
  margin: 32px auto;
  max-width: 100%;
}

/* =========================
   RELATED POSTS
========================= */
.single-post .related-posts {
  margin-top: 80px;
}

.single-post .related-posts h3 {
  margin-bottom: 24px;
}


.ppdb-btn {
  display: inline-block;
  padding: 14px 20px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
}

.ppdb-download {
  background: #333;
  color: #fff;
}

.ppdb-wa {
  background: #25D366;
  color: #fff;
}

