body {
  font-size: 18px;
  font-family: "Poppins", sans-serif;
}

main,
section,
footer {
  opacity: 0;
  transition: opacity 0.8s ease;
}

body.page-loaded main,
body.page-loaded section,
body.page-loaded footer {
  opacity: 1;
}

html {
  scroll-behavior: smooth;
}

.btn-outline-primary {
  color: #000 !important;
  border-color: #fba681 !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #112057 !important;
  border-color: #fba681 !important;
  color: #000 !important;
}

.text-brand {
  color: #112057 !important;
}

/* Default pill outline */
.nav-pills .nav-link {
  /* border: 1px solid #fba681; */
  color: #ffc86e;
  background-color: #112057;
  margin: 0 5px;
}

/* Active pill */
.nav-pills .nav-link.active {
  background-color: #112057;
  color: #ffc86e;
}

/* Hover effect */
.nav-pills .nav-link:hover {
  background-color: #112057;
  color: #ffc86e;
}

/* hero banner  */
.hero-img {
  margin-top: 83px;
}

/* Smooth true crossfade fix */
.carousel-fade .carousel-item {
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

.carousel-fade .carousel-item.active {
  opacity: 1;
}

@media (max-width: 768px) {
  .carousel-control-next,
  .carousel-control-prev {
    margin-top: 84px;
  }
}

.fw-bold {
  font-weight: 500 !important;
}

img {
  max-width: 100%;
  height: auto;
}

html,
body {
  overflow-x: hidden;
}

@media (max-width: 768px) {
  .hero-img {
    margin-top: 80px;
  }
}

/* Hero Video CSS */
.hero-iframe {
  height: auto;
  aspect-ratio: 16 / 9;

  /* height: 774px; */
  margin-top: 80px;
  width: 100%;
  border: none;
  display: block;
}
@media (max-width: 968px) {
  .hero-iframe {
    margin-top: 23px;
    height: 16rem;
  }
}
.page-loader {
  position: fixed;
  inset: 0;
  background: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition:
    opacity 0.6s ease,
    visibility 600s ease;
}
.page-loader.fade-out {
  opacity: 0;
  visibility: hidden;
}
.loader-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.loader-logo {
  width: 320px;
  height: auto;
  animation: fadeIn 1s ease-in-out;
}
@media (max-width: 768px) {
  .loader-logo {
    width: 250px;
  }
}
.spinner {
  width: 40px;
  height: 40px;
  margin-top: 30px;
  border: 6px solid rgba(255, 255, 255, 0.3);
  border-top: 6px solid #112057;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Blinking border effect */
@keyframes blinkBorder {
  0% {
    border-color: #ffc86e;
    box-shadow: 0 0 0 rgba(251, 166, 129, 0);
  }
  50% {
    border-color: #f1b24c;
    box-shadow: 0 0 12px rgba(251, 166, 129, 0.8);
  }
  100% {
    border-color: #fdad2b 1;
    box-shadow: 0 0 0 rgba(251, 166, 129, 0);
  }
}

.blink-border {
  border: 4px solid #ffc86e;
  animation: blinkBorder 0.3s infinite ease-in-out;
}

.popup {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  overflow-y: auto;
  padding: 20px;
  box-sizing: border-box;

  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.6s ease,
    visibility 0.6s ease;
}

.popup.show {
  opacity: 1;
  visibility: visible;
}

/* wrapper to allow scroll + keep spacing */
.img-wrapper {
  position: relative;
  margin: auto;
}

/* the actual image */
.popup-image {
  justify-self: center;
  max-width: 40%;
  height: auto;
  display: block;
  border-radius: 10px;
}

/* close button */
.close-btn-popup {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 20;
  /* background: rgba(0, 0, 0, 0.5); */
  color: white;
  border: none;
  font-size: 50px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
}

/* small-screen tweaks */
@media (max-width: 768px) {
  .popup-image {
    max-width: 100%;
  }
  .popup {
    padding: 10px;
  }
  .close-btn-popup {
    color: rgb(255, 255, 255);
    font-size: 40px;
    width: 32px;
    height: 32px;
  }
}

.prithviraj-intro-text {
  font-size: 23px;
}

.prithviraj-intro-text1 {
  font-size: 20px;
}

.prithviraj-intro-text2 {
  font-size: 20px;
}

@media (max-width: 768px) {
  .prithviraj-intro-text {
    font-size: 18px;
  }

  .prithviraj-intro-text1 {
    font-size: 16px;
  }

  .prithviraj-intro-text2 {
    font-size: 16px;
  }

  .prithviraj-intro-text3 {
    text-align: justify;
    hyphens: auto;
  }
}

/* ===== Company Snapshot: Mobile Grid Only ===== */
@media (max-width: 576px) {
  .snapshot-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2 cards per row */
    gap: 12px;
  }

  /* Disable Bootstrap column behavior only here */
  .snapshot-grid > [class*="col-"] {
    width: 100%;
    max-width: 100%;
  }
}

.why-prithviraj-corp {
  width: 45% !important;
}

@media (max-width: 768px) {
  .why-prithviraj-corp {
    width: 100% !important;
  }
}

#heroVideoWrapper,
#heroCarousel {
  transition: opacity 0.6s ease;
}