/* ============================================================
   YPDMI — Mobile Responsive Fixes
   Tambahan responsiveness untuk tampilan HP/tablet
   ============================================================ */

/* === GRID-2 RESPONSIVE === */
@media (max-width: 900px) {
  .grid-2 {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  
  /* Saat dipisah, sidebar (yang tadinya di kanan) pindah ke bawah */
  .grid-2[style*="2fr 1fr"],
  .grid-2[style*="1fr 2fr"] {
    grid-template-columns: 1fr !important;
  }
  
  /* Sticky sidebar dilepas di mobile */
  aside .card[style*="sticky"],
  aside .card[style*="position: sticky"] {
    position: static !important;
    top: auto !important;
  }
}

/* === GRID-3 RESPONSIVE === */
@media (max-width: 900px) {
  .grid-3 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}
@media (max-width: 600px) {
  .grid-3 {
    grid-template-columns: 1fr !important;
  }
}

/* === GRID-4 RESPONSIVE === */
@media (max-width: 900px) {
  .grid-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 1.5rem !important;
  }
}
@media (max-width: 480px) {
  .grid-4 {
    grid-template-columns: 1fr !important;
  }
}

/* === SECTION PADDING DI MOBILE === */
@media (max-width: 768px) {
  .section {
    padding-block: 3rem;
  }
  
  /* Header section dengan padding besar */
  header.section {
    padding: 6rem 0 3rem !important;
  }
  
  /* Display & section title responsive */
  .display-1 { font-size: 2rem !important; }
  .display-2 { font-size: 1.75rem !important; line-height: 1.2; }
  .heading-1 { font-size: 1.75rem !important; }
  .heading-2 { font-size: 1.4rem !important; }
  .heading-3 { font-size: 1.15rem !important; }
  .section-title { font-size: 1.5rem !important; line-height: 1.3; }
  .section-desc { font-size: 0.95rem; }
}

/* === FLEX-BETWEEN DI MOBILE === */
@media (max-width: 768px) {
  .flex-between {
    flex-direction: column;
    gap: 1.5rem;
    align-items: flex-start !important;
  }
  .flex-between > * {
    width: 100%;
  }
}

/* === FLEX-CENTER DI MOBILE === */
@media (max-width: 600px) {
  .flex-center.gap-4,
  .flex-center.gap-2 {
    flex-direction: column;
    width: 100%;
  }
  .flex-center .btn {
    width: 100%;
    justify-content: center;
  }
}

/* === FOOTER RESPONSIVE === */
@media (max-width: 900px) {
  .footer__top {
    grid-template-columns: 1fr 1fr !important;
    gap: 2rem !important;
  }
}
@media (max-width: 600px) {
  .footer__top {
    grid-template-columns: 1fr !important;
  }
  .footer__bottom {
    flex-direction: column;
    gap: 1rem;
    text-align: center;
  }
}

/* === PADDING LEFT FIX UNTUK TENTANG SECTION === */
@media (max-width: 900px) {
  [style*="padding-left: 2rem"] {
    padding-left: 0 !important;
  }
}

/* === TEAM GRID RESPONSIVE === */
@media (max-width: 600px) {
  .team-grid {
    gap: 1.5rem !important;
  }
  .team-card-premium {
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* === CARD PADDING RESPONSIVE === */
@media (max-width: 600px) {
  .card {
    padding: 1.5rem !important;
  }
  .priority-card {
    padding: 2rem 1.5rem !important;
  }
  .program-card {
    padding: 1.5rem !important;
  }
}

/* === BUTTON RESPONSIVE === */
@media (max-width: 480px) {
  .btn {
    padding: 0.75rem 1.25rem;
    font-size: 0.9rem;
  }
}

/* === MARQUEE RESPONSIVE === */
@media (max-width: 600px) {
  .marquee-inner {
    font-size: 0.85rem !important;
  }
  .marquee-item {
    margin-right: 2.5rem !important;
  }
}

/* === FORM RESPONSIVE === */
@media (max-width: 600px) {
  .form-control {
    font-size: 0.95rem;
  }
  
  /* Form bergabung type cards */
  .type-card {
    padding: 1rem !important;
  }
  .type-card i {
    font-size: 2rem !important;
    margin-bottom: 0.5rem !important;
  }
}

/* === STATISTIK RESPONSIVE === */
@media (max-width: 768px) {
  .stat-item-modern {
    padding: 1rem 0.5rem !important;
  }
  .stat-item-modern > div:first-child {
    font-size: 2.5rem !important;
  }
  .stat-item-modern > div:last-child {
    font-size: 0.9rem !important;
  }
  /* Hilangkan divider di mobile */
  .stat-item-modern:not(:last-child)::after {
    display: none !important;
  }
}

/* === CONTENT BLOCK RESPONSIVE (untuk artikel/konten panjang) === */
@media (max-width: 600px) {
  .content-block,
  #detail-content {
    font-size: 0.95rem !important;
  }
  .content-block h2,
  #detail-content h2 {
    font-size: 1.3rem !important;
  }
  .content-block h3,
  #detail-content h3 {
    font-size: 1.1rem !important;
  }
  .content-block p,
  #detail-content p {
    line-height: 1.7;
  }
  .content-block img,
  #detail-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
  }
}

/* === RELATED ITEM RESPONSIVE === */
@media (max-width: 600px) {
  .related-item img {
    height: 100px !important;
  }
  .related-item h4 {
    font-size: 0.9rem !important;
  }
}

/* === BREADCRUMB MOBILE === */
@media (max-width: 600px) {
  .breadcrumb {
    font-size: 0.8rem;
    flex-wrap: wrap;
  }
}
