/**
 * Pakistan Business Portal — design tokens (CI4_DEVELOPER_HANDOFF §4)
 */
:root {
  --brand-primary: #0d9488;
  --brand-primary-hover: #0f766e;
  --brand-secondary: #3b82f6;
  --brand-accent: #f97316;
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --border-card: #e2e8f0;
  --footer-bg: #0f172a;
  --footer-text: #cbd5e1;
}

body {
  color: var(--text-primary);
}

.pbp-page-bg {
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 50%, #eff6ff 100%);
}

.pbp-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px);
  border: 2px solid var(--border-card);
  border-radius: 0.75rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.pbp-card:hover {
  border-color: rgba(13, 148, 136, 0.45);
  box-shadow: 0 10px 40px -12px rgba(13, 148, 136, 0.2);
}

.pbp-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  font-weight: 600;
  color: #fff;
  background: var(--brand-primary);
  border-radius: 0.5rem;
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.25);
  transition: background 0.2s, box-shadow 0.2s;
}

.pbp-btn-primary:hover {
  background: var(--brand-primary-hover);
  box-shadow: 0 6px 20px rgba(13, 148, 136, 0.35);
}

.pbp-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.75rem 2rem;
  font-weight: 600;
  color: var(--text-primary);
  background: transparent;
  border: 2px solid #cbd5e1;
  border-radius: 0.5rem;
  transition: background 0.2s;
}

.pbp-btn-outline:hover {
  background: #f1f5f9;
}

.pbp-hero-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  opacity: 0.35;
  pointer-events: none;
}

.pbp-grid-pattern {
  background-image:
    linear-gradient(rgba(15, 23, 42, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 23, 42, 0.03) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* Landing hero animations (React Hero.tsx) */
@keyframes pbp-orb-float {
  0%, 100% { transform: translate(0, 0) scale(1); }
  50% { transform: translate(30px, -20px) scale(1.15); }
}

@keyframes pbp-float-icon {
  0%, 100% { transform: translateY(0) rotate(0deg); opacity: 0.15; }
  50% { transform: translateY(-20px) rotate(5deg); opacity: 0.25; }
}

@keyframes pbp-spin-slow {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes pbp-underline-grow {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.pbp-orb-float-1 { animation: pbp-orb-float 8s ease-in-out infinite; }
.pbp-orb-float-2 { animation: pbp-orb-float 10s ease-in-out 0.5s infinite; }
.pbp-orb-float-3 { animation: pbp-orb-float 12s ease-in-out 1s infinite; }
.pbp-float-icon { animation: pbp-float-icon 4s ease-in-out infinite; }
.pbp-spin-slow { animation: pbp-spin-slow 20s linear infinite; display: inline-block; }
.pbp-underline-grow { transform-origin: left; animation: pbp-underline-grow 0.8s ease-out 0.3s forwards; transform: scaleX(0); }

.pbp-hero { margin-top: -72px; padding-top: 72px; }
