/* ============================
   Project Title Section
============================ */
.project-title-container {
    text-align: center; /* Center align the title and button */
    margin-bottom: 20px; /* Add space below the container */
}

.project-title {
    font-size: 28px; /* Make the title text larger */
    font-weight: bold; /* Make the title bold */
    color: #ffffff; /* Set the title color */
    margin-bottom: 15px; /* Add space between the title and button */
}

.details-button {
    width: 187px;
    height: 36px;
    background-color: #2D3E6C;
    color: #FFFFFF;
    border: none;
    border-radius: 11px;
    font-size: 16px;
    font-family: Arial, sans-serif;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.details-button:hover {
    background-color: #1A2A4C;
}

/* ============================
   Project Details Section
============================ */
#project-details-section .position-relative {
    width: 100%; /* Make the image container take the full width */
    max-width: 1000px; /* Set a maximum width for the image */
    margin: 0 auto; /* Center the image container */
}

#project-details-section img {
    width: 100%; /* Make the image responsive */
    height: auto; /* Maintain the aspect ratio */
    border-radius: 10px; /* Optional: Add rounded corners */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optional: Add a subtle shadow */
    background-color: #f0f0f0; /* Placeholder background color */
    display: block;
    transition: opacity 0.3s ease-in-out;
    opacity: 0; /* Start with the image hidden */
}

#project-details-section img.loaded {
    opacity: 1; /* Show the image once it's loaded */
}

@media (min-width: 992px) {
    #project-details-section .position-relative {
        max-width: 800px; /* Increase the maximum width for larger screens */
    }
}


/* ============================
   Custom Header
============================ */
.custom-header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
    transition: background-color 0.5s ease, box-shadow 0.3s ease;
    padding: 5px 10px;
    padding-left: 0px !important;
}

.custom-header.transparent {
    background-color: transparent;
}

.custom-header.scrolled {
  background-color: rgba(30, 30, 30, 0.85); /* Dark gray with opacity */
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.custom-header .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    --bs-gutter-x:0px  !important;
}

/* Navigation Links */
.custom-header .custom-nav-links {
    display: flex;
    gap: 20px;
    
}

