/* TOC title paragraph (class removed from HTML; styled via parent) */
.site-toc .site-toc-title-row p {
  color: #fac005;
  margin: 0;
}
.site-toc.ez-toc-counter .site-toc-title-row p {
  font-size: 100%;
  font-weight: 500;
}

/* Article images — replaces WordPress aligncenter / size-* classes on <img> */
.entry-content img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* Article hero/figure images as full-width external CTA (href set in HTML) */
.entry-content .content-cta-link {
  display: block;
  max-width: 100%;
}

/* Tables — replaces TablePress / row classes */
.entry-content .table-x-scroll table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  margin: 0 auto 1rem;
  clear: both;
  table-layout: auto;
}
.entry-content .table-x-scroll thead th {
  background: linear-gradient(180deg, #d8b45f, #9a7230);
  color: #1a100e;
  font-weight: 700;
  padding: 0.5rem;
  text-align: left;
  vertical-align: middle;
  border-top: 1px solid rgba(197, 160, 89, 0.35);
}
.entry-content .table-x-scroll tbody td {
  padding: 0.5rem;
  border-top: 1px solid rgba(197, 160, 89, 0.22);
  vertical-align: top;
  text-align: left;
}
.entry-content .table-x-scroll tbody tr:nth-child(odd) td {
  background-color: rgba(26, 18, 16, 0.75);
  color: #f5f0e8;
}
.entry-content .table-x-scroll tbody tr:nth-child(even) td {
  background-color: rgba(45, 32, 28, 0.85);
  color: #f5f0e8;
}

/* FAQ accordion (.faq-container replaces expert-review-faq block markup) */
.faq-container {
  margin: 2em 0;
}
.faq-container > h2 {
  padding: 1em 0;
  font-weight: 700;
  font-size: 1.1em;
}
@media (min-width: 768px) {
  .faq-container > h2 {
    font-size: 1.3em;
  }
}
@media (min-width: 992px) {
  .faq-container > h2 {
    font-size: 1.4em;
  }
}
.faq-item {
  position: relative;
  margin-bottom: 1.5em;
}
.faq-item:before,
.faq-item:after {
  content: "";
  position: absolute;
  background: #c5a059;
  transition: all 0.2s;
  pointer-events: none;
}
.faq-item:before {
  top: 16px;
  left: 9px;
  width: 2px;
  height: 10px;
}
.faq-item:after {
  top: 20px;
  left: 5px;
  width: 10px;
  height: 2px;
}
.faq-item.is-open:before {
  transform: rotate(-90deg);
}
.faq-question {
  padding: 10px 0 10px 35px;
  line-height: 1.5;
  cursor: pointer;
}
.faq-question h3 {
  margin: 0;
  font-size: 1.05em;
  font-weight: 700;
}
.faq-arrow {
  display: none;
}
.faq-answer {
  display: none;
  font-size: 0.95em;
  padding-left: 35px;
}
.faq-item.is-open .faq-answer {
  display: block;
}
.faq-answer p {
  margin-top: 0;
}

/* ========== Amun Ra — thematic UI refresh (mobile-first iGaming) ========== */
:root {
  --ar-bg-base: #14100e;
  --ar-bg-mid: #231915;
  --ar-gold: #c5a059;
  --ar-gold-line: rgba(197, 160, 89, 0.38);
  --ar-gold-text: #f0d78c;
  --ar-burgundy-a: #8b282c;
  --ar-burgundy-b: #4a0e0e;
  --ar-teal-a: #2ac4b5;
  --ar-teal-b: #116b62;
  --ar-content-max: 910px;
  --ar-title-max: 1175px;
  --ar-r-pill: 999px;
  --ar-r-card: 14px;
  --ar-font-head: "Cinzel", Georgia, "Times New Roman", serif;
  --ar-font-body: "Montserrat", system-ui, -apple-system, sans-serif;
  /* Sticky nav `top` ≈ real masthead height; oversized values = empty band above menu + layout glitches */
  --ar-masthead-sticky-h: clamp(4.5rem, 10vw, 5.75rem);
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .site-header-inner .btn,
  .scrolltop {
    transition: none !important;
  }
}

body.site-body {
  font-family: var(--ar-font-body);
  font-size: clamp(0.9375rem, 0.35vw + 0.86rem, 1.0625rem);
  line-height: 1.68;
  color: #ede6dc;
  background-color: var(--ar-bg-base) !important;
  background-image:
    radial-gradient(ellipse 130% 75% at 50% -28%, rgba(139, 40, 44, 0.24) 0%, transparent 52%),
    linear-gradient(180deg, #2b1b17 0%, var(--ar-bg-mid) 42%, var(--ar-bg-base) 100%) !important;
  text-rendering: optimizeLegibility;
}

/* `overflow-x: hidden` on an ancestor disables `position: sticky` for descendants (nav then misbehaves). */
.site {
  overflow-x: visible;
  overflow-y: visible;
  max-width: 100%;
}

@supports (overflow-x: clip) {
  .site {
    overflow-x: clip;
  }
}

.site-content {
  background: transparent !important;
  padding-bottom: 2rem;
  padding-top: 1.75rem !important;
  margin-top: 0 !important;
}

.site-header {
  background: transparent !important;
}

.site-header .site-header-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  row-gap: 0.4rem;
  padding: max(0.35rem, env(safe-area-inset-top)) max(0.65rem, env(safe-area-inset-right)) 0.45rem max(0.65rem, env(safe-area-inset-left));
  background: linear-gradient(180deg, rgba(36, 26, 22, 0.98), rgba(20, 14, 12, 0.99)) !important;
  border-bottom: 1px solid var(--ar-gold-line);
  box-shadow: 0 6px 28px rgba(0, 0, 0, 0.45);
}

.site-header,
.site-header a,
.site-header .pseudo-link {
  color: var(--ar-gold-text) !important;
}

.humburger span {
  background: var(--ar-gold) !important;
}

.site-logotype img {
  max-height: clamp(40px, 10vw, 48px);
  width: auto;
  height: auto;
}

.site-header-inner .header-html-1 .btn,
.site-header-inner .header-html-2 .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  flex-wrap: nowrap;
  max-width: 100%;
  padding: 0.5rem 0.85rem;
  border-radius: var(--ar-r-pill);
  font-weight: 700;
  font-size: clamp(0.58rem, 0.9vw + 0.52rem, 0.74rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.2;
  color: #fff !important;
  border: 2px solid var(--ar-gold);
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.14), transparent 42%),
    linear-gradient(180deg, var(--ar-burgundy-a), var(--ar-burgundy-b));
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  transition: transform 0.15s ease, filter 0.15s ease, box-shadow 0.15s ease;
}

