/* ============================================================
   CODEFORCER PORTFOLIO — RESPONSIVE v2.0
   ============================================================ */

/* ── 1200px — Large Laptop ── */
@media (max-width: 1200px) {
  .home .text-2 { font-size: 4.2rem; }
  .hero-code-card { width: 300px; }
}

/* ── 990px — Tablet Landscape ── */
@media (max-width: 990px) {
  .services .service-content {
    grid-template-columns: repeat(2, 1fr);
  }

  .hero-code-card {
    display: none;
  }

  .home-content {
    max-width: 100%;
  }

  .stats-grid {
    gap: 0;
  }

  .stat-item {
    min-width: 120px;
  }

  .stat-number {
    font-size: 2.4rem;
  }
}

/* ── 920px — Tablet Portrait ── */
@media (max-width: 920px) {
  /* Nav */
  .navbar ul { gap: 0.1rem; }

  /* Hero */
  .home { padding: 7rem 0 4rem; }
  .home .text-2 { font-size: 3.4rem; }
  .home .text-3 { font-size: 1.4rem; }

  /* About */
  .about { padding: 5rem 0; }

  .about .about-content {
    flex-direction: column;
    align-items: center;
  }

  .about .about-content .left,
  .about .about-content .right {
    width: 100%;
    max-width: 560px;
  }

  .about .about-content .left {
    justify-content: center;
  }

  .about-img-wrap img {
    width: 280px;
    height: 280px;
  }

  /* Skills */
  .skills .skills-content {
    flex-direction: column;
    align-items: center;
  }

  .skills .skills-content .column.left {
    width: 100%;
    max-width: 580px;
  }

  .skill_image { display: none; }

  /* Contact */
  .contact .contact-content {
    grid-template-columns: 1fr;
  }

  .contact .contact-content .right {
    padding: 1.6rem;
  }

  /* BG Fixed */
  .bg-fixed-1 {
    background-attachment: scroll;
  }
}

/* ── 780px — Mobile ── */
@media (max-width: 780px) {

  /* Custom cursor off on touch */
  .cursor-dot,
  .cursor-ring {
    display: none;
  }

  body { cursor: auto; }

  /* Social dock off on mobile */
  .social-dock { display: none; }

  /* Hamburger menu */
  .menu-btn { display: flex; }

  .navbar ul {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    position: fixed;
    inset: 0;
    background: rgba(5, 13, 26, 0.97);
    backdrop-filter: blur(20px);
    transform: translateX(-100%);
    z-index: 999;           /* fix: must be above everything */
    transition: transform 0.4s cubic-bezier(0.4,0,0.2,1);
    pointer-events: none;   /* fix: invisible ul shouldn't block taps */
  }

  .navbar ul.active {
    transform: translateX(0);
    pointer-events: auto;   /* fix: restore taps when menu is open */
  }

  .navbar li a {
    font-size: 1.2rem;
    font-weight: 600;
    color: rgba(255,255,255,0.8);
  }

  .navbar li a:hover,
  .navbar li a:active {
    color: var(--blue);
    background: none;
  }

  .navbar li.nav-cta a {
    padding: 0.65rem 2rem;
    font-size: 1rem;
  }

  /* Hero */
  .home { padding: 6rem 0 5rem; }

  .home .container {
    justify-content: center;
    text-align: center;
  }

  .home-content {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .home .text-1 { font-size: 1.1rem; }
  .home .text-2 { font-size: 2.8rem; }
  .home .text-3 { font-size: 1.3rem; }

  .hero-sub {
    text-align: center;
    max-width: 380px;
  }

  .hero-actions {
    justify-content: center;
  }

  .hero-scroll-indicator { bottom: 1.5rem; }

  /* Stats */
  .stats-strip { padding: 2rem 0; }

  .stats-grid {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }

  .stat-item {
    width: 50%;
    min-width: unset;
    padding: 1rem 0.5rem;
    border-bottom: 1px solid rgba(255,255,255,0.05);
  }

  .stat-item:nth-child(odd) {
    border-right: 1px solid rgba(255,255,255,0.05);
  }

  .stat-divider { display: none; }

  .stat-number { font-size: 2.2rem; }

  /* About */
  .about-img-wrap img {
    width: 240px;
    height: 240px;
  }

  .about .about-content .right {
    max-width: 100%;
  }

  /* Services */
  .services .service-content {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin: 0 auto;
  }

  /* BG Fixed */
  .bg-content {
    flex-direction: column;
    text-align: center;
    align-items: center;
  }

  .bg-fixed-1 .bg-text-1 { font-size: 2rem; }
  .bg-fixed-1 .bg-text-2 { align-items: center; font-size: 1rem; }

  /* Contact */
  .contact .contact-content .right { padding: 1.2rem; }

  .contact .right form .fields { flex-direction: column; }

  /* Footer */
  .footer-top { flex-direction: column; }
  .footer-links { flex-wrap: wrap; gap: 1.5rem; }
  .footer-bottom { flex-direction: column; align-items: center; gap: 1rem; }
}

/* ── 600px — Small Mobile ── */
@media (max-width: 600px) {
  html { font-size: 15px; }

  .home .text-2 { font-size: 2.4rem; }
  .home .text-3 { font-size: 1.15rem; }

  .title { font-size: 1.9rem; margin-bottom: 2rem; }

  .about-img-wrap img { width: 200px; height: 200px; }

  .about-tags span { font-size: 0.72rem; }

  .services .card { padding: 1.6rem 1.3rem; }

  .bg-fixed-1 .bg-text-1 { font-size: 1.7rem; }

  .contact .contact-content .right { padding: 1rem; }

  .footer-links { flex-direction: column; gap: 1.5rem; }
}

/* ── 400px — Extra Small ── */
@media (max-width: 400px) {
  html { font-size: 14px; }

  .home .text-2 { font-size: 2rem; }

  .hero-badge { font-size: 0.72rem; text-align: center; }

  .stat-item { width: 100%; border-right: none !important; }

  .stats-grid { gap: 0.5rem; }

  .btn-hire,
  .btn-work { width: 100%; justify-content: center; }

  .hero-actions { flex-direction: column; width: 100%; }
}