/* ===================================
   Portfolio Page Specific Styles
   =================================== */

/* Page Header */
.page-header {
    padding: 10rem 0 5rem;
    text-align: center;
    background: linear-gradient(135deg, var(--gray-50), white);
    border-bottom: 1px solid var(--gray-200);
  }
  
  .page-header h1 {
    font-size: var(--font-size-4xl);
    font-weight: 700;
    color: var(--gray-900);
    margin-bottom: var(--spacing-md);
  }
  
  .page-header p {
    font-size: var(--font-size-lg);
    color: var(--gray-600);
    max-width: 600px;
    margin: 0 auto;
  }
  
  /* Production Process Section */
  .production-process-section {
    padding: var(--spacing-3xl) 0;
    background-color: white;
  }
  
  .process-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-xl);
  }
  
  .process-card {
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-xl);
    padding: var(--spacing-xl);
    transition: var(--transition-base);
  }
  
  .process-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-5px);
    border-color: var(--primary);
  }
  
  .process-card-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.75rem;
    margin-bottom: var(--spacing-md);
  }
  
  .process-card h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: var(--spacing-sm);
  }
  
  .process-card p {
    color: var(--gray-600);
    line-height: 1.7;
    margin-bottom: var(--spacing-md);
  }
  
  .process-features {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  
  .process-features span {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    background-color: rgba(44, 82, 130, 0.1);
    border: 1px solid rgba(44, 82, 130, 0.2);
    border-radius: 2rem;
    color: var(--primary);
    font-size: var(--font-size-xs);
    font-weight: 500;
  }
  
  .process-features i {
    font-size: 0.625rem;
  }
  
  /* Quality Section */
  .quality-section {
    padding: var(--spacing-3xl) 0;
    background-color: var(--gray-50);
  }
  
  .quality-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--spacing-xl);
  }
  
  .quality-card {
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-xl);
    padding: var(--spacing-xl);
    position: relative;
    transition: var(--transition-base);
  }
  
  .quality-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-5px);
    border-color: var(--primary);
  }
  
  .quality-number {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    font-size: var(--font-size-4xl);
    font-weight: 700;
    color: var(--gray-100);
    line-height: 1;
  }
  
  .quality-icon {
    width: 64px;
    height: 64px;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.75rem;
    margin-bottom: var(--spacing-md);
  }
  
  .quality-card h3 {
    font-size: var(--font-size-xl);
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: var(--spacing-sm);
  }
  
  .quality-card p {
    color: var(--gray-600);
    line-height: 1.7;
  }
  
  /* Before After Section */
  .before-after-section {
    padding: var(--spacing-3xl) 0;
    background-color: white;
  }
  
  .ba-grid {
    max-width: 1000px;
    margin: 0 auto;
  }
  
  .ba-card {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: var(--spacing-xl);
    align-items: center;
    margin-bottom: var(--spacing-3xl);
    padding: var(--spacing-xl);
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-xl);
  }
  
  .ba-content {
    text-align: center;
  }
  
  .ba-label {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 2rem;
    font-size: var(--font-size-sm);
    font-weight: 600;
    margin-bottom: var(--spacing-md);
  }
  
  .ba-label.before {
    background-color: var(--gray-200);
    color: var(--gray-700);
  }
  
  .ba-label.after {
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    color: white;
  }
  
  .ba-mockup {
    margin-bottom: var(--spacing-md);
  }
  
  .mockup-browser {
    background: white;
    border: 1px solid var(--gray-300);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-md);
  }
  
  .browser-bar {
    background: var(--gray-200);
    padding: 0.5rem;
    border-bottom: 1px solid var(--gray-300);
  }
  
  .browser-dots {
    display: flex;
    gap: 0.375rem;
  }
  
  .browser-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--gray-400);
  }
  
  .browser-dots span:nth-child(1) { background-color: #ef4444; }
  .browser-dots span:nth-child(2) { background-color: #f59e0b; }
  .browser-dots span:nth-child(3) { background-color: #10b981; }
  
  .mockup-content {
    padding: 1rem;
    min-height: 250px;
  }
  
  /* Old Design Mockup */
  .mockup-content.old {
    background: var(--gray-100);
  }
  
  .old-header {
    height: 80px;
    background: linear-gradient(90deg, var(--gray-300), var(--gray-400));
    margin-bottom: 1rem;
  }
  
  .old-nav {
    height: 40px;
    background: var(--gray-400);
    margin-bottom: 1rem;
  }
  
  .old-sidebar {
    width: 30%;
    height: 100px;
    background: var(--gray-300);
    float: left;
    margin-right: 1rem;
  }
  
  .old-main {
    height: 100px;
    background: var(--gray-200);
  }
  
  /* New Design Mockup */
  .mockup-content.new {
    background: linear-gradient(135deg, var(--gray-50), white);
  }
  
  .new-header {
    height: 60px;
    background: linear-gradient(90deg, rgba(44, 82, 130, 0.2), rgba(74, 144, 192, 0.1));
    border-radius: var(--radius-sm);
    margin-bottom: 1rem;
  }
  
  .new-hero {
    height: 100px;
    background: linear-gradient(135deg, var(--primary-light), var(--primary));
    border-radius: var(--radius-md);
    margin-bottom: 1rem;
  }
  
  .new-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
  }
  
  .new-grid div {
    height: 60px;
    background: linear-gradient(135deg, rgba(44, 82, 130, 0.1), transparent);
    border-radius: var(--radius-sm);
  }
  
  .ba-issues,
  .ba-improvements {
    list-style: none;
    text-align: left;
  }
  
  .ba-issues li,
  .ba-improvements li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0;
    font-size: var(--font-size-sm);
  }
  
  .ba-issues i {
    color: #ef4444;
  }
  
  .ba-improvements i {
    color: #10b981;
  }
  
  .ba-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    color: var(--primary);
  }
  
  /* BA Stats */
  .ba-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--spacing-lg);
  }
  
  .ba-stat-card {
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-xl);
    padding: var(--spacing-lg);
    text-align: center;
    transition: var(--transition-base);
  }
  
  .ba-stat-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
  }
  
  .ba-stat-card .stat-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto var(--spacing-sm);
    background: linear-gradient(135deg, rgba(44, 82, 130, 0.1), rgba(74, 144, 192, 0.1));
    border: 1px solid rgba(44, 82, 130, 0.2);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--primary);
  }
  
  .ba-stat-card .stat-value {
    font-size: var(--font-size-3xl);
    font-weight: 700;
    background: linear-gradient(135deg, var(--primary), var(--primary-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 0.25rem;
  }
  
  .ba-stat-card .stat-label {
    font-size: var(--font-size-sm);
    color: var(--gray-600);
  }
  
  /* Showcase Section */
  .showcase-section {
    padding: var(--spacing-3xl) 0;
    background-color: var(--gray-50);
  }
  
  .showcase-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--spacing-xl);
  }
  
  .showcase-card {
    background: white;
    border: 1px solid var(--gray-200);
    border-radius: var(--radius-xl);
    overflow: hidden;
    transition: var(--transition-base);
  }
  
  .showcase-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-5px);
  }
  
  .showcase-image {
    height: 250px;
    background: var(--gray-100);
    overflow: hidden;
    position: relative;
  }
  
  .showcase-mockup {
    width: 100%;
    height: 100%;
    transform: scale(0.8);
    transition: var(--transition-base);
  }
  
  .showcase-card:hover .showcase-mockup {
    transform: scale(0.85);
  }
  
  .showcase-mockup .mockup-content {
    background: white;
    height: 100%;
    padding: 0.5rem;
  }
  
  .mock-header {
    height: 30px;
    border-radius: var(--radius-sm);
    margin-bottom: 0.5rem;
  }
  
  .mock-hero {
    height: 100px;
    border-radius: var(--radius-md);
    margin-bottom: 0.5rem;
  }
  
  .mock-section {
    height: 80px;
    border-radius: var(--radius-sm);
  }
  
  /* Different color schemes for each profession */
  .showcase-mockup.lawyer .mock-header { background: linear-gradient(90deg, #1e3a8a, #3b82f6); }
  .showcase-mockup.lawyer .mock-hero { background: linear-gradient(135deg, #1e3a8a, #3b82f6); }
  .showcase-mockup.lawyer .mock-section { background: rgba(30, 58, 138, 0.1); }
  
  .showcase-mockup.tax .mock-header { background: linear-gradient(90deg, #15803d, #22c55e); }
  .showcase-mockup.tax .mock-hero { background: linear-gradient(135deg, #15803d, #22c55e); }
  .showcase-mockup.tax .mock-section { background: rgba(21, 128, 61, 0.1); }
  
  .showcase-mockup.judicial .mock-header { background: linear-gradient(90deg, #7c2d12, #ea580c); }
  .showcase-mockup.judicial .mock-hero { background: linear-gradient(135deg, #7c2d12, #ea580c); }
  .showcase-mockup.judicial .mock-section { background: rgba(124, 45, 18, 0.1); }
  
  .showcase-mockup.admin .mock-header { background: linear-gradient(90deg, #0e7490, #06b6d4); }
  .showcase-mockup.admin .mock-hero { background: linear-gradient(135deg, #0e7490, #06b6d4); }
  .showcase-mockup.admin .mock-section { background: rgba(14, 116, 144, 0.1); }
  
  .showcase-mockup.labor .mock-header { background: linear-gradient(90deg, #6b21a8, #a855f7); }
  .showcase-mockup.labor .mock-hero { background: linear-gradient(135deg, #6b21a8, #a855f7); }
  .showcase-mockup.labor .mock-section { background: rgba(107, 33, 168, 0.1); }
  
  .showcase-mockup.patent .mock-header { background: linear-gradient(90deg, #be123c, #f43f5e); }
  .showcase-mockup.patent .mock-hero { background: linear-gradient(135deg, #be123c, #f43f5e); }
  .showcase-mockup.patent .mock-section { background: rgba(190, 18, 60, 0.1); }
  
  .showcase-info {
    padding: var(--spacing-lg);
  }
  
  .showcase-info h3 {
    font-size: var(--font-size-lg);
    font-weight: 600;
    color: var(--gray-900);
    margin-bottom: 0.5rem;
  }
  
  .showcase-info p {
    color: var(--gray-600);
    margin-bottom: var(--spacing-md);
    font-size: var(--font-size-sm);
  }
  
  .showcase-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
  }
  
  .showcase-tags span {
    padding: 0.375rem 0.75rem;
    background-color: var(--gray-100);
    color: var(--gray-700);
    border-radius: 2rem;
    font-size: var(--font-size-xs);
    font-weight: 500;
  }
  
  /* Responsive */
  @media (max-width: 768px) {
    .page-header {
      padding: 6rem 0 3rem;
    }
    
    .page-header h1 {
      font-size: var(--font-size-3xl);
    }
    
    .process-cards,
    .quality-grid,
    .showcase-grid {
      grid-template-columns: 1fr;
    }
    
    .ba-card {
      grid-template-columns: 1fr;
      gap: var(--spacing-lg);
    }
    
    .ba-arrow {
      transform: rotate(90deg);
    }
    
    .ba-stats {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  