.site-header-inner .header-html-2 .btn {
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.16), transparent 40%),
    linear-gradient(180deg, var(--ar-teal-a), var(--ar-teal-b));
}

.site-header-inner .btn:hover,
.site-header-inner .btn:focus,
.site-header-inner .btn:active {
  filter: brightness(1.08);
  transform: translateY(-1px);
  color: #fff !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.15);
}

@media (max-width: 360px) {
  .site-header-inner .header-html-1 .btn,
  .site-header-inner .header-html-2 .btn {
    font-size: 0.54rem;
    padding: 0.42rem 0.5rem;
    letter-spacing: 0.04em;
  }
}

.main-navigation,
.footer-navigation {
  background: linear-gradient(180deg, rgba(52, 38, 32, 0.98), rgba(32, 24, 21, 0.99)) !important;
  border-bottom: none;
}

.main-navigation .main-navigation-inner {
  border-bottom: 1px solid var(--ar-gold-line);
}

.footer-navigation {
  border-bottom: none;
  border-top: 1px solid var(--ar-gold-line);
}

.main-navigation ul.menu,
.footer-navigation ul.menu {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.2rem 0.35rem;
  padding: 0.35rem 0.5rem;
  margin: 0;
}

@media (min-width: 992px) {
  #site-navigation.main-navigation ul#header_menu.menu {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    min-height: 3.25rem;
  }

  #site-navigation.main-navigation ul#header_menu.menu > li {
    flex: 0 0 auto;
  }
}

