:root {
  --promo-yellow: #ffd900;
  --promo-yellow-soft: #fff7c9;
  --promo-navy: #102a4c;
  --promo-blue: #0878e8;
  --promo-ink: #132742;
  --promo-muted: #5f7189;
  --promo-line: #d9e3ed;
  --promo-green: #08785c;
  --promo-purple: #4b277e;
  --promo-red: #b22a2a;
}

.fortuna-promo-page {
  color: var(--promo-ink);
}

.fortuna-promo-page code {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.promo-hero-card {
  overflow: hidden;
  border-top: 5px solid var(--promo-yellow);
}

.promo-hero-card figure {
  margin: 0;
  background: #1d1924;
}

.promo-hero-card figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1430 / 681;
  object-fit: contain;
  object-position: center;
}

.promo-hero-card figure figcaption {
  padding: 9px 14px;
  color: #dce5ef;
  background: #1a202b;
  font-size: 12px;
  line-height: 1.4;
}

.promo-hero-answer {
  padding: 19px 20px;
  border-bottom: 1px solid var(--promo-line);
  background: linear-gradient(135deg, #eef8ff, #fffbea);
}

.promo-hero-answer span {
  display: block;
  margin-bottom: 5px;
  color: var(--promo-green);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.promo-hero-answer strong {
  display: block;
  color: var(--promo-navy);
  font-size: 22px;
}

.promo-hero-answer p {
  margin: 6px 0 0;
}

.promo-quick-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.promo-quick-facts > div {
  min-width: 0;
  padding: 15px 18px;
  border-right: 1px solid var(--promo-line);
  border-bottom: 1px solid var(--promo-line);
}

.promo-quick-facts > div:nth-child(2n) {
  border-right: 0;
}

.promo-quick-facts dt {
  color: var(--promo-muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.promo-quick-facts dd {
  margin: 5px 0 0;
  color: var(--promo-navy);
  font-weight: 900;
  overflow-wrap: anywhere;
}

.promo-answer-section {
  border-top: 5px solid var(--promo-yellow);
  background: linear-gradient(145deg, #fff, #fffdf2);
}

.promo-answer {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: start;
  gap: 16px;
  margin-top: 18px;
  padding: 22px;
  border: 1px solid #acdaca;
  border-radius: 17px;
  background: #eefbf6;
}

.promo-answer-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--promo-green);
  font-size: 29px;
  font-weight: 950;
}

.promo-answer strong {
  display: block;
  color: #07533f;
  font-size: 22px;
  line-height: 1.3;
}

.promo-answer p {
  margin: 8px 0 0;
}

.promo-status-grid,
.promo-bonus-map,
.promo-rule-grid,
.promo-spins-grid,
.promo-value-grid,
.promo-problem-grid,
.promo-proof-grid,
.promo-security-grid,
.promo-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.promo-status-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.promo-status-grid article,
.promo-bonus-map article,
.promo-rule-grid article,
.promo-spins-grid article,
.promo-value-grid article,
.promo-problem-grid article,
.promo-proof-grid article,
.promo-security-grid article,
.promo-method-grid article {
  min-width: 0;
  padding: 19px;
  border: 1px solid var(--promo-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(14, 40, 74, .06);
}

.promo-status-grid article {
  border-top: 4px solid var(--promo-yellow);
}

.promo-status-grid span,
.promo-bonus-map span,
.promo-rule-grid span,
.promo-spins-grid span,
.promo-value-grid span,
.promo-problem-grid span,
.promo-proof-grid span,
.promo-security-grid span,
.promo-method-grid span {
  display: block;
  margin-bottom: 6px;
  color: var(--promo-blue);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .055em;
  text-transform: uppercase;
}

.promo-status-grid strong,
.promo-bonus-map strong,
.promo-rule-grid strong,
.promo-spins-grid strong,
.promo-value-grid strong,
.promo-security-grid strong {
  display: block;
  margin-bottom: 7px;
  color: var(--promo-navy);
  font-size: 18px;
}

.promo-status-grid p,
.promo-bonus-map p,
.promo-rule-grid p,
.promo-spins-grid p,
.promo-value-grid p,
.promo-problem-grid p,
.promo-proof-grid p,
.promo-security-grid p,
.promo-method-grid p {
  margin: 0;
}

.promo-intent-note,
.promo-warning,
.promo-deposit-caution,
.promo-tool-note {
  margin-top: 18px;
  padding: 15px 17px;
  border-left: 4px solid var(--promo-yellow);
  border-radius: 0 12px 12px 0;
  background: var(--promo-yellow-soft);
}

.promo-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
}

.promo-route-grid article {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--promo-line);
  border-radius: 18px;
  background: #fff;
}

.promo-route-grid article > span {
  display: block;
  color: var(--promo-purple);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.promo-route-grid h3 {
  margin: 5px 0 12px;
}

.promo-route-grid ol {
  display: grid;
  gap: 7px;
  margin: 0 0 16px;
  padding-left: 21px;
}

.promo-route-recommended {
  border: 2px solid var(--promo-green) !important;
  background: #f1fbf7 !important;
}

.promo-route-result {
  display: block;
  margin-top: 16px;
  padding: 10px 12px;
  border-radius: 10px;
  color: #07543f;
  background: #dff5eb;
}

.promo-registration-bar {
  align-items: center;
  gap: 20px;
}

.promo-registration-bar > div {
  min-width: 0;
}

.promo-registration-bar .button {
  width: min(100%, 390px);
  height: auto;
  min-height: 50px;
  white-space: normal;
  line-height: 1.25;
  text-align: center;
}

.promo-steps {
  display: grid;
  gap: 12px;
  margin: 20px 0 0;
  padding: 0;
  counter-reset: promo-step;
  list-style: none;
}

.promo-steps li {
  position: relative;
  min-height: 68px;
  padding: 15px 18px 15px 70px;
  border: 1px solid var(--promo-line);
  border-radius: 14px;
  background: #fff;
  counter-increment: promo-step;
}

.promo-steps li::before {
  position: absolute;
  top: 14px;
  left: 15px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  color: var(--promo-navy);
  background: var(--promo-yellow);
  content: counter(promo-step);
  font-weight: 950;
}

.promo-steps p {
  margin: 4px 0 0;
}

.promo-wide-figure {
  margin: 23px 0 0;
  overflow: hidden;
  border: 1px solid var(--promo-line);
  border-radius: 16px;
  background: #191a20;
}

.promo-wide-figure img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.promo-wide-figure figcaption {
  padding: 11px 15px;
  color: #d8e0ea;
  background: #202229;
  font-size: 12px;
  line-height: 1.45;
}

.promo-steps-figure img {
  background: #25262d;
}

.promo-bonus-map article:nth-child(odd) {
  border-top: 4px solid var(--promo-purple);
}

.promo-bonus-map article:nth-child(even) {
  border-top: 4px solid var(--promo-blue);
}

.promo-equation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin-top: 22px;
  padding: 20px;
  border-radius: 18px;
  color: #fff;
  background: linear-gradient(135deg, #112c50, #34247a);
}

.promo-equation > div {
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
}

.promo-equation span,
.promo-equation small {
  display: block;
  color: #d9e4f1;
}

.promo-equation strong {
  display: block;
  margin: 5px 0;
  color: #fff;
  overflow-wrap: anywhere;
}

.promo-equation > b {
  color: var(--promo-yellow);
  font-size: 23px;
}

.promo-equation-total {
  border-color: var(--promo-yellow) !important;
  background: rgba(255,217,0,.14) !important;
}

.promo-warning {
  border-left-color: #e1a900;
}

.promo-deadline-section {
  color: #fff;
  border: 0;
  background:
    radial-gradient(circle at 95% 0, rgba(255,217,0,.22), transparent 27%),
    linear-gradient(135deg, #102a4c, #06182d);
}

.promo-deadline-section h2,
.promo-deadline-section .eyebrow {
  color: #fff;
}

.promo-deadline-tool {
  margin-top: 22px;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 18px;
  background: rgba(255,255,255,.07);
}

.promo-deadline-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.promo-deadline-inputs label {
  display: grid;
  gap: 7px;
  min-width: 0;
  font-size: 12px;
  font-weight: 850;
}

.promo-deadline-inputs input {
  width: 100%;
  min-height: 48px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 10px;
  color: var(--promo-ink);
  background: #fff;
  font: inherit;
}

.promo-deadline-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 15px;
}

.promo-deadline-results article {
  min-width: 0;
  padding: 16px;
  border-radius: 12px;
  color: var(--promo-ink);
  background: #fff;
}

.promo-deadline-results span {
  display: block;
  color: var(--promo-muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.promo-deadline-results strong {
  display: block;
  margin-top: 5px;
  color: var(--promo-green);
  font-size: 18px;
  overflow-wrap: anywhere;
}

.promo-deadline-results p {
  margin: 4px 0 0;
  color: var(--promo-muted);
  font-size: 12px;
}

.promo-tool-note {
  color: #d8e5f2;
  border-left-color: rgba(255,217,0,.8);
  background: rgba(255,255,255,.08);
}

.promo-rule-grid,
.promo-spins-grid,
.promo-security-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.promo-rule-grid article {
  border-top: 4px solid var(--promo-blue);
}

.promo-spins-grid article {
  border-top: 4px solid var(--promo-purple);
}

.promo-deposit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.promo-deposit-grid article {
  min-width: 0;
  padding: 21px;
  border: 1px solid var(--promo-line);
  border-top: 5px solid var(--promo-yellow);
  border-radius: 16px;
  background: #fff;
}

.promo-deposit-grid span {
  display: block;
  color: var(--promo-muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.promo-deposit-grid strong {
  display: block;
  margin: 7px 0;
  color: var(--promo-navy);
  font-size: 18px;
}

.promo-deposit-grid p {
  margin: 0;
}

.promo-deposit-caution {
  border-left-color: #d49700;
}

.promo-payments-figure img {
  max-height: 180px;
  background: #131418;
}

.promo-value-grid article:nth-child(1) { border-top: 4px solid var(--promo-blue); }
.promo-value-grid article:nth-child(2) { border-top: 4px solid var(--promo-purple); }
.promo-value-grid article:nth-child(3) { border-top: 4px solid var(--promo-green); }
.promo-value-grid article:nth-child(4) { border-top: 4px solid #ce9900; }

.promo-fact-check {
  margin-top: 22px;
  padding: 21px;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(135deg, #112c50, #1c3c64);
}

.promo-fact-check h3 {
  margin: 0 0 13px;
  color: #fff;
}

.promo-fact-check ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 0;
  padding-left: 19px;
}

.promo-problem-grid article {
  border-top: 4px solid #8fb7dd;
}

.promo-proof-grid article {
  border-top: 4px solid var(--promo-yellow);
}

.promo-proof-grid h3 {
  margin: 5px 0 7px;
}

.promo-proof-table {
  margin-top: 20px;
}

.promo-proof-note {
  margin-top: 18px;
  padding: 17px 19px;
  border: 1px solid #b8d9d0;
  border-radius: 14px;
  background: #effaf7;
  color: #164d40;
}

.promo-problem-grid h3,
.promo-method-grid h3 {
  margin: 5px 0 7px;
}

.promo-existing-list {
  margin-top: 19px;
}

.promo-security-grid article {
  border-top: 4px solid #d2a900;
}

.promo-stop {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #f1bbbb;
  border-radius: 15px;
  background: #fff2f2;
}

.promo-stop span {
  display: block;
  margin-bottom: 6px;
  color: var(--promo-red);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.promo-stop strong {
  color: #771717;
}

.promo-method-grid article {
  border-top: 4px solid #91b9df;
}

.promo-source-list {
  columns: 2;
  column-gap: 34px;
}

.promo-source-list li {
  margin-bottom: 8px;
  break-inside: avoid;
}

.promo-author-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.promo-author-grid article {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  align-items: start;
  gap: 14px;
  min-width: 0;
  padding: 18px !important;
  border: 1px solid var(--promo-line);
  border-top: 4px solid var(--promo-yellow);
  border-radius: 16px;
  background: #fff;
}

.promo-author-grid img {
  display: block;
  width: 76px;
  height: 76px;
  object-fit: cover;
  border-radius: 50%;
}

.promo-author-grid article > div {
  min-width: 0;
}

.promo-author-grid span {
  display: block;
  color: #806700;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.promo-author-grid h3 {
  margin: 4px 0 6px;
}

.promo-author-grid p {
  margin: 0;
  overflow-wrap: anywhere;
}

.promo-faq-section {
  background: linear-gradient(145deg, #f5faff, #fffdf2);
}

.promo-faq-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 18px;
}

.promo-faq-heading h2 {
  margin-bottom: 0;
}

.promo-faq-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.promo-faq-badges span {
  padding: 6px 9px;
  border: 1px solid #cddfed;
  border-radius: 999px;
  color: #174e80;
  background: #fff;
  font-size: 11px;
  font-weight: 850;
}

.promo-faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 10px 12px;
  margin-top: 20px;
}

.promo-faq-list details {
  min-width: 0;
  margin: 0 !important;
  border: 1px solid #d8e3ed !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.promo-faq-list summary {
  padding: 15px 44px 15px 16px !important;
  overflow-wrap: anywhere;
  font-weight: 850 !important;
}

.promo-faq-list details p {
  margin: 0;
  padding: 0 16px 16px;
}

.promo-final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
  align-items: center;
  gap: 24px;
  margin: 28px 0;
  padding: 27px;
  border-radius: 20px;
  color: #fff;
  background:
    radial-gradient(circle at 100% 0, rgba(255,217,0,.22), transparent 32%),
    linear-gradient(135deg, #152e52, #3b247b);
}

.promo-final-cta span {
  color: var(--promo-yellow);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.promo-final-cta h2 {
  margin: 5px 0 8px;
  color: #fff;
}

.promo-final-cta p {
  margin: 0;
  color: #dbe5f1;
}

.promo-final-cta > div:last-child {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.promo-final-cta .button {
  width: 100%;
  min-width: 0;
  height: auto;
  min-height: 50px;
  padding: 12px 15px;
  white-space: normal;
  line-height: 1.25;
  text-align: center;
}

@media (max-width: 1100px) {
  .promo-status-grid,
  .promo-rule-grid,
  .promo-spins-grid,
  .promo-security-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .promo-equation {
    grid-template-columns: 1fr;
  }

  .promo-equation > b {
    text-align: center;
  }
}

@media (max-width: 980px) {
  .promo-final-cta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .promo-hero-card figure img {
    height: auto;
    min-height: 0;
    object-position: center;
  }

  .promo-answer {
    grid-template-columns: 1fr;
  }

  .promo-answer-icon {
    width: 48px;
    height: 48px;
    font-size: 24px;
  }

  .promo-status-grid,
  .promo-route-grid,
  .promo-bonus-map,
  .promo-deadline-results,
  .promo-rule-grid,
  .promo-spins-grid,
  .promo-deposit-grid,
  .promo-value-grid,
  .promo-problem-grid,
  .promo-proof-grid,
  .promo-security-grid,
  .promo-method-grid,
  .promo-author-grid,
  .promo-faq-list {
    grid-template-columns: 1fr;
  }

  .promo-deadline-inputs {
    grid-template-columns: 1fr;
  }

  .promo-registration-bar {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .promo-registration-bar .button {
    width: 100%;
    max-width: none;
  }

  .promo-fact-check ul {
    grid-template-columns: 1fr;
  }

  .promo-source-list {
    columns: 1;
  }

  .promo-faq-heading {
    display: grid;
    align-items: start;
  }

  .promo-faq-badges {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .promo-quick-facts {
    grid-template-columns: 1fr;
  }

  .promo-quick-facts > div,
  .promo-quick-facts > div:nth-child(2n) {
    border-right: 0;
  }

  .promo-status-grid article,
  .promo-bonus-map article,
  .promo-rule-grid article,
  .promo-spins-grid article,
  .promo-value-grid article,
  .promo-problem-grid article,
  .promo-proof-grid article,
  .promo-security-grid article,
  .promo-method-grid article,
  .promo-route-grid article,
  .promo-deposit-grid article {
    padding: 16px;
  }

  .promo-deadline-tool,
  .promo-final-cta,
  .promo-fact-check {
    padding: 17px;
  }

  .promo-author-grid article {
    grid-template-columns: 58px minmax(0, 1fr) !important;
    padding: 15px !important;
  }

  .promo-author-grid img {
    width: 58px;
    height: 58px;
  }

  .promo-steps li {
    padding-left: 61px;
  }
}
