/* loyalty.php — page styles, prefix p3_d8b4f1c460_ */

.p3_d8b4f1c460_root {
  background: #0b1f12;
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  min-height: 100vh;
}

/* Hero centered */
.p3_d8b4f1c460_hero-centered {
  background: #05140a;
  padding: 48px 24px 36px;
  border-bottom: 2px solid #2ecc71;
}

.p3_d8b4f1c460_hero-inner {
  max-width: 900px;
  margin: 0 auto;
}

.p3_d8b4f1c460_h1 {
  color: #2ecc71;
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  margin: 0 0 16px;
  line-height: 1.3;
}

.p3_d8b4f1c460_lead {
  color: #cce8d5;
  font-size: 1.05rem;
  margin: 0 0 20px;
  max-width: 820px;
}

/* TOC inline */
.p3_d8b4f1c460_toc-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  padding: 12px 0 0;
}

.p3_d8b4f1c460_toc-label {
  color: #2ecc71;
  font-weight: 700;
  font-size: 0.9rem;
  margin-right: 4px;
}

.p3_d8b4f1c460_toc-link {
  color: #2ecc71;
  font-size: 0.88rem;
  text-decoration: none;
  border: 1px solid #2ecc71;
  border-radius: 4px;
  padding: 2px 10px;
  transition: background 0.2s, color 0.2s;
}

.p3_d8b4f1c460_toc-link:hover {
  background: #2ecc71;
  color: #0b1f12;
}

/* Split layout */
.p3_d8b4f1c460_split-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 16px 48px;
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.p3_d8b4f1c460_main-col {
  flex: 1 1 0;
  min-width: 0;
}

