/* ============================================
   RESPONSIVE DESIGN & MEDIA QUERIES
   ============================================ */

/* Mobile Devices – 320px to 480px */
@media (min-width: 320px) and (max-width: 480px) {
  .terminal-header {
    padding: 8px 12px;
  }

  .terminal-title {
    font-size: 0.8rem;
  }

  .terminal-nav {
    padding: 10px 12px;
  }

  .terminal-nav a {
    font-size: 0.9rem;
    padding: 4px 8px;
  }

  .terminal-container {
    padding: 20px 12px;
  }

  .terminal-content {
    padding: 15px;
  }

  h1 {
    font-size: 1.8rem;
  }

  h2 {
    font-size: 1.5rem;
  }

  .profile-container {
    flex-direction: column;
    gap: 20px;
  }

  .image-placeholder {
    width: 150px;
    height: 150px;
  }

  .image-placeholder img {
    position: relative;
    top: -14px;
  }

  .project-grid {
    grid-template-columns: 1fr;
  }

  .skills-container {
    grid-template-columns: 1fr;
  }

  .contact-container {
    flex-direction: column;
    gap: 20px;
  }

  .terminal-actions {
    flex-direction: column;
  }

  .terminal-btn {
    width: 100%;
    justify-content: center;
  }

  .status-bar {
    flex-direction: column;
    gap: 10px;
  }

  #theme-toggle {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }

  .contact-method a {
    font-size: 0.95rem;
    display: inline-block;
    max-width: 100%;
    white-space: normal;
  }

  .certifications-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 15px;
  }

  .cert-content {
    padding: 18px;
  }

  .cert-image {
    height: 150px;
  }
}

/* Tablets – 481px to 768px */
@media (min-width: 481px) and (max-width: 768px) {
  .terminal-header {
    padding: 10px 15px;
  }

  .terminal-nav {
    padding: 12px 15px;
  }

  .terminal-nav a {
    font-size: 0.95rem;
  }

  .terminal-container {
    padding: 25px 15px;
  }

  .profile-container {
    flex-direction: row;
    align-items: center;
    gap: 30px;
  }

  .image-placeholder {
    width: 170px;
    height: 170px;
  }

  .project-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  }

  .skills-container {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-container {
    flex-direction: column;
    gap: 30px;
  }

  h1 {
    font-size: 2rem;
  }

  h2 {
    font-size: 1.7rem;
  }

  .status-bar {
    flex-wrap: wrap;
  }

  .certifications-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Tablets/Small Laptops – 769px to 1024px */
@media (min-width: 769px) and (max-width: 1024px) {
  .terminal-container {
    max-width: 900px;
  }

  .terminal-content {
    padding: 20px;
  }

  .profile-container {
    gap: 30px;
  }

  .image-placeholder {
    width: 180px;
    height: 180px;
  }

  .project-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }

  .skills-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Laptops – 1025px to 1200px */
@media (min-width: 1025px) and (max-width: 1200px) {
  .terminal-container {
    max-width: 1100px;
  }

  .terminal-content {
    padding: 22px;
  }

  .profile-container {
    gap: 35px;
  }

  .project-grid {
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  }
}

/* Large Screens – 1201px and up */
@media (min-width: 1201px) {
  .terminal-container {
    max-width: 1300px;
  }

  .terminal-content {
    padding: 30px;
  }

  h1 {
    font-size: 2.8rem;
  }

  h2 {
    font-size: 2.2rem;
  }

  .profile-container {
    gap: 50px;
  }

  .image-placeholder {
    width: 220px;
    height: 220px;
  }

  .project-grid {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  }
}

/* General responsive improvements */
@media (max-width: 768px) {
  .terminal-nav ul {
    gap: 10px;
  }

  .terminal-actions {
    flex-direction: column;
  }

  .terminal-btn {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 480px) {
  .terminal-content {
    padding: 15px;
  }

  .project-grid {
    grid-template-columns: 1fr;
  }

  .skills-container {
    grid-template-columns: 1fr;
  }

  .status-bar {
    flex-direction: column;
    gap: 10px;
  }

  #theme-toggle {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }

  .certifications-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 15px;
  }

  /* Modal responsive styles for mobile */
  .cert-modal-content {
    max-width: 95vw;
    max-height: 85vh;
  }

  .cert-modal-image {
    max-height: 75vh;
  }

  .cert-modal-close {
    top: 10px;
    right: 10px;
    font-size: 1.8rem;
  }
}
