:root {
  --primary-color: #11A84E;
  --secondary-color: #22C768;
  --bg-color: #08160F;
  --card-bg: #11271B;
  --text-main: #F2FFF6;
  --text-secondary: #A7D9B8;
  --border-color: #2E7A4E;
  --button-gradient: linear-gradient(180deg, #2AD16F 0%, #13994A 100%);
  --glow-color: #57E38D;
  --gold-color: #F2C14E;
  --divider-color: #1E3A2A;
  --deep-green-color: #0A4B2C;
  --text-dark: #333333; /* For light backgrounds */
  --text-light: #ffffff; /* For dark backgrounds */
  --header-offset: 122px; /* Default from shared, for body padding-top */
}

.page-privacy-policy {
  background-color: var(--bg-color);
  color: var(--text-main); /* Default text color for dark background */
  font-family: 'Arial', sans-serif; /* Example font */
  line-height: 1.6;
}

.page-privacy-policy__container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px 15px;
  box-sizing: border-box;
}

/* Hero Section */
.page-privacy-policy__hero-section {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-top: 10px; /* Small top padding, body handles header offset */
  padding-bottom: 40px;
  text-align: center;
  overflow: hidden;
  background-color: var(--deep-green-color);
}

.page-privacy-policy__hero-image {
  width: 100%;
  max-width: 1920px; /* Max width for the image itself */
  height: auto;
  display: block;
  object-fit: cover;
  opacity: 0.3; /* Subtle background image */
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.page-privacy-policy__hero-content {
  position: relative;
  z-index: 2;
  max-width: 800px;
  padding: 20px;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.page-privacy-policy__main-title {
  font-size: clamp(2.2rem, 4vw, 3rem); /* H1 font size with clamp */
  font-weight: 700;
  color: var(--gold-color);
  margin-bottom: 15px;
  line-height: 1.2;
}

.page-privacy-policy__description {
  font-size: 1.1rem;
  color: var(--text-secondary);
  margin-bottom: 30px;
}

.page-privacy-policy__btn-primary {
  display: inline-block;
  background: var(--button-gradient);
  color: var(--text-light);
  padding: 12px 25px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}

.page-privacy-policy__btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

/* Content Sections */
.page-privacy-policy__content-section {
  padding: 40px 0;
  border-bottom: 1px solid var(--divider-color);
}

.page-privacy-policy__dark-section {
  background-color: var(--card-bg); /* Darker background for contrast */
  color: var(--text-main);
}

.page-privacy-policy__section-title {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--primary-color);
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  padding-bottom: 10px;
}

.page-privacy-policy__section-title::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px;
  height: 3px;
  background-color: var(--gold-color);
  border-radius: 2px;
}

.page-privacy-policy__sub-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--secondary-color);
  margin-top: 30px;
  margin-bottom: 15px;
}

.page-privacy-policy p {
  margin-bottom: 15px;
  color: var(--text-main);
}

.page-privacy-policy__list {
  list-style-type: disc;
  padding-left: 25px;
  margin-bottom: 20px;
  color: var(--text-main);
}

.page-privacy-policy__list li {
  margin-bottom: 8px;
}

.page-privacy-policy__list li strong {
  color: var(--gold-color);
}

.page-privacy-policy__info-block {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
  margin-bottom: 30px;
  align-items: flex-start;
}

.page-privacy-policy__info-block img {
  width: 100%;
  max-width: 400px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  margin-right: 20px;
}

.page-privacy-policy__info-block > div {
  flex: 1;
  min-width: 300px;
}

.page-privacy-policy__content-image {
  width: 100%;
  height: auto;
  display: block;
  margin: 30px auto;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
  max-width: 800px; /* Ensure images are not too wide */
  min-height: 200px; /* Minimum size requirement */
}

.page-privacy-policy__protection-features {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
  margin-bottom: 30px;
  align-items: stretch;
}

