.page-faq__hero-section { background-color: var(--primary-color); padding: 10px 0 40px; text-align: center; color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.page-faq__container { max-width: 1280px; margin: 0 auto; padding: 0 15px; box-sizing: border-box; width: 100%; }
.page-faq__hero-image { width: 100%; height: auto; max-width: 800px; margin: 0 auto 20px; border-radius: 10px; object-fit: cover; display: block; }
.page-faq__hero-content { max-width: 900px; margin: 0 auto; }
.page-faq__main-title { font-size: clamp(28px, 4vw, 42px); font-weight: 700; margin-bottom: 20px; line-height: 1.2; color: #ffffff; }
.page-faq__intro-text { font-size: 18px; line-height: 1.6; margin-bottom: 30px; }
.page-faq__cta-buttons { display: flex; justify-content: center; gap: 20px; flex-wrap: wrap; }
.page-faq__btn-primary, .page-faq__btn-secondary, .page-faq__btn-small { display: inline-flex; align-items: center; justify-content: center; padding: 12px 25px; border-radius: 8px; font-size: 16px; font-weight: 600; text-decoration: none; transition: all 0.3s ease; white-space: normal; word-wrap: break-word; box-sizing: border-box; max-width: 100%; }
.page-faq__btn-primary { background-color: #26A9E0; color: #FFFFFF; border: 2px solid #26A9E0; }
.page-faq__btn-primary:hover { background-color: #1a8cc4; border-color: #1a8cc4; }
.page-faq__btn-secondary { background-color: #FFFFFF; color: #26A9E0; border: 2px solid #26A9E0; }
.page-faq__btn-secondary:hover { background-color: #f0f0f0; }
.page-faq__btn-small { padding: 8px 15px; font-size: 14px; border: 1px solid #26A9E0; background-color: #26A9E0; color: #FFFFFF; margin-top: 15px; }
.page-faq__btn-small:hover { background-color: #1a8cc4; border-color: #1a8cc4; }

.page-faq__section { padding: 50px 0; }
.page-faq__section-title { font-size: 32px; font-weight: 700; text-align: center; margin-bottom: 40px; color: #26A9E0; }
.page-faq__section-title--white { color: #FFFFFF; }
.page-faq__light-bg { background-color: #FFFFFF; color: #333333; }
.page-faq__dark-bg { background-color: #26A9E0; color: #FFFFFF; }

.page-faq__faq-list { max-width: 900px; margin: 0 auto; }
details.page-faq__faq-item { margin-bottom: 15px; border-radius: 10px; border: 1px solid #e0e0e0; overflow: hidden; background: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
details.page-faq__faq-item summary.page-faq__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; }
details.page-faq__faq-item summary.page-faq__faq-question::-webkit-details-marker { display: none; }
details.page-faq__faq-item summary.page-faq__faq-question:hover { background: #f5f5f5; }
.page-faq__faq-qtext { flex: 1; font-size: 18px; font-weight: 600; line-height: 1.5; text-align: left; color: #333333; }
.page-faq__faq-toggle { font-size: 28px; font-weight: bold; color: #26A9E0; flex-shrink: 0; margin-left: 15px; width: 30px; text-align: center; transition: transform 0.3s ease; }
details.page-faq__faq-item[open] .page-faq__faq-toggle { transform: rotate(45deg); }
details.page-faq__faq-item .page-faq__faq-answer { padding: 0 20px 20px; background: #f9f9f9; border-radius: 0 0 10px 10px; }
details.page-faq__faq-item .page-faq__faq-answer p { margin-bottom: 10px; font-size: 16px; line-height: 1.7; color: #555555; }
details.page-faq__faq-item .page-faq__faq-answer p:last-child { margin-bottom: 0; }
details.page-faq__faq-item .page-faq__faq-answer a { color: #26A9E0; text-decoration: underline; }
details.page-faq__faq-item .page-faq__faq-answer a:hover { text-decoration: none; }

.page-faq__image-content { max-width: 100%; height: auto; display: block; margin-top: 20px; border-radius: 8px; }

.page-faq__contact-cta { padding: 60px 0; text-align: center; }
.page-faq__contact-content { max-width: 800px; }
.page-faq__contact-description { font-size: 18px; line-height: 1.6; margin-bottom: 30px; color: #FFFFFF; }

/* Ensure all images and containers are responsive */
.page-faq img {
  max-width: 100%;
  height: auto;
  display: block;
}
.page-faq__section,
.page-faq__card,
.page-faq__container {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

/* CSS for color contrast (body background is light #FFFFFF, so text should be dark #333333) */
.page-faq {
  color: #333333; /* Default text color for light background */
}

.page-faq__hero-section.page-faq__dark-bg, .page-faq__contact-cta.page-faq__dark-bg {
  background-color: #26A9E0;
  color: #ffffff; /* White text on primary brand color background */
}
.page-faq__hero-section .page-faq__main-title { color: #ffffff; }
.page-faq__hero-section .page-faq__intro-text { color: #ffffff; }

/* Specific contrast for FAQ items */
details.page-faq__faq-item { background: #ffffff; border: 1px solid #e0e0e0; }
details.page-faq__faq-item summary.page-faq__faq-question { background: #ffffff; }
details.page-faq__faq-item summary.page-faq__faq-question:hover { background: #f5f5f5; }
.page-faq__faq-qtext { color: #333333; }
.page-faq__faq-toggle { color: #26A9E0; }
details.page-faq__faq-item .page-faq__faq-answer { background: #f9f9f9; }
details.page-faq__faq-item .page-faq__faq-answer p { color: #555555; }

/* Button contrast already defined with brand colors */
.page-faq__btn-primary { background-color: #26A9E0; color: #FFFFFF; }
.page-faq__btn-secondary { background-color: #FFFFFF; color: #26A9E0; border-color: #26A9E0; }

/* Homepage specific CSS rules (MUST BE INCLUDED AS PER INSTRUCTIONS, even if not directly used by this page) */
@media (max-width: 1023px) {
  .page-faq__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-faq__hero-brand,
  .page-faq__hero-jackpot {
    display: none !important;
  }
  .page-faq__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-faq__game-trial-shell {
    height: auto !important;
    max-height: none !important;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    box-sizing: border-box;
  }
  .page-faq__game-trial-topbar,
  .page-faq__game-trial-bottombar {
    display: none !important;
  }
  .page-faq__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-faq__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-faq__game-trial-overlay {
    z-index: 5 !important;
    pointer-events: auto !important;
  }
  .page-faq__game-trial-start {
    z-index: 6 !important;
    pointer-events: auto !important;
    touch-action: manipulation;
  }
}

@media (min-width: 1024px) {
  .page-faq__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-faq__hero-brand,
  .page-faq__hero-jackpot,
  .page-faq__game-trial {
    height: 300px;
    max-height: 300px;
    overflow: hidden;
    box-sizing: border-box;
  }
  .page-faq__game-trial {
    max-width: none !important;
    width: 100%;
    margin: 0;
    padding: 0;
  }
  .page-faq__game-trial-shell {
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: 300px;
    box-sizing: border-box;
  }
  .page-faq__game-trial-viewport {
    flex: 1;
    min-height: 0;
    position: relative;
    width: 100%;
  }
  .page-faq__game-trial-frame {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    border: none;
  }
  .page-faq__hero-jackpot-claim {
    background: #c62828 !important;
    color: #fff !important;
  }
}