/* ==========================================================================
   DevOps Portfolio - Responsive Media Queries
   Author: Sumith K Sam
   ========================================================================== */

/* --------------------------------------------------------------------------
   Large Desktops (1440px and above)
   -------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  :root {
    --container-max: 1360px;
  }

  .hero-name {
    font-size: 3.2rem;
  }

  .hero-bio {
    font-size: 1.15rem;
  }

  .cli-screen {
    min-height: 480px;
  }
}

/* --------------------------------------------------------------------------
   Laptops / Standard Desktops (Max 1200px)
   -------------------------------------------------------------------------- */
@media (max-width: 1200px) {
  .lab-content {
    grid-template-columns: 1fr 300px;
  }

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

/* --------------------------------------------------------------------------
   Tablets / Small Laptops (Max 1024px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .section {
    padding: 72px 0;
  }

  .hero-layout-grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .globe-card {
    max-width: 560px;
    margin: 0 auto;
  }

  .about-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .lab-content {
    grid-template-columns: 1fr;
  }

  .lab-inspector-panel {
    border-left: none;
    border-top: 1px solid var(--border-subtle);
  }

  .sim-workspace {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .contact-container-grid,
  .contact-cards-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .hero-name {
    font-size: 2.2rem;
  }
}

/* --------------------------------------------------------------------------
   Tablets & Mobile Landscape (Max 768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  :root {
    --navbar-height: 58px;
  }

  /* Custom Cursor disable on touch/mobile devices */
  .custom-cursor-dot,
  .custom-cursor-ring {
    display: none !important;
  }

  /* Mobile Navbar & Drawer */
  .mobile-menu-toggle {
    display: block;
  }

  .nav-menu {
    position: fixed;
    top: calc(var(--topbar-height) + var(--navbar-height));
    left: 0;
    width: 100%;
    height: calc(100vh - var(--topbar-height) - var(--navbar-height));
    background-color: var(--bg-terminal);
    flex-direction: column;
    align-items: flex-start;
    padding: 32px 24px;
    gap: 18px;
    border-bottom: 1px solid var(--border-subtle);
    transform: translateX(-100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
    z-index: 999;
  }

  .nav-menu.open {
    transform: translateX(0);
  }

  .nav-link {
    font-size: 1rem;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border-subtle);
  }

  .nav-link.active::after {
    left: 0;
    right: auto;
    width: 4px;
    height: 100%;
    top: 0;
  }

  .nav-actions .nav-cli-btn {
    display: none;
  }

  /* Top Status Bar adjustments */
  .top-status-bar {
    padding: 0 12px;
  }

  .status-left .status-item:not(:first-child) {
    display: none;
  }

  /* Hero Section & 3D Globe */
  .hero-terminal {
    margin-bottom: 24px;
  }

  .globe-canvas-wrapper {
    min-height: 330px;
  }

  #devops-globe-canvas {
    max-width: 350px;
  }

  .terminal-body {
    padding: 20px;
  }

  .hero-name {
    font-size: 1.8rem;
  }

  .hero-bio {
    font-size: 0.95rem;
  }

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

  .hero-actions .btn {
    width: 100%;
  }

  .social-links {
    margin-left: 0;
    justify-content: center;
    width: 100%;
    margin-top: 10px;
  }

  /* Projects */
  .projects-grid {
    grid-template-columns: 1fr;
  }

  /* Experience Timeline */
  .experience-timeline {
    padding-left: 24px;
  }

  .timeline-marker {
    left: -20px;
    width: 12px;
    height: 12px;
  }

  .timeline-card {
    padding: 20px;
  }

  /* Interactive Lab */
  .lab-canvas-area {
    padding: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .topology-svg {
    min-width: 600px;
  }

  .lab-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  .lab-controls {
    width: 100%;
    flex-wrap: wrap;
  }

  .lab-btn {
    flex: 1;
    justify-content: center;
  }

  /* Terminal */
  .cli-screen {
    padding: 16px;
    min-height: 340px;
  }

  .cli-input-line {
    font-size: 0.85rem;
  }

  .cli-prompt-label {
    font-size: 0.8rem;
  }

  /* Troubleshooting */
  .sim-workspace {
    padding: 16px;
  }

  .sim-nav-tabs {
    padding-bottom: 4px;
  }

  .sim-tab-btn {
    padding: 10px 14px;
    font-size: 0.75rem;
  }

  /* Modals */
  .modal-overlay {
    padding: 12px;
  }

  .modal-window {
    max-height: 92vh;
  }

  .modal-header {
    padding: 12px 16px;
  }

  .modal-body {
    padding: 18px;
  }

  /* Footer */
  .footer-content {
    flex-direction: column;
    text-align: center;
    gap: 12px;
  }
}

/* --------------------------------------------------------------------------
   Small Mobile Screens (Max 480px / 375px)
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  .container {
    padding: 0 16px;
  }

  .section {
    padding: 56px 0;
  }

  .section-title {
    font-size: 1.5rem;
  }

  .hero-name {
    font-size: 1.6rem;
  }

  .globe-canvas-wrapper {
    min-height: 290px;
  }

  #devops-globe-canvas {
    max-width: 290px;
  }

  .globe-stats-row {
    gap: 8px;
  }

  .globe-stat-item .stat-num {
    font-size: 0.85rem;
  }

  .about-meta-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .spec-key {
    min-width: 100px;
  }

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

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

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

  .contact-method-card {
    flex-direction: column;
    align-items: flex-start;
  }

  .contact-method-card .copy-btn {
    width: 100%;
    text-align: center;
  }

  .contact-form-card {
    padding: 20px 16px;
  }

  .boot-terminal-box {
    margin: 12px;
  }

  .boot-log-container {
    height: 250px;
    font-size: 0.75rem;
  }

  .cli-pill-commands {
    display: none;
  }
}

