/* Pharma Custom Styles */
:root {
  --pharma-blue: #2B2E83;
  --pharma-yellow: #FFEB00;
  --pharma-white: #FFFFFF;
  --pharma-teal: #0D9488;
  --pharma-dark: #1A1F2C;
  --pharma-gray: #6B7280;
  --pharma-light: #F7FAFC;
  --radius: 0.5rem;
}
body {
  background: #f8fafc;
  color: var(--pharma-dark);
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
}
.navbar, .navbar.bg-white {
  background-color: var(--pharma-blue) !important;
}
.navbar-dark .navbar-toggler {
  border-color: rgba(255, 255, 255, 0.6) !important;
}
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255,255,255,0.9)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}
.navbar .navbar-brand, .navbar .nav-link, .navbar .dropdown-item {
  color: var(--pharma-yellow) !important;
}
.navbar .nav-link.active, .navbar .nav-link:focus, .navbar .nav-link:hover {
  color: #fff !important;
}
.dropdown-menu {
  background-color: var(--pharma-blue);
}
.dropdown-item:hover, .dropdown-item:focus {
  background-color: #fffbe0;
  color: var(--pharma-blue) !important;
}
footer.pharma-blue {
  background: var(--pharma-blue) !important;
  color: var(--pharma-yellow) !important;
}
footer .pharma-yellow, footer a.pharma-yellow {
  color: var(--pharma-yellow) !important;
}
footer .text-white, footer .text-white a {
  color: #fff !important;
}
footer .bi {
  vertical-align: middle;
}
footer ul {
  padding-left: 0;
}
footer li {
  margin-bottom: 0.5rem;
}
@media (max-width: 991.98px) {
  footer .col-lg-3 {
    margin-bottom: 2rem;
  }
}
.btn-primary, .btn-primary:focus {
  background: var(--pharma-yellow) !important;
  color: var(--pharma-blue) !important;
  border: none;
}
.btn-primary:hover {
  background: #ffe600 !important;
  color: var(--pharma-blue) !important;
}
.btn-outline, .btn-outline:focus {
  border: 2px solid var(--pharma-yellow) !important;
  color: var(--pharma-blue) !important;
  background: transparent !important;
}
.btn-outline:hover {
  background: var(--pharma-yellow) !important;
  color: var(--pharma-blue) !important;
}
.form-control, .form-select {
  border-radius: var(--radius);
  border: 1.5px solid var(--pharma-blue);
  font-size: 1rem;
  padding: 0.75rem 1rem;
  color: var(--pharma-dark);
  background: #fff;
  transition: border-color 0.2s;
}
.form-control:focus, .form-select:focus {
  border-color: var(--pharma-yellow);
  box-shadow: 0 0 0 2px #ffeb00a0;
}
.form-label {
  color: var(--pharma-blue);
  font-weight: 500;
  margin-bottom: 0.5rem;
}
@media (max-width: 576px) {
  .form-control, .form-select {
    font-size: 0.95rem;
    padding: 0.6rem 0.8rem;
  }
}
.container-custom {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .container-custom { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1024px) {
  .container-custom { padding-left: 2rem; padding-right: 2rem; }
}
.section-padding { padding-top: 3rem; padding-bottom: 3rem; }
@media (min-width: 768px) { .section-padding { padding-top: 5rem; padding-bottom: 5rem; } }
.hero-image-box {
  height: 400px;
  background: #ffffff;
}
.hero-image-box img {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 576px) {
  .hero-image-box { height: auto; }
  .hero-image-box img { height: auto; object-fit: contain; }
}
.heading-1 {
  font-family: 'Playfair Display', serif;
  font-size: 2.5rem;
  font-weight: bold;
  color: var(--pharma-dark);
}
@media (min-width: 768px) { .heading-1 { font-size: 3rem; } }
@media (min-width: 1024px) { .heading-1 { font-size: 3.75rem; } }
.heading-2 {
  font-family: 'Playfair Display', serif;
  font-size: 2rem;
  font-weight: bold;
  color: var(--pharma-dark);
}
@media (min-width: 768px) { .heading-2 { font-size: 2.5rem; } }
.heading-3 {
  font-family: 'Playfair Display', serif;
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--pharma-dark);
}
@media (min-width: 768px) { .heading-3 { font-size: 2rem; } }
.body-text {
  font-size: 1rem;
  color: var(--pharma-gray);
  line-height: 1.7;
}
@media (min-width: 768px) { .body-text { font-size: 1.125rem; } }
.pharma-blue { color: var(--pharma-blue) !important; }
.pharma-yellow { color: var(--pharma-yellow) !important; }
.pharma-dark { color: var(--pharma-dark) !important; }
.pharma-gray { color: var(--pharma-gray) !important; }
.pharma-light { background: var(--pharma-light) !important; }
.rounded-md { border-radius: var(--radius); }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(16,30,54,0.05); }
.shadow-lg { box-shadow: 0 10px 15px -3px rgba(16,30,54,0.1), 0 4px 6px -2px rgba(16,30,54,0.05); }
.transition-colors { transition: color 0.2s, background 0.2s; }
.font-serif { font-family: 'Playfair Display', serif; }
.font-medium { font-weight: 500; }
.font-bold { font-weight: 700; }
.font-semibold { font-weight: 600; }
.mx-auto { margin-left: auto; margin-right: auto; }
.text-center { text-align: center; }
.text-white { color: #fff; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }
.text-6xl { font-size: 3.75rem; }
.leading-relaxed { line-height: 1.7; }
.mb-4 { margin-bottom: 1rem; }
.mb-6 { margin-bottom: 1.5rem; }
.mb-8 { margin-bottom: 2rem; }
.mb-12 { margin-bottom: 3rem; }
.pt-8 { padding-top: 2rem; }
.pb-8 { padding-bottom: 2rem; }
.rounded-lg { border-radius: 1rem; }
.overflow-hidden { overflow: hidden; }
.w-full { width: 100%; }
.h-full { height: 100%; }
.object-cover { object-fit: cover; }
.d-flex { display: flex; }
.align-items-center { align-items: center; }
.justify-center { justify-content: center; }
.gap-4 { gap: 1rem; }
.gap-8 { gap: 2rem; }
.gap-12 { gap: 3rem; }
.gap-16 { gap: 4rem; }
@media (min-width: 768px) {
  .md\:d-flex { display: flex; }
  .md\:gap-8 { gap: 2rem; }
  .md\:gap-12 { gap: 3rem; }
  .md\:gap-16 { gap: 4rem; }
}
@keyframes fade-in { 0% { opacity: 0; transform: translateY(10px); } 100% { opacity: 1; transform: translateY(0); } }
.animate-fade-in { animation: fade-in 0.5s ease-out; } 