.main-navigation ul.menu > li,
.footer-navigation ul.menu > li {
  display: flex;
  align-items: center;
}

.main-navigation ul li > a,
.main-navigation ul li > span,
.footer-navigation ul li > a,
.footer-navigation ul li > span {
  border-radius: var(--ar-r-pill);
  padding: 0.32rem 0.7rem !important;
  color: var(--ar-gold-text) !important;
}

@media (min-width: 992px) {
  .main-navigation ul li > a,
  .main-navigation ul li > span,
  .footer-navigation ul li > a,
  .footer-navigation ul li > span {
    padding: 0.65rem 0.9rem !important;
    line-height: 1.35 !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 2.75rem;
    box-sizing: border-box;
  }

  nav#site-navigation.main-navigation,
  nav#site-navigation .main-navigation-inner {
    overflow: visible !important;
  }
}

.main-navigation ul li > a:hover,
.main-navigation ul li > span:hover,
.footer-navigation ul li > a:hover {
  color: #7ee8df !important;
  background: rgba(0, 0, 0, 0.18);
}

/* Theme: ::before hover panel (scaleY) + z-index:-1 — remove on top-level items only (submenus keep arrows) */
#site-navigation.main-navigation ul#header_menu.menu > li > a::before,
#site-navigation.main-navigation ul#header_menu.menu > li > a::after,
#site-navigation.main-navigation ul#header_menu.menu > li > span::before,
#site-navigation.main-navigation ul#header_menu.menu > li > span::after,
.footer-navigation ul#footer_menu.menu > li > a::before,
.footer-navigation ul#footer_menu.menu > li > a::after,
.footer-navigation ul#footer_menu.menu > li > span::before,
.footer-navigation ul#footer_menu.menu > li > span::after {
  content: none !important;
  display: none !important;
  border: none !important;
  box-shadow: none !important;
  background: none !important;
  transform: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.site-footer {
  background: linear-gradient(180deg, #1e1512, #0f0b0a) !important;
  border-top: 1px solid var(--ar-gold-line);
}

.site-footer a {
  color: var(--ar-gold-text) !important;
}

.site-footer a:hover {
  color: #7ee8df !important;
}

.site-content-inner {
  padding-left: max(0px, env(safe-area-inset-left));
  padding-right: max(0px, env(safe-area-inset-right));
}

@media (min-width: 768px) {
  .site-content-inner {
    padding-top: 0.5rem;
    padding-bottom: 1rem;
  }
}

.article-post > h1.entry-title {
  font-family: var(--ar-font-head);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: 0.03em;
  color: var(--ar-gold-text);
  text-shadow: 0 2px 22px rgba(0, 0, 0, 0.55);
  margin: 0 auto;
  padding: 0.85rem max(0.75rem, env(safe-area-inset-left)) 0.65rem max(0.75rem, env(safe-area-inset-right));
  text-align: center;
  font-size: clamp(1.15rem, 2.4vw + 0.85rem, 2.05rem);
  max-width: min(var(--ar-title-max), 100%);
}

@media (min-width: 1024px) {
  .article-post {
    max-width: min(var(--ar-title-max), calc(100vw - 32px));
    margin-inline: auto;
    width: 100%;
  }

  .article-post > h1.entry-title {
    max-width: min(var(--ar-title-max), calc(100vw - 32px));
  }

  .article-post .entry-content {
    max-width: min(var(--ar-content-max), calc(100vw - 48px));
    margin-inline: auto;
  }
}

.entry-content {
  padding-left: max(0.75rem, env(safe-area-inset-left));
  padding-right: max(0.75rem, env(safe-area-inset-right));
  padding-bottom: 2rem;
  color: rgba(245, 240, 232, 0.88);
}

.entry-content h2,
.entry-content h3 {
  font-family: var(--ar-font-head);
  color: var(--ar-gold-text);
  letter-spacing: 0.02em;
  line-height: 1.25;
}

.entry-content h2 {
  font-size: clamp(1.05rem, 1.1vw + 0.92rem, 1.45rem);
  margin-top: 1.65em;
}

.entry-content h3 {
  font-size: clamp(0.98rem, 0.6vw + 0.88rem, 1.2rem);
}

.entry-content a:not(.wp-block-button__link),
.entry-content a:not(.wp-block-button__link):visited,
.entry-content .spanlink,
.entry-content .pseudo-link {
  color: var(--ar-gold-text) !important;
}

.entry-content a:not(.wp-block-button__link):hover,
.entry-content a:not(.wp-block-button__link):focus,
.entry-content a:not(.wp-block-button__link):active {
  color: #5ee6dc !important;
}

.entry-content .content-cta-link {
  border-radius: var(--ar-r-card);
  overflow: hidden;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.45);
  margin: 0.5rem 0 1rem;
}

