/* style/privacy-policy.css */

/* Base styles for the privacy policy page */
.page-privacy-policy {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #ffffff; /* Default text color for dark body background */
  background-color: #0d1117; /* Matches body background */
}

.page-privacy-policy__hero-section {
  position: relative;
  padding: 80px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  color: #ffffff;
  background-color: #017439; /* Primary brand color for hero */
  padding-top: var(--header-offset, 120px); /* Ensure content is below fixed header */
}

.page-privacy-policy__hero-content {
  max-width: 900px;
  z-index: 1;
  margin-bottom: 40px;
}

.page-privacy-policy__main-title {
  font-size: 2.8em;
  font-weight: bold;
  margin-bottom: 20px;
  color: #ffffff;
}

.page-privacy-policy__hero-description {
  font-size: 1.2em;
  margin-bottom: 30px;
  color: #f0f0f0;
}

.page-privacy-policy__hero-buttons {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.page-privacy-policy__hero-image-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  z-index: 0;
}

.page-privacy-policy__hero-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(50%); /* Subtle filter, not changing color */
}

.page-privacy-policy__content-area {
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 20px;
  background-color: #ffffff; /* Light background for main content */
  color: #333333; /* Dark text for light background */
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-top: -40px; /* Overlap with hero for visual flow */
  position: relative;
  z-index: 2;
}

.page-privacy-policy__section-title {
  font-size: 2em;
  font-weight: bold;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #017439; /* Primary color for main section titles */
}

.page-privacy-policy__sub-title {
  font-size: 1.5em;
  font-weight: bold;
  margin-top: 30px;
  margin-bottom: 15px;
  color: #333333;
}

.page-privacy-policy__paragraph {
  margin-bottom: 15px;
  font-size: 1.1em;
}

.page-privacy-policy__list {
  list-style: disc inside;
  margin-bottom: 20px;
  padding-left: 20px;
}

.page-privacy-policy__list-item {
  margin-bottom: 10px;
  font-size: 1.05em;
}

.page-privacy-policy__image-block {
  text-align: center;
  margin: 40px 0;
}

.page-privacy-policy__content-image {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.page-privacy-policy__image-caption {
  margin-top: 10px;
  font-style: italic;
  color: #555555;
  font-size: 0.9em;
}

.page-privacy-policy__inline-link {
  color: #017439; /* Primary brand color for inline links */
  text-decoration: underline;
  font-weight: bold;
}

.page-privacy-policy__inline-link:hover {
  color: #005f2c;
}

/* FAQ Section */
.page-privacy-policy__faq-list {
  margin-top: 30px;
}

.page-privacy-policy__faq-item {
  background-color: #f9f9f9;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 15px;
  overflow: hidden;
}

.page-privacy-policy__faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 25px;
  font-size: 1.2em;
  font-weight: bold;
  cursor: pointer;
  background-color: #f0f0f0;
  color: #333333;
  transition: background-color 0.3s ease;
}

.page-privacy-policy__faq-question:hover {
  background-color: #e5e5e5;
}

.page-privacy-policy__faq-title {
  margin: 0;
  color: #333333;
}

.page-privacy-policy__faq-toggle {
  font-size: 1.5em;
  font-weight: normal;
  transition: transform 0.3s ease;
  color: #017439;
}

.page-privacy-policy__faq-item.active .page-privacy-policy__faq-toggle {
  transform: rotate(45deg);
}

.page-privacy-policy__faq-answer {
  max-height: 0;
  overflow: hidden;
  padding: 0 25px;
  transition: max-height 0.3s ease, padding 0.3s ease;
  color: #555555;
}

.page-privacy-policy__faq-item.active .page-privacy-policy__faq-answer {
  max-height: 1000px !important; /* Sufficient height for content */
  padding: 15px 25px;
}

/* Call to Action Section */
.page-privacy-policy__cta-section {
  background-color: #017439; /* Primary brand color */
  color: #ffffff;
  padding: 80px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
}

