/* PakTechPark Global Styles */
:root {
  /* Primary Colors */
  --ptp-primary: #138476;
  --ptp-secondary: #04676d;
  --ptp-primary-alt: #138476;
  --ptp-secondary-alt: #0c6c70;
  --ptp-primary-light: #1a9c8c;
  --ptp-primary-dark: #0d6d61;
  
  /* Base Colors */
  --ptp-black: #000000;
  --ptp-white: #ffffff;
  --ptp-light-gray: #f8fafc;
  --ptp-medium-gray: #e2e8f0;
  --ptp-dark-gray: #64748b;
  
  /* Accent Colors */
  --ptp-sky-blue: #0ea5e9;
  --ptp-amber: #f59e0b;
  --ptp-lime-green: #84cc16;
  --ptp-red-orange: #ef4444;
  
  /* Font */
  --ptp-font: 'Inter', sans-serif;

  /* Container */
  --ptp-container-width: 1640px;
}

body {
  font-family: var(--ptp-font);
  background-color: var(--ptp-light-gray);
  color: var(--ptp-black);
  overflow-x: hidden;
}

/* Container Override */
.container {
  max-width: var(--ptp-container-width) !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.2;
}

p {
  line-height: 1.6;
}

/* Buttons */
.ptp-btn {
  border-radius: 8px;
  font-weight: 600;
  padding: 0.75rem 1.5rem;
  transition: all 0.3s ease;
  text-transform: none;
  letter-spacing: 0;
  border: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
  cursor: pointer;
}

.ptp-btn:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--ptp-primary) 0%, var(--ptp-secondary) 100%);
  z-index: -1;
  transition: all 0.5s ease;
  opacity: 1;
}

.ptp-btn-primary {
  color: var(--ptp-white);
  box-shadow: 0 4px 6px -1px rgba(19, 132, 118, 0.1), 0 2px 4px -1px rgba(19, 132, 118, 0.06);
}

.ptp-btn-primary:hover {
  color: var(--ptp-white);
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(19, 132, 118, 0.2), 0 4px 6px -2px rgba(19, 132, 118, 0.1);
}

.ptp-btn-primary:hover:before {
  transform: scale(1.1);
  opacity: 0.9;
}

.ptp-btn-secondary {
  color: var(--ptp-white);
  box-shadow: 0 4px 6px -1px rgba(4, 103, 109, 0.1), 0 2px 4px -1px rgba(4, 103, 109, 0.06);
}

.ptp-btn-secondary:hover {
  color: var(--ptp-white);
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(4, 103, 109, 0.2), 0 4px 6px -2px rgba(4, 103, 109, 0.1);
}

.ptp-btn-outline {
  background: transparent;
  color: var(--ptp-primary);
  box-shadow: 0 4px 6px -1px rgba(19, 132, 118, 0.1), 0 2px 4px -1px rgba(19, 132, 118, 0.06);
  border: 2px solid var(--ptp-primary);
  background-clip: padding-box;
  overflow: hidden;
}

.ptp-btn-outline:before {
  opacity: 0;
  transform: translateY(100%);
}

.ptp-btn-outline:hover {
  color: var(--ptp-white);
  transform: translateY(-2px);
  border-color: transparent;
  box-shadow: 0 10px 15px -3px rgba(19, 132, 118, 0.2), 0 4px 6px -2px rgba(19, 132, 118, 0.1);
}

.ptp-btn-outline:hover:before {
  opacity: 1;
  transform: translateY(0);
}

a.btn.ptp-btn-outline.mt-3:hover {
  color: var(--ptp-primary);
  border-color: var(--ptp-primary);

}

/* Cards */
.ptp-card {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: var(--ptp-white);
  border: 1px solid var(--ptp-medium-gray);
}

.ptp-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 30px rgba(0, 0, 0, 0.1);
}

/* Section spacing */
.ptp-section {
  padding: 100px 0;
  position: relative;
}

@media (max-width: 1600px) {
  .container {
    max-width: 1400px !important;
  }
}

@media (max-width: 768px) {
  .ptp-section {
    padding: 60px 0;
  }
  
  .container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
}

/* Utility classes */
.ptp-bg-gradient {
  background: linear-gradient(135deg, var(--ptp-primary) 0%, var(--ptp-secondary) 100%);
}

.ptp-text-gradient {
  background: linear-gradient(135deg, var(--ptp-primary) 0%, var(--ptp-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ptp-shadow-lg {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.ptp-blur-bg {
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* Animations */
.ptp-hover-float {
  transition: transform 0.3s ease;
}

.ptp-hover-float:hover {
  transform: translateY(-10px);
}

.ptp-hover-scale {
  transition: transform 0.3s ease;
}

.ptp-hover-scale:hover {
  transform: scale(1.05);
}