.entry-content .content-cta-link:focus {
  outline: 2px solid var(--ar-gold);
  outline-offset: 3px;
}

.entry-content .table-x-scroll {
  margin: 1rem 0;
  border-radius: var(--ar-r-card);
  border: 1px solid var(--ar-gold-line);
  background: rgba(0, 0, 0, 0.22);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

@media (max-width: 639px) {
  .entry-content .table-x-scroll > table th,
  .entry-content .table-x-scroll > table td {
    white-space: normal !important;
    word-break: break-word;
  }
}

.site-toc {
  border-radius: var(--ar-r-card) !important;
  border: 1px solid var(--ar-gold-line) !important;
  background: rgba(26, 18, 16, 0.88) !important;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

.site-toc .site-toc-title-row p,
.site-toc ul.ez-toc-list a {
  color: var(--ar-gold-text) !important;
}

.site-toc ul.ez-toc-list a:hover {
  color: #7ee8df !important;
}

.site-toc-toggle {
  border-radius: 10px !important;
  border-color: var(--ar-gold) !important;
  color: var(--ar-gold-text) !important;
}

.faq-container > h2 {
  font-family: var(--ar-font-head);
  color: var(--ar-gold-text);
}

.faq-question {
  border-radius: var(--ar-r-card);
  padding-left: 2.5rem;
  background: rgba(0, 0, 0, 0.15);
  border: 1px solid transparent;
}

.faq-item.is-open .faq-question {
  border-color: var(--ar-gold-line);
}

.scrolltop {
  border: 2px solid var(--ar-gold) !important;
  border-radius: 50% !important;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.12), transparent 45%),
    linear-gradient(180deg, var(--ar-burgundy-a), var(--ar-burgundy-b)) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
}

.scrolltop:before {
  color: var(--ar-gold-text) !important;
}

@media (max-width: 767px) {
  .search-icon {
    opacity: 0.92;
  }
}

/* --- Step 2: theme caps .fixed at 720/960/1190px — widen for real desktops --- */
@media (min-width: 768px) {
  .container,
  .fixed.block-after-site,
  .fixed.main-navigation-inner,
  .fixed.related-posts,
  .fixed.section-block,
  .fixed.section-html,
  .fixed.site-content,
  .fixed.site-footer-inner,
  .fixed.site-header-inner,
  .footer-navigation.fixed,
  .main-navigation.fixed,
  .site-footer.fixed,
  .site-header.fixed {
    max-width: min(1140px, calc(100vw - 32px)) !important;
  }
}