.page-privacy-policy__cta-content {
  max-width: 800px;
}

.page-privacy-policy__cta-title {
  font-size: 2.5em;
  font-weight: bold;
  margin-bottom: 20px;
  color: #ffffff;
}

.page-privacy-policy__cta-description {
  font-size: 1.1em;
  margin-bottom: 30px;
  color: #f0f0f0;
}

.page-privacy-policy__cta-image-wrapper {
  max-width: 600px;
  width: 100%;
}

.page-privacy-policy__cta-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

/* Buttons */
.page-privacy-policy__btn-primary {
  display: inline-block;
  background-color: #C30808; /* Custom color for register/login */
  color: #FFFF00; /* Custom font color for register/login */
  padding: 15px 30px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.1em;
  transition: background-color 0.3s ease, transform 0.3s ease;
  border: 2px solid #C30808;
}

.page-privacy-policy__btn-primary:hover {
  background-color: #a00606;
  transform: translateY(-3px);
}

.page-privacy-policy__btn-secondary {
  display: inline-block;
  background-color: transparent;
  color: #ffffff;
  padding: 15px 30px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.1em;
  border: 2px solid #ffffff;
  transition: background-color 0.3s ease, color 0.3s ease, transform 0.3s ease;
}

.page-privacy-policy__btn-secondary:hover {
  background-color: #ffffff;
  color: #017439;
  transform: translateY(-3px);
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .page-privacy-policy {
    font-size: 16px;
    line-height: 1.6;
  }

  .page-privacy-policy__hero-section {
    padding: 60px 15px;
    padding-top: var(--header-offset, 120px) !important;
  }

  .page-privacy-policy__main-title {
    font-size: 2em;
  }

  .page-privacy-policy__hero-description {
    font-size: 1em;
  }

  .page-privacy-policy__hero-buttons {
    flex-direction: column;
    gap: 15px;
  }

  .page-privacy-policy__btn-primary,
  .page-privacy-policy__btn-secondary {
    width: 100%;
    max-width: 300px;
    box-sizing: border-box;
    white-space: normal;
    word-wrap: break-word;
    padding-left: 15px;
    padding-right: 15px;
  }

  .page-privacy-policy__content-area {
    padding: 30px 15px;
    margin-top: -20px;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .page-privacy-policy__section-title {
    font-size: 1.6em;
  }

  .page-privacy-policy__sub-title {
    font-size: 1.3em;
  }

  /* Image responsiveness */
  .page-privacy-policy img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  
  .page-privacy-policy__image-block,
  .page-privacy-policy__hero-image-wrapper,
  .page-privacy-policy__cta-image-wrapper {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .page-privacy-policy__faq-question {
    padding: 15px 20px;
    font-size: 1.1em;
  }

  .page-privacy-policy__faq-answer {
    padding: 0 20px;
  }

  .page-privacy-policy__faq-item.active .page-privacy-policy__faq-answer {
    padding: 15px 20px;
  }

  .page-privacy-policy__cta-section {
    padding: 60px 15px;
  }

  .page-privacy-policy__cta-title {
    font-size: 2em;
  }

  .page-privacy-policy__cta-description {
    font-size: 1em;
  }

  .page-privacy-policy__cta-buttons {
    flex-direction: column;
    gap: 15px;
  }

  /* Ensure all content containers are constrained */
  .page-privacy-policy__section,
  .page-privacy-policy__card,
  .page-privacy-policy__container {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* Contrast Fixes - if needed */
/* The page is designed with light text on dark body and dark text on light content area, so direct contrast fixes might not be strictly needed, but these classes are available if specific elements require adjustment. */
.page-privacy-policy__dark-bg {
  color: #ffffff;
  background-color: #017439; /* Example of dark background with light text */
}

.page-privacy-policy__light-bg {
  color: #333333;
  background-color: #ffffff; /* Example of light background with dark text */
}