/* Background for the Section */
body
{
  background-image: url('../img/background.jpg'); /* Path to your background image */
  background-size: cover; /* Ensure the image covers the full screen */
  background-repeat: no-repeat; /* Prevent tiling */
  background-position: center center; /* Center the image */
  background-attachment: fixed; /* Keep the background fixed on scroll */
}
.world-map {
  background-image: url('../img/background.jpg'); /* Path to your background image */
  background-size: cover; /* Ensure the image covers the full screen */
  background-repeat: no-repeat; /* Prevent tiling */
  background-position: center center; /* Center the image */
  background-attachment: fixed; /* Keep the background fixed on scroll */
  padding-bottom: 70px;
}

/* Header Styling */
.section-header {
  position: relative;
  max-width: 900px;
  margin: 0 auto;
}

@media (min-width: 1280px) {
  .section-header {
      padding-bottom: 40px;
  }
}

.section-header h1 {
    font-family: 'Lexend', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 2.7rem;
    color: #000000; /* Deep blue for strong impact */
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    margin-bottom: 1rem; /* Space for the line */
    text-align: center;
    margin-top: 67px;
    position: relative;
    
}
.section-header h1::after {
    content: '';
    display: block;
    width: 440px;
    height: 6px;
    background: linear-gradient(90deg, #940bfc, #02fddc);
    margin: 0 auto;
    border-radius: 2px;
    margin-top: 0.5rem;
}

/* --- Cards Container --- */
.cards-container {
  padding-bottom: 50px;
}

/* Add margin-bottom to create gap between card containers */
.card {
  background: #fff;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  box-sizing: border-box;
  margin-bottom: 30px; /* consistent gap between multiple .card elements */
}

/* Remove last card's extra bottom gap if desired */
/*.card:last-child {
  margin-bottom: 0;
}*/

.card-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
}

.card-content:last-child {
  margin-bottom: 0;
}

.card-content h2 {
  font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 2.2rem;
    color: #1b02a8;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  margin-bottom: 16px;
}

.card-content p {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  color: #000000; /* Rich Purple */
  font-size: 1.2rem;
  line-height: 1.7;
  margin-bottom: 16px;
}

.styled-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.styled-list li {
  position: relative;
  padding-left: 30px;
  margin-bottom: 8px;
  font-family: 'Quicksand', sans-serif;
  font-weight: 700;
  color: #000000; /* Rich Purple */
  font-size: 1.1rem;
}

.styled-list li::before {
  content: '➔'; /* Arrow or tick, whichever you prefer */
  color: #077312;
  font-size: 22px; /* Keep consistent size across devices */
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.3;
}

.card-content.horizontal .image-wrap,
.card-content.horizontal .text-content {
  flex: 1;
  box-sizing: border-box;
}

.card-content.horizontal .image-wrap {
  margin-right: 20px;
}

.card-content.horizontal.reverse {
  flex-direction: row-reverse;
}

.card-content.horizontal.reverse .image-wrap {
  margin-right: 0;
  margin-left: 20px;
}

.card-image {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
}


/* Main Contain*/
.knowledge-container {
  max-width: 1200px;
  margin: 50px auto 75px ;
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: transparent;
  padding: 20px;
}

/* Tabs */
.knowledge-tabs {
  display: flex;
  background: white;
  transition: transform 0.3s, box-shadow 0.3s;
  animation: cardBackgroundAnimation 8s ease infinite;
  background-size: 200% 200%;
  border-radius: 25px;
  overflow: hidden;
  margin-bottom: 20px;
}

.knowledge-tabs button {
  flex: 1;
  padding: 12px 20px;
  border: none;
  background: none;
  color: #000000;
  cursor: pointer;
  transition: background 0.3s;
  font-family: 'Manrope', sans-serif;
  font-size: 18px;
  font-weight: bold;
}

.knowledge-tabs button.active {
  background-color: #1e3fe3;
  color: #fff;
}

.knowledge-tabs button:hover {
  background-color: #5d9eee;
}
/* Content Sections - Default Side by Side */
.knowledge-content {
  display: none; /* Initially hidden */
  flex-direction: row; /* Side by side layout for larger screens */
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 100%;
}

/* Active Content */
.knowledge-content.active {
  display: flex;
}

/* Text Section */
.knowledge-text {
  flex: 1;
  text-align: left;
}