.page-privacy-policy__feature-card {
  background-color: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: 8px;
  padding: 20px;
  flex: 1;
  min-width: 280px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.page-privacy-policy__feature-title {
  font-size: 1.3rem;
  color: var(--gold-color);
  margin-top: 0;
  margin-bottom: 10px;
}

.page-privacy-policy__contact-btn {
  margin-top: 20px;
}

/* FAQ Section */
.page-privacy-policy__faq-section {
  padding: 50px 0;
  background-color: var(--deep-green-color);
  color: var(--text-main);
}

details.page-privacy-policy__faq-item {
  margin-bottom: 15px;
  border-radius: 8px;
  border: 1px solid var(--border-color);
  overflow: hidden;
  background: var(--card-bg);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}
details.page-privacy-policy__faq-item summary.page-privacy-policy__faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
  user-select: none;
  list-style: none;
  transition: background-color 0.3s ease;
  color: var(--gold-color);
}
details.page-privacy-policy__faq-item summary.page-privacy-policy__faq-question::-webkit-details-marker {
  display: none;
}
details.page-privacy-policy__faq-item summary.page-privacy-policy__faq-question:hover {
  background: rgba(var(--primary-color), 0.1);
}
.page-privacy-policy__faq-qtext {
  flex: 1;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: left;
  color: var(--text-main); /* Ensure text is light on dark background */
}
.page-privacy-policy__faq-toggle {
  font-size: 24px;
  font-weight: bold;
  color: var(--gold-color);
  flex-shrink: 0;
  margin-left: 15px;
  width: 28px;
  text-align: center;
}
details.page-privacy-policy__faq-item .page-privacy-policy__faq-answer {
  padding: 0 20px 20px;
  background: rgba(var(--primary-color), 0.05); /* Slightly lighter background for answer */
  border-radius: 0 0 8px 8px;
  color: var(--text-secondary);
}
details.page-privacy-policy__faq-item .page-privacy-policy__faq-answer p {
  color: var(--text-secondary);
}

/* Links within content */
.page-privacy-policy a {
  color: var(--gold-color);
  text-decoration: underline;
  transition: color 0.3s ease;
}

.page-privacy-policy a:hover {
  color: var(--glow-color);
}

/* Responsive Styles */
@media (max-width: 768px) {
  .page-privacy-policy__hero-section {
    padding-bottom: 30px;
  }

  .page-privacy-policy__main-title {
    font-size: clamp(1.8rem, 6vw, 2.5rem);
  }

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

  .page-privacy-policy__section-title {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }

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

  .page-privacy-policy p,
  .page-privacy-policy li,
  .page-privacy-policy__faq-qtext {
    font-size: 15px;
  }

  .page-privacy-policy__info-block {
    flex-direction: column;
    align-items: center;
  }

  .page-privacy-policy__info-block img {
    margin-right: 0;
    margin-bottom: 20px;
    max-width: 100%;
  }

  .page-privacy-policy__feature-card {
    min-width: unset;
    flex-basis: 100%;
  }

  details.page-privacy-policy__faq-item summary.page-privacy-policy__faq-question {
    padding: 15px;
  }
  .page-privacy-policy__faq-toggle {
    font-size: 20px;
    width: 24px;
  }
  details.page-privacy-policy__faq-item .page-privacy-policy__faq-answer {
    padding: 0 15px 15px;
  }

  /* Universal image and container responsiveness */
  .page-privacy-policy img {
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
  
  .page-privacy-policy__content-section,
  .page-privacy-policy__faq-section,
  .page-privacy-policy__hero-section .page-privacy-policy__hero-content, /* Specific content box */
  .page-privacy-policy__container,
  .page-privacy-policy__info-block,
  .page-privacy-policy__protection-features,
  .page-privacy-policy__feature-card,
  .page-privacy-policy__faq-list,
  details.page-privacy-policy__faq-item {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 15px;
    padding-right: 15px;
  }

  /* Button responsiveness */
  .page-privacy-policy__btn-primary,
  .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;
    text-align: center;
  }
  
  .page-privacy-policy__cta-buttons,
  .page-privacy-policy__button-group,
  .page-privacy-policy__btn-container {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 15px;
    padding-right: 15px;
    flex-wrap: wrap !important;
    gap: 10px;
    display: flex;
    flex-direction: column;
  }
}

