/*
  Lucky21 -> RBT blocks compatibility patch
  Goal: stop Lucky21 global .space-page-content rules (links, lists) from breaking custom RBT blocks.
  Scope: ONLY inside .space-page-content and ONLY for RBT blocks.
*/

/* HERO: keep inside content container, add breathing room (Let's Go look) */
.space-page-content .wp-block-rbt-hero{
  width: 100% !important;
  max-width: 100% !important;
  margin: 40px 0 !important;
  padding: 0 20px !important;
  left: 0 !important;
  right: auto !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
}

.space-page-content .rbt-hero__bg{
  padding: 50px !important;
  border-radius: 24px !important;
}

.space-page-content .rbt-hero__grid{
  gap: 40px !important;
}

@media (max-width: 768px){
  .space-page-content .wp-block-rbt-hero{
    padding: 0 10px !important;
    margin: 25px 0 !important;
  }
  .space-page-content .rbt-hero__bg{
    padding: 25px !important;
  }
  .space-page-content .rbt-hero__grid{
    gap: 20px !important;
  }
}

/* COLORS: hero text */
.space-page-content .rbt-hero__title,
.space-page-content .rbt-hero__desc{
  color: var(--rbt-hero-text, #fff) !important;
  -webkit-text-fill-color: var(--rbt-hero-text, #fff) !important;
  opacity: 1 !important;
}

/* CARD TEXT: force exact card text color (and all inner lines/divs) */
.space-page-content .rbt-hero .rbt-card__text,
.space-page-content .rbt-hero .rbt-card__text--main,
.space-page-content .rbt-hero .rbt-card__text > div,
.space-page-content .rbt-hero .rbt-card__text *{
  color: var(--rbt-card-text, #101726) !important;
  -webkit-text-fill-color: var(--rbt-card-text, #101726) !important;
  opacity: 1 !important;
}

/* BADGE: separate color variable (do NOT use card text color here) */
.space-page-content .rbt-hero .rbt-card__badge,
.space-page-content .rbt-hero .rbt-card__badge *{
  color: var(--rbt-badge-text, #f7f5f9) !important;
  -webkit-text-fill-color: var(--rbt-badge-text, #f7f5f9) !important;
  opacity: 1 !important;
}

/* BUTTON: rendered as <a><span class="rbt-card__btn-label">...</span></a>
   Force color on link AND inner span to beat theme link styles */
.space-page-content .rbt-hero .rbt-card__btn,
.space-page-content .rbt-hero .rbt-card__btn:link,
.space-page-content .rbt-hero .rbt-card__btn:visited,
.space-page-content .rbt-hero .rbt-card__btn:hover,
.space-page-content .rbt-hero .rbt-card__btn:active,
.space-page-content .rbt-hero .rbt-card__btn:focus,
.space-page-content .rbt-hero .rbt-card__btn .rbt-card__btn-label,
.space-page-content .rbt-hero .rbt-card__btn .rbt-card__btn-label:link,
.space-page-content .rbt-hero .rbt-card__btn .rbt-card__btn-label:visited,
.space-page-content .rbt-hero .rbt-card__btn span,
.space-page-content .rbt-hero .rbt-card__btn *{
  color: var(--rbt-btn-text, #111111) !important;
  -webkit-text-fill-color: var(--rbt-btn-text, #111111) !important;
  text-decoration: none !important;
  border: none !important;
  opacity: 1 !important;
}

/* NOTE text under button */
.space-page-content .rbt-hero .rbt-card__note,
.space-page-content .rbt-hero .rbt-card__note--meta,
.space-page-content .rbt-hero .rbt-card__note *{
  color: var(--rbt-note-text, #131a26) !important;
  -webkit-text-fill-color: var(--rbt-note-text, #131a26) !important;
  opacity: 1 !important;
}

/* Fallback if block is rendered outside .space-page-content (some templates/custom builders) */
.rbt-hero .rbt-card__text,
.rbt-hero .rbt-card__text--main,
.rbt-hero .rbt-card__text > div,
.rbt-hero .rbt-card__text *{
  color: var(--rbt-card-text, #101726) !important;
  -webkit-text-fill-color: var(--rbt-card-text, #101726) !important;
}

.rbt-hero .rbt-card__btn,
.rbt-hero .rbt-card__btn:link,
.rbt-hero .rbt-card__btn:visited,
.rbt-hero .rbt-card__btn:hover,
.rbt-hero .rbt-card__btn:active,
.rbt-hero .rbt-card__btn:focus,
.rbt-hero .rbt-card__btn .rbt-card__btn-label,
.rbt-hero .rbt-card__btn span,
.rbt-hero .rbt-card__btn *{
  color: var(--rbt-btn-text, #111111) !important;
  -webkit-text-fill-color: var(--rbt-btn-text, #111111) !important;
  text-decoration: none !important;
}

.rbt-hero .rbt-card__note,
.rbt-hero .rbt-card__note--meta,
.rbt-hero .rbt-card__note *{
  color: var(--rbt-note-text, #131a26) !important;
  -webkit-text-fill-color: var(--rbt-note-text, #131a26) !important;
  opacity: 1 !important;
}

/* TOC: remove numbering/markers + avoid theme list padding */
.space-page-content .rbt-toc ol,
.space-page-content .rbt-toc ul{
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.space-page-content .rbt-toc li{
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 !important;
}
.space-page-content .rbt-toc li::marker{ content: '' !important; }
.space-page-content .rbt-toc li::before{ content: none !important; display: none !important; }
.space-page-content .rbt-toc a,
.space-page-content .rbt-toc a:visited{
  text-decoration: none !important;
}

/* FAQ: keep card look + prevent theme from repainting links */
.space-page-content .rbt-faq .faq{
  background: var(--rbt-faq-bg, rgba(255,255,255,.06)) !important;
  border: 1px solid var(--rbt-faq-border, rgba(255,255,255,.10)) !important;
  border-radius: 18px !important;
}

.space-page-content .rbt-faq .faq__title{
  color: var(--rbt-faq-q, #fff) !important;
}

.space-page-content .rbt-faq .faq__toggle:hover .faq__title,
.space-page-content .rbt-faq .faq__toggle:focus .faq__title{
  color: var(--rbt-faq-q-hover, var(--rbt-faq-q, #fff)) !important;
}

.space-page-content .rbt-faq .faq__toggle[aria-expanded="true"] .faq__title{
  color: var(--rbt-faq-q-active, var(--rbt-faq-q, #fff)) !important;
}

.space-page-content .rbt-faq a,
.space-page-content .rbt-faq a:visited{
  text-decoration: none !important;
}

/* If theme breaks [hidden] or uses display rules, force proper collapsing */
.space-page-content .rbt-faq .faq__answer[hidden]{
  display: none !important;
}