.knowledge-text h2 {
  font-size: 2.5rem;
  margin-bottom: 20px;
  color: #1b02a8; /* Vivid blue for clarity */
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

.knowledge-text p {
 
  line-height: 1.4;
 font-weight: 500;
  font-family: 'Inter', sans-serif;
  font-size: 1.2rem;
  color: #000000;
}

/* Image Section */
.knowledge-images {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.knowledge-images img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* For ALL Devices Below 1024px (Content Reordering & Vertical Tabs) */
@media screen and (max-width: 1024px) {
  /* Make Tabs Vertical */
  .knowledge-tabs {
    flex-direction: column; /* Make tabs vertical */
    align-items: stretch; /* Stretch tabs to full width */
    margin-bottom: 40px;
  }

  .knowledge-tabs button {
    width: 100%; /* Each button takes full width */
    border-bottom: 1px solid #ccc; /* Add separators */
    text-align: center;
    font-size: 1.8rem;
  }

  .knowledge-tabs button:last-of-type {
    border-bottom: none; /* Remove border for the last button */
  }

  .knowledge-content.active {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 20px;
  }

  /* Flatten the text container so h2 and p become direct flex items */
  .knowledge-text {
    display: contents;
  }

  /* Order: h2 first, then image, then p */
  .knowledge-text h2 {
    order: 1;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 0.1px;
  }

  .knowledge-images {
    order: 2;
    width: 80%;
  }

  .knowledge-text p {
    order: 3;
    font-size: 1.4rem;
    text-align: justify;
    hyphens: auto; /* Allows proper word breaking with hyphens */
    word-break: break-word; /* Ensures long words wrap properly */
    overflow-wrap: break-word; /* Prevents overflow issues */
  }
   
  .knowledge-container {
    max-width: 1200px;
    margin: 50px auto 70px ;
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: transparent;
    padding: 20px;
  }
  
}

/* Additional adjustments for even smaller screens */
@media (max-width: 768px) {
  .knowledge-text h2 {
    font-size: 2rem;
  }

  .knowledge-text p {
    font-size: 1.2rem;
  }

  .knowledge-tabs button {
    font-size: 1.6rem;
  }

  .knowledge-container {
    max-width: 1200px;
    margin: 50px auto 60px ;
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: transparent;
    padding: 20px;
  }
  

}

@media (max-width: 480px) {
  .knowledge-text h2 {
    font-size: 1.6rem;
  }

  .knowledge-text p {
    font-size: 1.1rem;
  }

  .knowledge-tabs button {
    font-size: 1.2rem;
  }

  .knowledge-container {
    max-width: 1200px;
    margin: 50px auto 0.1px ;
    font-family: Arial, sans-serif;
    line-height: 1.6;
    color: #333;
    background-color: transparent;
    padding: 20px;
  }
  
}

/* Animation for Smooth Background Movement */
@keyframes cardBackgroundAnimation {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}

/* --- Shared Width Styling for All Sections --- */
.shared-width {
  /* For large screens: force 175px gap on both sides */
  width: calc(100% - 350px);
  max-width: calc(100% - 350px);
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

/* --- Hardware Security Section --- */
.hardware-security-section {
  background: white;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  margin-bottom: 80px;
  padding: 20px 50px 20px 20px;
}

.hardware-security-heading {
  text-align: left;
  font-family: 'Manrope', sans-serif;
  font-weight: 700;
  font-size: 2.5rem;
  color: #1b02a8;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
  padding-left: 40px;
}

.hardware-security-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
}

.hardware-security-content {
  flex: 1;
  min-width: 320px;
  max-width: 750px;
  padding: 20px;
  text-align: left;
}

.hardware-security-content ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Hardware Security list items & tick marks */
.hardware-security-content ul li {
  font-family: 'Inter', sans-serif;
    font-weight: 500;
    font-size: 18px;
    color: #000000; /* Rich Purple */
  margin-bottom: 10px;
  padding-left: 28px; /* enough space for the tick icon */
  position: relative;
}

.hardware-security-content ul li::before {
  content: "\2713"; /* Tick mark */
  color: rgb(5, 5, 226);
  font-weight: bold;
  font-size: 16px; /* Fixed size for consistency */
  position: absolute;
  left: 0;
  top: 0;
  line-height: 1.5;
}

.hardware-security-image {
  flex: 1;
  min-width: 320px;
  max-width: 600px;
  text-align: center;
}

.hardware-security-image img {
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: 10px;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
}


/* --- Latest Updates Section --- */
.latest-updates {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 12px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  font-family: "Arial", sans-serif;
  padding-bottom: 60px;
}

.latest-updates h2 {
  
  text-align: center;
  margin-bottom: 15px;
  font-family: 'Manrope', sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
    color: #1b02a8;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  padding-bottom: 10px;
  border-bottom: 2px solid #022a55;
}

.update-item {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg,#e9f3fa,#fff1f8);
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 12px;
  transition: transform 0.3s ease-in-out;
}

.update-item:hover {
  transform: translateY(-4px);
}

/* Circle around tick mark in the Updates & Contracts section */
.update-icon {
  width: 40px;
  height: 40px;
  color: #077312;
  font-size: 32px; /* Default tick size on larger screens */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  margin-right: 12px;
}

.update-text {
  font-family: 'Inter', sans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  color: #000000; /* Rich Purple */
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}

/* --- Responsive Adjustments --- */

/* 
   1) For screens below 1280px, we shrink the container width 
      but retain a gap on the sides via a max-width and margin auto.
   2) This prevents everything from sticking to the edges on 
      medium-sized screens (e.g., tablets or smaller laptops).
*/
@media (max-width: 1280px) {
  .shared-width {
    width: 90%;            /* Take 90% of the screen width */
    max-width: 1200px;     /* or any max you prefer (e.g., 1100px) */
    margin: 0 auto;
    padding: 20px;         /* Keep some side padding */
  }

  .latest-updates
  {
    margin-top: 60px;
  }
  .cards-container
  {
    margin-top: 60px;
  }

  .hardware-security-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .hardware-security-content,
  .hardware-security-image {
    max-width: 95%;
  }
  .card-content.horizontal,
  .card-content.horizontal.reverse {
    flex-direction: column;
  }
  .card-content.horizontal .image-wrap,
  .card-content.horizontal.reverse .image-wrap {
    margin-bottom: 20px;
  }
}

/* For screens less than 768px (smaller tablets & large phones) */
@media (max-width: 768px) {
  .shared-width {
    width: 95%;
    max-width: 750px; /* scale down the max-width */
    margin: 0 auto;
    padding: 15px;    /* reduce side padding */
  }

  .latest-updates
  {
    margin-top: 60px;
  }
  .cards-container
  {
    margin-top: 60px;
  }

  .hardware-security-content,
  .hardware-security-image {
    max-width: 100%;
  }
  .hardware-security-image img {
    max-width: 100%;
    height: auto;
  }
  .card-content h2 {
    font-size: 1.5rem;
  }
  .card-content p {
    font-size: 1rem;
  }
  .styled-list li {
    font-size: 0.9rem;
  }
  .update-text {
    font-size: 14px;
  }
}

/* For screens less than 480px (phones) */
@media (max-width: 480px) {
  .shared-width {
    width: 95%;
    max-width: 400px; /* ensure there's always some margin */
    margin: 0 auto;
    padding: 10px;
  }
  .latest-updates
  {
    margin-top: 60px;
  }
  .cards-container
  {
    margin-top: 60px;
  }
  
  /* Adjust heading font size */
  .hardware-security-heading {
    font-size: 24px;
  }

  /* Hardware Security ticks: unify size */
  .hardware-security-content ul li {
    font-size: 15px;
    padding-left: 24px;
  }
  .hardware-security-content ul li::before {
    font-size: 15px;
  }

  .hardware-security-content,
  .hardware-security-image {
    max-width: 100%;
  }
  .hardware-security-image img {
    max-width: 82%;
    height: auto;
  }

  /* Updates & Contracts heading */
  .latest-updates h2 {
    font-size: 25px;
  }

  /* Circle around tick mark */
  .update-icon {
    width: 35px;
    height: 35px;
    font-size: 16px; /* smaller but consistent tick size on phones */
  }
  .update-text {
    font-size: 14px;
  }

  /* Cards spacing on phone screens */
  .card-content {
    margin-bottom: 20px;
  }
  .card:last-child {
    margin-bottom: 0;
  }

  .hardware-security-section 
  {
    margin-top: 60px;
  }

  .section-header h1 {
    font-size: 2rem;
    margin-top: 40px;
  }
  .section-header h1::after {
    width: 250px;
    height: 4px;
  }

}