/* The following CSS snippets are included based on the highest priority 'Return Format' requirement,
   even though they are primarily for the homepage trial module and not directly used by this privacy policy page. */
@media (max-width: 1023px) {
  .page-privacy-policy__home-hero {
    display: block !important;
    grid-template-columns: none !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden;
    box-sizing: border-box;
  }
  .page-privacy-policy__hero-brand,
  .page-privacy-policy__hero-jackpot {
    display: none !important;
  }
  .page-privacy-policy__game-trial {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
    margin: 0 auto;
    padding: 0 0 12px !important;
    box-sizing: border-box;
  }
  .page-privacy-policy__game-trial-shell {
    height: auto !important;
    max-height: none !important;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .page-privacy-policy__game-trial-topbar,
  .page-privacy-policy__game-trial-bottombar {
    display: none !important;
  }
  .page-privacy-policy__game-trial-viewport {
    position: relative;
    width: 100%;
    aspect-ratio: 1024 / 768;
    flex: none !important;
    min-height: 240px;
    max-height: none !important;
    overflow: hidden;
    box-sizing: border-box;
  }
  .page-privacy-policy__game-trial-frame {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    max-width: 100%;
    border: none;
    z-index: 1;
    overflow: hidden;
  }
  .page-privacy-policy__game-trial-overlay {
    z-index: 5 !important;
    pointer-events: auto !important;
  }
  .page-privacy-policy__game-trial-start {
    z-index: 6 !important;
    pointer-events: auto !important;
    touch-action: manipulation;
  }
}

@media (min-width: 1024px) {
  .page-privacy-policy__home-hero {
    display: grid;
    grid-template-columns: 26% 48% 26%;
    gap: 16px;
    align-items: stretch;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 10px 16px 24px;
    box-sizing: border-box;
  }
  .page-privacy-policy__hero-brand,
  .page-privacy-policy__hero-jackpot,
  .page-privacy-policy__game-trial {
    height: 300px;
    max-height: 300px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .page-privacy-policy__game-trial {
    max-width: none !important;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .page-privacy-policy__game-trial-shell {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 300px;
    box-sizing: border-box;
  }
  .page-privacy-policy__game-trial-viewport {
    flex: 1;
    min-height: 0;
    position: relative;
    width: 100%;
  }
  .page-privacy-policy__game-trial-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: none;
  }
  .page-privacy-policy__hero-jackpot-claim {
    background: #c62828 !important;
    color: #fff !important;
  }
}

/* The following CSS snippets are for the homepage but are included based on the highest priority 'Return Format' requirement for 768px. */
@media (max-width: 768px) {
  .page-privacy-policy__promo-strip-track {
    grid-template-columns: repeat(4, 1fr);
    overflow-x: hidden;
  }
  .page-privacy-policy__hot-games-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .page-privacy-policy__brand-intro { /* Example for brand intro, if it were on this page */
    padding: 20px 15px;
    text-align: center;
  }
  .page-privacy-policy__winner-ticker { /* Example for winner ticker, if it were on this page */
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    padding: 10px 15px;
    background-color: rgba(0, 0, 0, 0.8);
    color: var(--text-main);
  }
  body {
    padding-bottom: 50px; /* Adjust body padding if winner ticker is fixed at bottom */
  }
}

/* Additional common styles required by the prompt's return format */
.page-privacy-policy__game-trial-overlay{
  z-index:5;
  pointer-events:auto;
}
.page-privacy-policy__game-trial-overlay.is-hidden{
  display:none!important;
  pointer-events:none!important;
}
.page-privacy-policy__game-trial-start{
  z-index:6;
  pointer-events:auto;
  touch-action:manipulation;
}
.page-privacy-policy__game-trial-shell{
  border:1px solid rgba(212,175,55,.45);
  border-radius:10px;
  overflow:hidden;
}
.page-privacy-policy__reward-modal{
  position:fixed;
  inset:0;
  z-index:10000;
}
.page-privacy-policy__reward-modal-close {
  background: #c62828;
  color: #fff;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: absolute;
  top: 10px;
  right: 10px;
  font-size: 1.2rem;
  font-weight: bold;
  border: none;
}