/* Sidebar */
.p3_d8b4f1c460_sidebar {
  width: 240px;
  flex-shrink: 0;
  position: sticky;
  top: 80px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.p3_d8b4f1c460_aside-widget {
  background: #05140a;
  border: 1px solid #1a3d22;
  border-radius: 8px;
  padding: 16px;
}

.p3_d8b4f1c460_aside-title {
  color: #2ecc71;
  font-weight: 700;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

.p3_d8b4f1c460_aside-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.9rem;
}

.p3_d8b4f1c460_aside-links li {
  color: #cce8d5;
}

.p3_d8b4f1c460_aside-note {
  color: #cce8d5;
  font-size: 0.88rem;
  margin: 0;
}

/* Sections */
.p3_d8b4f1c460_section {
  margin-bottom: 44px;
}

.p3_d8b4f1c460_h2 {
  color: #2ecc71;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 700;
  margin: 0 0 14px;
  padding-bottom: 6px;
  border-bottom: 1px solid #1a3d22;
}

.p3_d8b4f1c460_h3 {
  color: #7ee8a2;
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0 0 8px;
}

p.p3_d8b4f1c460_section p,
.p3_d8b4f1c460_main-col p {
  margin: 0 0 14px;
  color: #e0f0e6;
}

.p3_d8b4f1c460_section p {
  margin: 0 0 14px;
  color: #e0f0e6;
}

/* Table */
.p3_d8b4f1c460_table-wrap {
  overflow-x: auto;
  margin: 16px 0 20px;
  border-radius: 8px;
  border: 1px solid #1a3d22;
}

.p3_d8b4f1c460_table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.p3_d8b4f1c460_table thead tr {
  background: #0d2b14;
}

.p3_d8b4f1c460_table th {
  color: #2ecc71;
  font-weight: 700;
  padding: 10px 14px;
  text-align: left;
  white-space: nowrap;
}

.p3_d8b4f1c460_table td {
  padding: 9px 14px;
  color: #e0f0e6;
  border-top: 1px solid #1a3d22;
}

.p3_d8b4f1c460_table tbody tr:nth-child(even) {
  background: #081a0d;
}

.p3_d8b4f1c460_table tbody tr:hover {
  background: #0f2c18;
}

/* List */
.p3_d8b4f1c460_list {
  padding-left: 20px;
  margin: 10px 0 18px;
  color: #e0f0e6;
}

.p3_d8b4f1c460_list li {
  margin-bottom: 10px;
  line-height: 1.6;
}

/* Images */
.p3_d8b4f1c460_img-full {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin: 16px 0 20px;
  display: block;
  border: 1px solid #1a3d22;
  object-fit: cover;
  max-height: 280px;
}

/* Links */
.p3_d8b4f1c460_link {
  color: #3b9aff;
  text-decoration: underline;
}

.p3_d8b4f1c460_link:hover {
  color: #7ec8ff;
}

/* Myth-fact grid */
.p3_d8b4f1c460_myth-grid {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 8px;
}

.p3_d8b4f1c460_myth-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.p3_d8b4f1c460_myth-cell {
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 0.92rem;
  color: #e0f0e6;
}

.p3_d8b4f1c460_myth-cell p {
  margin: 6px 0 0;
  color: #e0f0e6;
}

.p3_d8b4f1c460_myth {
  background: #120d05;
  border: 1px solid #5c3d00;
}

.p3_d8b4f1c460_fact {
  background: #051a0e;
  border: 1px solid #1a5c30;
}

.p3_d8b4f1c460_label-myth {
  color: #e6a817;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.p3_d8b4f1c460_label-fact {
  color: #2ecc71;
  font-weight: 700;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Ribbon compare */
.p3_d8b4f1c460_ribbon-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #1a3d22;
  margin-top: 12px;
}

.p3_d8b4f1c460_ribbon-item {
  padding: 18px 20px;
  font-size: 0.93rem;
  color: #e0f0e6;
}

.p3_d8b4f1c460_ribbon-item p {
  margin: 8px 0 0;
  color: #cce8d5;
}

.p3_d8b4f1c460_ribbon-a {
  background: #0a1f10;
  border-right: 1px solid #1a3d22;
}

.p3_d8b4f1c460_ribbon-b {
  background: #051a0e;
}

.p3_d8b4f1c460_ribbon-title {
  color: #2ecc71;
  font-size: 0.95rem;
  display: block;
}

/* FAQ */
.p3_d8b4f1c460_faq-group {
  background: #05140a;
  border: 1px solid #1a3d22;
  border-radius: 8px;
  padding: 18px 20px;
  margin-bottom: 14px;
}

.p3_d8b4f1c460_faq-group p {
  margin: 0;
  color: #cce8d5;
}

/* CTA */
.p3_d8b4f1c460_cta-block {
  background: #05140a;
  border-left: 4px solid #2ecc71;
  border-radius: 0 8px 8px 0;
  padding: 20px 24px;
}

.p3_d8b4f1c460_cta-text {
  margin: 0;
  color: #cce8d5;
  font-size: 0.97rem;
  line-height: 1.7;
}

/* Responsive */
@media (max-width: 860px) {
  .p3_d8b4f1c460_split-wrap {
    flex-direction: column;
    padding: 20px 12px 32px;
  }

  .p3_d8b4f1c460_sidebar {
    width: 100%;
    position: static;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }

  .p3_d8b4f1c460_aside-widget {
    flex: 1 1 200px;
  }

  .p3_d8b4f1c460_myth-row {
    grid-template-columns: 1fr;
  }

  .p3_d8b4f1c460_ribbon-row {
    grid-template-columns: 1fr;
  }

  .p3_d8b4f1c460_ribbon-a {
    border-right: none;
    border-bottom: 1px solid #1a3d22;
  }
}

@media (max-width: 480px) {
  .p3_d8b4f1c460_hero-centered {
    padding: 28px 14px 24px;
  }

  .p3_d8b4f1c460_toc-inline {
    gap: 6px 8px;
  }

  .p3_d8b4f1c460_h1 {
    font-size: 1.3rem;
  }

  .p3_d8b4f1c460_table th,
  .p3_d8b4f1c460_table td {
    padding: 7px 10px;
    font-size: 0.85rem;
  }
}

/* Enforced site palette (#0b1f12 / #05140a / #2ecc71) — последним слоем */
html, body {
  background-color: #0b1f12 !important;
}
main {
  background-color: transparent !important;
  color: #ffffff !important;
  font-family: Arial, sans-serif !important;
}
main * {
  font-family: inherit !important;
}
main, main p, main li, main label, main span, main small, main td, main th, main dd, main dt {
  color: #ffffff !important;
}
main h1, main h2, main h3, main h4 {
  color: #ffe14a !important;
}
main .accent, main strong, main b {
  color: #2ecc71 !important;
}
/* FAQ/аккордеон: заголовки h* внутри кнопки не делаем жёлтыми (было нечитаемо на жёлтом фоне) */
main button :is(h1, h2, h3, h4),
main [role="button"] :is(h1, h2, h3, h4) {
  color: #ffffff !important;
}
main button :is(span, p, div),
main [role="button"] :is(span, p, div) {
  color: inherit !important;
}
main a {
  color: #3b82f6 !important;
}
main a:hover {
  color: #60a5fa !important;
}
/* Tailwind / классы: жёлтая заливка — текст #101710 (перекрывает main a) */
main a[class*="bg-yellow"],
main a[class*="bg-amber"],
main a[class*="bg-lime"],
main a[class*="bg-[#ffe14a"],
main a[class*="bg-[#FFE14A"],
main button[class*="bg-yellow"],
main button[class*="bg-amber"],
main button[class*="bg-lime"],
main button[class*="bg-[#ffe14a"],
main button[class*="bg-[#FFE14A"] {
  color: #101710 !important;
}
main a[class*="bg-yellow"] *,
main a[class*="bg-amber"] *,
main button[class*="bg-yellow"] *,
main button[class*="bg-amber"] *,
main a[class*="bg-[#ffe14a"] *,
main a[class*="bg-[#FFE14A"] *,
main button[class*="bg-[#ffe14a"] *,
main button[class*="bg-[#FFE14A"] * {
  color: #101710 !important;
}
/* Контур / прозрачный фон + жёлтая рамка или ring — белый текст */
main a[class*="border-yellow"]:not([class*="bg-yellow"]),
main a[class*="border-amber"]:not([class*="bg-yellow"]):not([class*="bg-amber"]),
main button[class*="border-yellow"]:not([class*="bg-yellow-4"]):not([class*="bg-yellow-5"]):not([class*="bg-amber-4"]):not([class*="bg-amber-5"]),
main button[class*="border-amber"]:not([class*="bg-yellow"]):not([class*="bg-amber"]),
main a[class*="ring-yellow"]:not([class*="bg-yellow"]),
main button[class*="ring-yellow"]:not([class*="bg-yellow"]),
main a[class*="ring-amber"]:not([class*="bg-amber"]),
main button[class*="ring-amber"]:not([class*="bg-amber"]) {
  color: #ffffff !important;
}
main a[class*="border-yellow"]:not([class*="bg-yellow"]) *,
main button[class*="border-yellow"]:not([class*="bg-yellow"]) *,
main a[class*="ring-yellow"]:not([class*="bg-yellow"]) *,
main button[class*="ring-yellow"]:not([class*="bg-yellow"]) * {
  color: #ffffff !important;
}
/* Tailwind arbitrary: border-[#ffe14a] / ring — жёлтая обводка на прозрачном фоне = белый текст */
main a[class*="bg-transparent"][class*="border-[#ffe14a"],
main a[class*="bg-transparent"][class*="border-[#FFE14A"],
main button[class*="bg-transparent"][class*="border-[#ffe14a"],
main button[class*="bg-transparent"][class*="border-[#FFE14A"],
main a[class*="border-[#ffe14a"][class*="bg-transparent"],
main button[class*="border-[#ffe14a"][class*="bg-transparent"],
main a[class*="border-[#FFE14A"][class*="bg-transparent"],
main button[class*="border-[#FFE14A"][class*="bg-transparent"],
main a[class*="ring-[#ffe14a"]:not([class*="bg-[#ffe14a"]),
main button[class*="ring-[#ffe14a"]:not([class*="bg-[#ffe14a"]),
main a[class*="ring-[#FFE14A"]:not([class*="bg-[#ffe14a"]),
main button[class*="ring-[#FFE14A"]:not([class*="bg-[#ffe14a"]) {
  color: #ffffff !important;
}
main a[class*="bg-transparent"][class*="border-[#ffe14a"] *,
main button[class*="bg-transparent"][class*="border-[#ffe14a"] *,
main a[class*="border-[#ffe14a"][class*="bg-transparent"] *,
main button[class*="border-[#ffe14a"][class*="bg-transparent"] * {
  color: #ffffff !important;
}
/* Та же кнопка при hover с заливкой — тёмный текст */
main a[class*="border-[#ffe14a"][class*="hover:bg-[#ffe14a"]:hover,
main button[class*="border-[#ffe14a"][class*="hover:bg-[#ffe14a"]:hover,
main a[class*="border-[#FFE14A"][class*="hover:bg-[#FFE14A"]:hover,
main button[class*="border-[#FFE14A"][class*="hover:bg-[#FFE14A"]:hover {
  color: #101710 !important;
}
main a[class*="border-[#ffe14a"][class*="hover:bg-[#ffe14a"]:hover *,
main button[class*="border-[#ffe14a"][class*="hover:bg-[#ffe14a"]:hover * {
  color: #101710 !important;
}
/* Жёлтая ЗАЛИВКА CTA — только явный жёлтый фон (не border-color + transparent) */
main a[style*="background:#ffe14a"],
main a[style*="background: #ffe14a"],
main a[style*="background-color:#ffe14a"],
main a[style*="background-color: #ffe14a"],
main a[style*="linear-gradient"][style*="ffe14a"],
main a[style*="background:rgb(255, 225, 74)"],
main a[style*="background: rgb(255, 225, 74)"],
main a.bg-brand-accent {
  color: #101710 !important;
}
main a[style*="background:#ffe14a"]:hover,
main a[style*="background: #ffe14a"]:hover,
main a.bg-brand-accent:hover {
  color: #0a0f0a !important;
}
main a[style*="background:#ffe14a"] :is(span, strong, b),
main a[style*="background: #ffe14a"] :is(span, strong, b),
main a[style*="linear-gradient"][style*="ffe14a"] :is(span, strong, b),
main a.bg-brand-accent :is(span, strong, b) {
  color: #101710 !important;
}
main button[style*="background:#ffe14a"],
main button[style*="background: #ffe14a"],
main button[style*="background-color:#ffe14a"],
main button[style*="background-color: #ffe14a"],
main button[style*="linear-gradient"][style*="ffe14a"],
main button.bg-brand-accent {
  color: #101710 !important;
}
main button[style*="background:#ffe14a"] :is(span, strong, b),
main button[style*="background: #ffe14a"] :is(span, strong, b),
main button.bg-brand-accent :is(span, strong, b) {
  color: #101710 !important;
}
/* Контурные кнопки: прозрачный фон + рамка акцента — белый текст */
main button[style*="background:transparent"],
main button[style*="background: transparent"],
main button[style*="background-color:transparent"],
main button[style*="background-color: transparent"] {
  color: #ffffff !important;
}
main button[style*="background:transparent"] :is(span, strong, b),
main button[style*="background: transparent"] :is(span, strong, b),
main button[style*="background-color:transparent"] :is(span, strong, b),
main button[style*="background-color: transparent"] :is(span, strong, b) {
  color: #ffffff !important;
}
main a[style*="background:transparent"][class*="border"],
main a[style*="background: transparent"][class*="border"],
main a[style*="border"][style*="background:transparent"] {
  color: #ffffff !important;
}
main a[style*="background:transparent"] :is(span, strong, b),
main a[style*="background: transparent"] :is(span, strong, b) {
  color: #ffffff !important;
}
/* Tailwind: text-white на жёлтой заливке — тёмный текст */
main a[class*="bg-yellow"][class*="text-white"],
main button[class*="bg-yellow"][class*="text-white"],
main a[class*="bg-amber"][class*="text-white"],
main button[class*="bg-amber"][class*="text-white"],
main a[class*="bg-lime"][class*="text-white"],
main button[class*="bg-lime"][class*="text-white"] {
  color: #101710 !important;
}
main a[class*="bg-yellow"][class*="text-white"] *,
main button[class*="bg-yellow"][class*="text-white"] * {
  color: #101710 !important;
}
/* Контур: text-gray/zinc/slate на тёмном фоне — белый */
main a[class*="border-yellow"][class*="text-gray"],
main button[class*="border-yellow"][class*="text-gray"],
main a[class*="border-yellow"][class*="text-zinc"],
main button[class*="border-yellow"][class*="text-zinc"],
main a[class*="border-yellow"][class*="text-slate"],
main button[class*="border-yellow"][class*="text-slate"],
main a[class*="border-amber"][class*="text-gray"],
main button[class*="border-amber"][class*="text-gray"] {
  color: #ffffff !important;
}
main a[class*="border-yellow"][class*="text-gray"] *,
main button[class*="border-yellow"][class*="text-gray"] *,
main a[class*="border-amber"][class*="text-gray"] * {
  color: #ffffff !important;
}
/* Кнопки из промптов: primary = заливка, outline/secondary = контур */
main a.btn-primary:not([class*="outline"]),
main button.btn-primary:not([class*="outline"]),
main [class*="btn-primary"]:not([class*="outline"]):not([class*="border-2"]):not([class*="border-y"]) {
  color: #101710 !important;
}
main a[class*="btn-outline"],
main button[class*="btn-outline"],
main a.btn-secondary,
main button.btn-secondary {
  color: #ffffff !important;
}
/* Синие/indigo полосы — в палитру бренда (не «чужие» блоки) */
main section[class*="bg-blue"],
main section[class*="from-blue"],
main section[class*="to-blue"],
main [class*="bg-gradient"][class*="from-blue"],
main [class*="bg-gradient"][class*="to-indigo"] {
  background: linear-gradient(180deg, #05140a 0%, #0b1f12 100%) !important;
  background-color: #05140a !important;
  background-image: linear-gradient(180deg, #05140a 0%, #0b1f12 100%) !important;
}
/* CTA с фоном: overlay position:absolute без высоты секции → контент наезжает на предыдущий блок */
main section[class*="cta"][style*="background"],
main section[style*="background-image"][class*="cta"] {
  position: relative !important;
  overflow: hidden !important;
  min-height: min(52vh, 440px) !important;
  isolation: isolate;
}
main section[class*="cta"] > [class*="overlay"],
main section[style*="background-image"] > div[class*="overlay"] {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  min-height: 240px !important;
  padding: clamp(2rem, 5vw, 3.5rem) 1rem !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.72) !important;
}
main section[class*="faq"],
main section[id="faq"] {
  position: relative;
  z-index: 1;
}
main section[class*="cta"] {
  z-index: 0;
}
main section[class*="cta"] a[class*="button"],
main section[class*="cta"] a[class*="cta_"] {
  display: inline-block !important;
  width: auto !important;
  max-width: min(96vw, 420px) !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}
/* Вкладки шагов (registration и др.) вне #lw-games */
main section:not(#lw-games) button[data-tab].is-active,
main section:not(#lw-games) button[data-tab].lw-tab-on {
  background-color: #2ecc71 !important;
  color: #0b1f12 !important;
  border-color: #2ecc71 !important;
}
main section:not(#lw-games) button[data-tab]:not(.is-active):not(.lw-tab-on) {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #2ecc71 !important;
}
/* Ритм секций */
main > section {
  box-sizing: border-box;
  padding-left: max(1rem, env(safe-area-inset-left)) !important;
  padding-right: max(1rem, env(safe-area-inset-right)) !important;
  padding-top: 2.5rem !important;
  padding-bottom: 2.5rem !important;
}
/* FAQ: единый читаемый вид в палитре билда */
main section[id*="faq"] [class*="faq-item"],
main section[class*="faq"] [class*="faq-item"],
main [class*="faq-section"] [class*="faq-item"] {
  background-color: #05140a !important;
  border-radius: 12px !important;
  margin-bottom: 0.75rem !important;
  overflow: hidden;
}
main section[id*="faq"] [class*="faq-item"] > button,
main section[class*="faq"] [class*="faq-item"] > button,
main [class*="faq-section"] [class*="faq-item"] > button {
  color: #ffffff !important;
  width: 100%;
  text-align: left;
  padding: 0.85rem 1rem !important;
  background: transparent !important;
  border: none !important;
  font-weight: 700 !important;
}
main section[id*="faq"] h2,
main section[class*="faq"] h2,
main [class*="faq-section"] h2 {
  text-align: center !important;
  margin-bottom: 1.25rem !important;
}
/* Секции не получают принудительную полосу от генератора — только контент задаёт фон */
main > section:first-of-type {
  background-color: transparent !important;
}
/* Не переопределяем фон всех button — ломались вкладки и аккордеоны; CTA оформляй в HTML/Tailwind (жёлтая заливка + тёмный текст) */
#lw-games a,
[class*="games"] a,
[id*="games"] a {
  display: block;
  overflow: hidden;
  border-radius: 14px;
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
#lw-games a:hover,
[class*="games"] a:hover,
[id*="games"] a:hover {
  transform: translateY(-4px) scale(1.015);
  box-shadow: 0 10px 26px rgba(0,0,0,0.35);
  filter: saturate(1.12);
}
#lw-games img,
[class*="games"] img,
[id*="games"] img {
  width: 100%;
  min-height: 120px;
  object-fit: cover !important;
  object-position: center;
  display: block;
}
/* Вкладки #lw-games: активная — заливка акцента */
#lw-games button[data-tab].is-active,
#lw-games button[data-tab][aria-pressed="true"] {
  background-color: #2ecc71 !important;
  color: #0b1f12 !important;
  border-color: #2ecc71 !important;
}
#lw-games button[data-tab]:not(.is-active) {
  background-color: transparent !important;
  color: #ffffff !important;
  border: 2px solid #2ecc71 !important;
}
#lw-games button[data-tab] * {
  color: inherit !important;
}
/* Постобработка patchMainCtaContrast: контраст gateway-ссылок в main */
main a.lw-cta-solid,
main a.lw-cta-solid * {
  color: #0b1f12 !important;
}
main a.lw-cta-solid:hover {
  color: color-mix(in srgb, #0b1f12 85%, #000) !important;
}
main a.lw-cta-outline,
main a.lw-cta-outline * {
  color: #ffffff !important;
}