.custom-header .custom-nav-links a {
    color: white;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.custom-header .custom-nav-links a:hover {
    color: #ffc107;
}

.custom-header .custom-nav-links a.active {
    color: #ffc107 !important;
}

/* Menu Toggle for Mobile */
.menu-toggle {
  display: none;
  flex-direction: column;
  cursor: pointer;
  gap: 5px;
  padding: 8px 10px;
  border-radius: 8px;
  background-color:#2D3E6C;
  transition: background-color 0.3s ease, transform 0.1s ease;
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.menu-toggle:hover {
  background-color: #2d3e6cef;
}

.menu-toggle:active {
  transform: scale(0.95);
  background-color:#2D3E6C;
}
.menu-toggle span {
    width: 25px;
    height: 3px;
    background: white;
}

@media (max-width: 820px) {
  .custom-header .custom-nav-links {
    display: flex;
    flex-direction: column;
    background-color: rgba(30, 30, 30, 0.85);
    position: absolute;
    top: 100%;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
    padding: 10px 0;
    text-align: center;
    gap: 0px;

    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.4s ease, opacity 0.3s ease;
  }

  .custom-header .custom-nav-links.show {
    max-height: 500px;
    opacity: 1;
  }

  .custom-header .custom-nav-links a {
    border-bottom: 1px solid #444;
    opacity: 0;
    transform: translateY(-10px);
  }
  
  .custom-header .custom-nav-links.show a {
    animation: fadeSlideIn 0.4s forwards;
  }
  
  .custom-header .custom-nav-links.show a:nth-child(1) { animation-delay: 0.2s; }
  .custom-header .custom-nav-links.show a:nth-child(2) { animation-delay: 0.3s; }
  .custom-header .custom-nav-links.show a:nth-child(3) { animation-delay: 0.4s; }
  .custom-header .custom-nav-links.show a:nth-child(4) { animation-delay: 0.5s; }
  .custom-header .custom-nav-links.show a:nth-child(5) { animation-delay: 0.6s; }
  
  .custom-header .custom-nav-links.closing a:nth-child(1) { animation-delay: 0.2s; }
  .custom-header .custom-nav-links.closing a:nth-child(2) { animation-delay: 0.15s; }
  .custom-header .custom-nav-links.closing a:nth-child(3) { animation-delay: 0.1s; }
  .custom-header .custom-nav-links.closing a:nth-child(4) { animation-delay: 0.05s; }
  .custom-header .custom-nav-links.closing a:nth-child(5) { animation-delay: 0s; }
  
  .custom-header .custom-nav-links a:last-child {
    border-bottom: none;
    margin-bottom: -6px;
  }

  .custom-header .custom-nav-links a:first-child {
    margin-top: -6px;
  }

  .menu-toggle {
    display: flex;
  }
}

/* ============================
   Logo Section 
============================ */

/* logo bg shape */
.logo-bg-shape {
  align-items: center;
    justify-content: end;
    padding-right: 20px;
    padding-bottom: 7px;
  display: flex;
  width: 350px;
  height: 55px;
  border-bottom-right-radius: 10px;
  background: linear-gradient(
    to left,
    rgba(255, 255, 255, 0.8) 30%,
    rgba(255, 255, 255, 0.3) 100%
  );
  opacity: 0.80;
  z-index: 1;
  transition: opacity 0.3s ease;
}

/* Foreground logo (the actual brand icon) */
.logo-foreground {
  opacity: 1;
  z-index: 2;
  height: 40px;
}


/* Responsive adjustments */
@media (max-width: 768px) {

.logo-foreground {
    margin-left: 130%;
    height: 30px;
    bottom: 5px;
  }
}

@media (max-width: 480px) {


   .logo-foreground {
    margin-left: 2px;
    height: 30px;
  }
}


/* Hide it when scrolled */
.custom-header.scrolled .logo-bg-shape {
  opacity: 1;
  pointer-events: none;
}
.custom-header.scrolled .logo-foreground {
  opacity: 1;
  pointer-events: none;
}

/* Mobile scaling */
@media (max-width: 768px) {
  .logo-bg-shape {
    width: 160px;
    height: 40px;
    border-bottom-right-radius: 16px;
  }
}

@media (max-width: 480px) {
  .logo-bg-shape {
    width: 140px;
    height: 36px;
    border-bottom-right-radius: 14px;
  }
}

/* ============================
   Carusell
============================ */
/* PORTO Big Title */
/* Main layout styles */
.porto-big-title {
  letter-spacing: -22px;
  line-height: 0.8;
  text-align: center;
  white-space: nowrap;
  margin-left: -27px;

}

h2.porto-big-title {
  font-size: clamp(5.625rem, 5.1429rem + 2.4107vw, 9rem);
}

/* Force stacking under 420px */
@media (max-width: 500px) {
  .porto-big-title {
    white-space: normal !important;
    min-height: unset !important;
    font-size: 4.5rem !important;
    letter-spacing: -12px;
    line-height: 1.1 !important;
  }

}

@media (max-width: 420px) {
  .porto-big-title {
    white-space: normal !important;
    min-height: unset !important;
    font-size: 4rem !important;
    letter-spacing: -12px;
    line-height: 1.1 !important;
  }


}

/* Patch for mid-widths like 375–420px where overflow happens */
@media (max-width: 375px) {
  .porto-big-title {
    white-space: normal !important;
    min-height: unset !important;
    font-size: 3.7rem !important;
    letter-spacing: -12px;
    line-height: 1.1 !important;
  }
}

@media (max-width: 320px) {
  .porto-big-title {
    white-space: normal !important;
    min-height: unset !important;
    font-size: 3.5rem !important;
    letter-spacing: -12px;
    line-height: 1.1 !important;
  }
}

.text-s-title {
  font-size: 1.7rem !important;
}

@media (max-width: 1040px) {
  .text-s-title {
    font-size: 1.6rem !important;
  }
}

@media (max-width: 1000px) {
  .text-s-title {
    font-size: 1.6rem !important;
    min-height: unset !important;
  }
}

@media (max-width: 812px) {
  .text-s-title {
    font-size: 1.6rem !important;
  }
}

@media (max-width: 700px) {
  .text-s-title {
    font-size: 1.5rem !important;
  }
}

@media (max-width: 626px) {
  .text-s-title {
    font-size: 1.4rem !important;
  }
}

@media (max-width: 556px) {
  .text-s-title {
    font-size: 1.2rem !important;
  }
}

@media (max-width: 490px) {
  .text-s-title {
    font-size: 0.9rem !important;
  }
}

@media (max-width: 420px) {
  .text-s-title {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 375px) {
  .text-s-title {
    font-size: 0.8rem !important;
  }
}

@media (max-width: 320px) {
  .text-s-title {
    font-size: 0.7rem !important;
  }
}


.text-12 {
  font-size: 3rem !important;
}

@media (max-width: 1040px) {
  .text-12 {
    font-size: 2.9rem !important;
  }
}

@media (max-width: 1000px) {
  .text-12 {
    font-size: 2.8rem !important;
    min-height: unset !important;
  }
}

@media (max-width: 812px) {
  .text-12 {
    font-size: 2.7rem !important;
  }
}

@media (max-width: 700px) {
  .text-12 {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 626px) {
  .text-12 {
    font-size: 2.2rem !important;
  }
}

@media (max-width: 556px) {
  .text-12 {
    font-size: 2.1rem !important;
  }
}

@media (max-width: 490px) {
  .text-12 {
    font-size: 1.9rem !important;
  }
}

@media (max-width: 420px) {
  .text-12 {
    font-size: 1.6rem !important;
  }
}

@media (max-width: 375px) {
  .text-12 {
    font-size: 1.4rem !important;
  }
}

@media (max-width: 320px) {
  .text-12 {
    font-size: 1.3rem !important;
  }
}

/* ============================
   Miscellaneous
============================ */
/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

@keyframes fadeSlideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInHeaderBg {
  from {
    background-color: transparent;
  }
  to {
    background-color: rgba(30, 30, 30, 0.85);
  }
}
@keyframes fadeSlideOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}

@keyframes fadeOutHeaderBg {
  from {
    background-color: rgba(30, 30, 30, 0.85);
  }
  to {
    background-color: transparent;
  }
}

/* Textarea mesaj formular */
form.contact-form textarea {
  resize: none;
}

/* sweet alert */
body.swal2-shown {
  padding-right: 0 !important;
}

/* CARUSEL PENTRU COLABORATORI */
.owl-carousel .img-fluid {
  max-height: 100px; 
  width: auto;
  height: 100px; 
  object-fit: contain;
  object-position: center center;
  padding: 10px; 
  background: transparent; 
}
