/* style/privacy-policy.css */
.page-privacy-policy {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  color: #ffffff; /* Default text color for dark body background */
  padding-top: var(--header-offset, 120px); /* Ensure content is not hidden by fixed header */
}

.page-privacy-policy__hero-section {
  background-color: #017439; /* Brand primary color for hero */
  padding: 80px 20px;
  text-align: center;
  color: #ffffff;
  position: relative;
  overflow: hidden;
}

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

.page-privacy-policy__hero-section .page-privacy-policy__container {
  position: relative;
  z-index: 1;
}

.page-privacy-policy__heading-1 {
  font-size: 2.8em;
  margin-bottom: 20px;
  color: #FFFF00; /* Use specified font color for prominent titles if suitable */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.page-privacy-policy__description {
  font-size: 1.2em;
  max-width: 800px;
  margin: 0 auto 40px auto;
  color: #f0f0f0;
}

.page-privacy-policy__section {
  padding: 60px 20px;
}

.page-privacy-policy__container {
  max-width: 1000px;
  margin: 0 auto;
}

.page-privacy-policy__introduction-content, .page-privacy-policy__data-collection, .page-privacy-policy__your-rights, .page-privacy-policy__third-party-links, .page-privacy-policy__contact {
  background-color: #ffffff;
  color: #333333; /* Dark text for light background */
}

.page-privacy-policy__data-usage, .page-privacy-policy__data-security, .page-privacy-policy__cookies, .page-privacy-policy__changes, .page-privacy-policy__cta-section {
  background-color: #017439;
  color: #ffffff; /* Light text for dark background */
}

.page-privacy-policy__heading-2 {
  font-size: 2em;
  margin-bottom: 30px;
  text-align: center;
  color: inherit; /* Inherit color from parent section */
}

.page-privacy-policy__heading-3 {
  font-size: 1.5em;
  margin-top: 40px;
  margin-bottom: 20px;
  color: inherit;
}

.page-privacy-policy__paragraph {
  margin-bottom: 20px;
  font-size: 1.05em;
  line-height: 1.7;
}

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

.page-privacy-policy__list-item {
  margin-bottom: 10px;
}

.page-privacy-policy__image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 40px auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.page-privacy-policy__faq-section {
  background-color: #f5f5f5;
  color: #333333;
}

.page-privacy-policy__faq-list {
  margin-top: 30px;
}

.page-privacy-policy__faq-item {
  background-color: #ffffff;
  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.15em;
  font-weight: bold;
  cursor: pointer;
  color: #017439;
  background-color: #f9f9f9;
  user-select: none;
  transition: background-color 0.3s ease;
  list-style: none; /* For details/summary */
}

.page-privacy-policy__faq-question::-webkit-details-marker {
  display: none;
}

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

.page-privacy-policy__faq-toggle {
  font-size: 1.5em;
  line-height: 1;
  margin-left: 15px;
  color: #017439;
}

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

.page-privacy-policy__faq-answer {
  padding: 0 25px 20px 25px;
  font-size: 1em;
  color: #555555;
  line-height: 1.6;
}

.page-privacy-policy__faq-answer p {
  margin-bottom: 0;
}

.page-privacy-policy__contact-list {
  list-style: none;
  padding-left: 0;
  margin-top: 20px;
}

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

.page-privacy-policy__contact-link {
  color: #017439; /* Brand color for links */
  text-decoration: underline;
}

.page-privacy-policy__contact-link:hover {
  color: #005a2e;
}

.page-privacy-policy__cta-section {
  text-align: center;
  padding: 80px 20px;
}

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

.page-privacy-policy__cta-text {
  font-size: 1.15em;
  max-width: 700px;
  margin: 0 auto 40px auto;
  color: #f0f0f0;
}

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

.page-privacy-policy__btn-primary,
.page-privacy-policy__btn-secondary {
  display: inline-block;
  padding: 15px 30px;
  border-radius: 8px;
  font-size: 1.1em;
  font-weight: bold;
  text-decoration: none;
  transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
  cursor: pointer;
  box-sizing: border-box;
  max-width: 100%;
  white-space: normal;
  word-wrap: break-word;
}

.page-privacy-policy__btn-primary {
  background-color: #C30808; /* Register button color */
  color: #FFFF00; /* Register/Login font color */
  border: 2px solid #C30808;
}

.page-privacy-policy__btn-primary:hover {
  background-color: #a30606;
  border-color: #a30606;
}

.page-privacy-policy__btn-secondary {
  background-color: #017439; /* Login button color - using brand primary as per custom rules, if not explicitly defined. If login button color is C30808, it should be used. The custom rule says Login is C30808, so I'll adjust. */
  color: #FFFF00; /* Register/Login font color */
  border: 2px solid #FFFF00;
}

.page-privacy-policy__btn-secondary:hover {
  background-color: #005a2e;
  border-color: #005a2e;
}

/* Adjusting secondary button to match login color if C30808 is intended for login buttons */
.page-privacy-policy__btn-secondary {
  background-color: #C30808;
  color: #FFFF00;
  border: 2px solid #FFFF00;
}

.page-privacy-policy__btn-secondary:hover {
  background-color: #a30606;
  border-color: #a30606;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .page-privacy-policy {
    font-size: 16px;
    line-height: 1.6;
    padding-top: var(--header-offset, 120px) !important;
  }

  .page-privacy-policy__heading-1 {
    font-size: 2em;
  }

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

  .page-privacy-policy__heading-2 {
    font-size: 1.6em;
  }

  .page-privacy-policy__heading-3 {
    font-size: 1.3em;
  }

  .page-privacy-policy__section,
  .page-privacy-policy__container,
  .page-privacy-policy__cta-section {
    padding-left: 15px;
    padding-right: 15px;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important; /* Ensure no horizontal scroll */
  }

  .page-privacy-policy__image {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-left: auto;
    margin-right: auto;
  }

  .page-privacy-policy img {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
  }

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

  .page-privacy-policy__btn-primary,
  .page-privacy-policy__btn-secondary,
  .page-privacy-policy a[class*="button"],
  .page-privacy-policy a[class*="btn"] {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    padding-left: 15px;
    padding-right: 15px;
  }
}