/* ============================================================
   RESPONSIVE — Tablet (≤1024px)
   ============================================================ */
@media (max-width: 1024px) {
  .page-wrapper {
    grid-template-columns: 1fr; /* Full width for content */
    grid-template-areas:
      "header"
      "toolhead"
      "main"
      "right-sidebar"
      "footer";
  }

  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    z-index: 200;
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .right-sidebar {
    position: static;
    height: auto;
    border-left: none;
    border-top: 1px solid var(--border-color);
    padding: var(--space-8) var(--space-4) !important;
    margin-top: var(--space-8);
    margin-bottom: var(--space-8);
  }

  .tool-header {
    padding: var(--space-8) var(--space-4);
  }

  .main-content {
    padding: var(--space-4);
  }

  .footer-links-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}


/* ============================================================
   RESPONSIVE — Mobile (≤768px)
   ============================================================ */
@media (max-width: 768px) {
  .page-wrapper {
    grid-template-columns: 1fr !important;
    display: block; /* Safer for very small screens to avoid grid issues */
  }

  .main-header, .tool-header, .main-content, .right-sidebar, .main-footer {
    width: 100%;
    box-sizing: border-box;
  }

  .sidebar {
    position: fixed;
    left: 0;
    top: 0;
    transform: translateX(-100%);
    z-index: 200;
    width: 280px;
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .sidebar.open {
    transform: translateX(0);
  }

  .sidebar-close-btn {
    display: block;
  }

  .sidebar-overlay.active {
    display: block;
  }

  .hamburger-btn {
    display: block;
  }

  .right-sidebar {
    position: static;
    height: auto;
    border-left: none;
    border-top: 1px solid var(--border-color);
    padding: var(--space-6) var(--space-4) !important;
  }

  .main-content {
    padding: var(--space-2) var(--space-4) !important;
  }

  .main-header {
    padding: 0 var(--space-4);
    height: 60px;
  }

  .sidebar-brand {
    padding: 0 var(--space-4);
    height: 60px;
  }

  .hero-section {
    padding: var(--space-6) var(--space-4);
  }

  .hero-section h1 {
    font-size: var(--text-2xl);
  }

  .tool-controls-grid, .color-input-panel, .input-row {
    grid-template-columns: 1fr !important;
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }

  /* Remove tool-area wrapper padding on mobile — let cards breathe */
  .tool-area {
    padding: 0;
    border: none;
    box-shadow: none;
    background: transparent;
    border-radius: 0;
  }

  .hero-section h1, .tool-header h1 {
    font-size: var(--text-xl);
    line-height: 1.2;
  }

  /* Align tool-header with main-content and hamburger padding */
  .tool-header {
    padding: var(--space-4);
  }

  .control-card {
    padding: var(--space-4);
  }

  .result-area, .seo-content .ad-inline, .color-facts-body, .color-name-display {
    padding: var(--space-3);
  }

  .color-facts-header {
    padding: var(--space-3) var(--space-4);
  }

  .color-result {
    grid-template-columns: 1fr !important;
    gap: var(--space-3);
  }

  .color-value-item {
    padding: var(--space-3);
  }

  .color-values-card {
    grid-template-columns: 1fr 1fr;
  }

  .widget {
    padding: var(--space-4) !important;
  }

  .header-breadcrumb {
    font-size: var(--text-xs);
    white-space: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .header-breadcrumb .separator {
    margin: 0 4px;
  }

  .footer-links-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .main-footer {
    padding: var(--space-8) var(--space-4) var(--space-6);
  }
}


/* ============================================================
   PRINT STYLES
   ============================================================ */
@media print {
  .sidebar, .right-sidebar, .main-header, .ad-slot, .ad-inline {
    display: none !important;
  }

  .page-wrapper {
    display: block;
  }

  .main-content {
    padding: 0;
  }
}