@media (min-width: 992px) {
  .container,
  .fixed.block-after-site,
  .fixed.main-navigation-inner,
  .fixed.related-posts,
  .fixed.section-block,
  .fixed.section-html,
  .fixed.site-content,
  .fixed.site-footer-inner,
  .fixed.site-header-inner,
  .footer-navigation.fixed,
  .main-navigation.fixed,
  .site-footer.fixed,
  .site-header.fixed {
    max-width: min(1200px, calc(100vw - 40px)) !important;
  }

  /* Theme assumes a 300px sidebar; without .sidebar-none the article stays ~706px wide */
  .site-content-inner .content-area {
    max-width: none !important;
    -webkit-box-flex: 1 !important;
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}

@media (min-width: 1200px) {
  .container,
  .fixed.block-after-site,
  .fixed.main-navigation-inner,
  .fixed.related-posts,
  .fixed.section-block,
  .fixed.section-html,
  .fixed.site-content,
  .fixed.site-footer-inner,
  .fixed.site-header-inner,
  .footer-navigation.fixed,
  .main-navigation.fixed,
  .site-footer.fixed,
  .site-header.fixed {
    max-width: min(1240px, calc(100vw - 48px)) !important;
  }
}

/* --- Step 3: phones / small tablets — grid header; APP row full width up to 625px --- */
@media (max-width: 625px) {
  .site-header .site-header-inner {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto auto;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 0.35rem;
    row-gap: 0.4rem;
  }

  .site-header .site-header-inner > .humburger {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }

  .site-header .site-header-inner > .site-branding {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    min-width: 0;
    max-width: 100%;
  }

  .site-header .site-header-inner > .header-html-1 {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    min-width: 0;
  }

  .site-header .site-header-inner > .header-search {
    grid-column: 4;
    grid-row: 1;
    justify-self: end;
    flex-shrink: 0;
    z-index: 2;
    margin-left: 0;
  }

  .site-header .site-header-inner > .header-html-2 {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100%;
    min-width: 0;
  }

  .site-header .site-header-inner .header-html-1 .btn {
    max-width: min(9.5rem, 38vw);
    padding-left: 0.4rem;
    padding-right: 0.4rem;
    letter-spacing: 0.03em;
  }
}

/* APP / Herunterladen: full-width on dedicated row (369–625px per spec) */
@media (min-width: 369px) and (max-width: 625px) {
  .site-header .site-header-inner > .header-html-2 .btn-box {
    width: 100%;
    max-width: none;
  }

  .site-header .site-header-inner > .header-html-2 .btn {
    width: 100%;
    max-width: none !important;
    justify-content: center;
    font-size: clamp(0.55rem, 1.8vw + 0.45rem, 0.72rem);
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
  }
}

/* --- Step 4: sticky chrome (masthead + main nav) --- */
header#masthead.site-header {
  position: sticky !important;
  top: 0;
  z-index: 1200;
  margin-bottom: 0 !important;
  box-shadow: none !important;
  /* Theme adds 20px+20px on .site-header; inner bar already has padding — avoids double band + wrong sticky height */
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Theme: .main-navigation{margin-top:-30px}, .site-header+.main-navigation{margin-top:-30px} — must reset at all widths */
header#masthead.site-header + nav#site-navigation.main-navigation,
.site-header + nav#site-navigation.main-navigation,
nav#site-navigation.main-navigation.fixed {
  margin-top: 0 !important;
}

/* Theme: .mobile-menu-placeholder+.site-content{margin-top:-30px} pulls article under the nav */
.mobile-menu-placeholder + .site-content.fixed,
.mobile-menu-placeholder + #content.site-content {
  margin-top: 0 !important;
}

@media (min-width: 768px) {
  :root {
    --ar-masthead-sticky-h: clamp(5rem, 11vw, 6.25rem);
  }
}

@media (min-width: 992px) {
  :root {
    --ar-masthead-sticky-h: clamp(5.25rem, 10vh, 6.75rem);
  }

  #site-navigation.main-navigation .main-navigation-inner {
    padding-top: 0.35rem;
  }
}

/* Theme JS can clone nav to body as .site-navigation-fixed (position:fixed;top:0) — duplicates chrome and covers H1 */
.site-navigation-fixed {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

nav#site-navigation.main-navigation.fixed {
  position: sticky !important;
  top: var(--ar-masthead-sticky-h);
  z-index: 1190;
}

