/**
 * IBEU — full visual skin (white-label)
 * Sourced from public_html/ibeu (MasterStudy child + stm_lms + Elementor computed styles)
 *
 * Font: RobotoFlex custom TTF (same family name as Elementor custom_fonts)
 * Buttons: radius 10px, padding ~18x25, primary #E63323, hard offset shadow #FFBCBC
 * Body: #f8f8f8 / #555 — docs/branding-theme-guide.md
 */

/* Exact family name used on ibeu.edtech.cool Elementor kit */
@font-face {
  font-family: 'RobotoFlex-VariableFont_GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght';
  src: url('../../fonts/brands/ibeu/RobotoFlex-Variable.ttf') format('truetype');
  font-weight: 100 1000;
  font-style: normal;
  font-display: swap;
}

/* -------------------------------------------------------------------------- */
/* 1) Design tokens — remap StoryMode vars + IBEU extras                      */
/* -------------------------------------------------------------------------- */

:root,
body.brand-theme-ibeu {
  --ibeu-font: 'RobotoFlex-VariableFont_GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght', sans-serif;
  --azul-SM: #114076;
  --azul-SM-link: #195ec8;
  --azul-SM-link-hover: #e63323;
  --rosa-SM: #e63323;
  --branco-100: #ffffff;
  --cinza-50: #73859f;
  --preto-lav: #f8f8f8;
  --preto-90: #f8f8f8;
  --preto-pure: #161616;
  --font-base: #555555;
  --muted: #777777;
  --font-heading: var(--ibeu-font);
  --font-heading-weight: 800;
  --font-body: var(--ibeu-font);
  --radius: 10px;
  --border-width: 1px;
  --scanlines-url: none;

  --ibeu-red: #e63323;
  --ibeu-red-dark: #c41e1e;
  --ibeu-pink-shadow: #ffbcbc;
  --ibeu-navy: #013772;
  --ibeu-navy-deep: #273044;
  --ibeu-ink: #161616;
  --ibeu-surface: #ffffff;
  --ibeu-surface-2: #f8f8f8;
  --ibeu-border: #e5e5e5;
  --ibeu-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  --azul-alpha-10: rgba(1, 55, 114, 0.1);
  --azul-alpha-20: rgba(1, 55, 114, 0.16);
  --azul-alpha-30: rgba(1, 55, 114, 0.12);
  --azul-alpha-40: rgba(1, 55, 114, 0.22);
  --azul-alpha-50: rgba(1, 55, 114, 0.35);
  --rosa-alpha-10: rgba(230, 51, 35, 0.1);
  --rosa-alpha-20: rgba(230, 51, 35, 0.18);
  --rosa-alpha-30: rgba(230, 51, 35, 0.28);
  --shadow-rpg-sm: 0 2px 8px rgba(39, 48, 68, 0.12);
  --shadow-rpg-md: 0 4px 12px rgba(39, 48, 68, 0.14);
  --shadow-rpg-lg: 0 6px 16px rgba(39, 48, 68, 0.18);
}

/* -------------------------------------------------------------------------- */
/* 2) Global base — light corporate UI                                        */
/* -------------------------------------------------------------------------- */

html body.brand-theme-ibeu,
body.brand-theme-ibeu {
  font-family: var(--ibeu-font) !important;
  font-size: 16px;
  line-height: 22px;
  font-weight: 400;
  color: var(--font-base) !important;
  background: #f8f8f8 !important;
  background-image: none !important;
  -webkit-font-smoothing: antialiased;
}

body.brand-theme-ibeu *,
body.brand-theme-ibeu *::before,
body.brand-theme-ibeu *::after {
  font-family: inherit;
}

/* Font Awesome: the inherit rule above breaks icon glyphs (::before) */
body.brand-theme-ibeu .fa,
body.brand-theme-ibeu .fas,
body.brand-theme-ibeu .far,
body.brand-theme-ibeu .fal,
body.brand-theme-ibeu .fad,
body.brand-theme-ibeu .fa-solid,
body.brand-theme-ibeu .fa-regular,
body.brand-theme-ibeu .fa::before,
body.brand-theme-ibeu .fas::before,
body.brand-theme-ibeu .far::before,
body.brand-theme-ibeu .fal::before,
body.brand-theme-ibeu .fad::before,
body.brand-theme-ibeu .fa-solid::before,
body.brand-theme-ibeu .fa-regular::before {
  font-family: "Font Awesome 6 Free" !important;
  font-style: normal !important;
  font-variant: normal !important;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

body.brand-theme-ibeu .fas,
body.brand-theme-ibeu .fa-solid,
body.brand-theme-ibeu .fas::before,
body.brand-theme-ibeu .fa-solid::before {
  font-weight: 900 !important;
}

body.brand-theme-ibeu .far,
body.brand-theme-ibeu .fa-regular,
body.brand-theme-ibeu .far::before,
body.brand-theme-ibeu .fa-regular::before {
  font-weight: 400 !important;
}

body.brand-theme-ibeu .fab,
body.brand-theme-ibeu .fa-brands,
body.brand-theme-ibeu .fab::before,
body.brand-theme-ibeu .fa-brands::before {
  font-family: "Font Awesome 6 Brands" !important;
  font-weight: 400 !important;
  font-style: normal !important;
}

body.brand-theme-ibeu h1,
body.brand-theme-ibeu h2,
body.brand-theme-ibeu h3,
body.brand-theme-ibeu h4,
body.brand-theme-ibeu h5,
body.brand-theme-ibeu h6,
body.brand-theme-ibeu .section-title,
body.brand-theme-ibeu .aluno-nome,
body.brand-theme-ibeu .cta-banner h2,
body.brand-theme-ibeu .site-header .navbar-nav .nav-link,
body.brand-theme-ibeu [style*="Ethnocentric"],
body.brand-theme-ibeu .font-heading,
body.brand-theme-ibeu .title-ethno,
body.brand-theme-ibeu .btn,
body.brand-theme-ibeu .btn-accent,
body.brand-theme-ibeu .btn-sec,
body.brand-theme-ibeu .btn-primary {
  font-family: var(--ibeu-font) !important;
}

body.brand-theme-ibeu h1,
body.brand-theme-ibeu h2,
body.brand-theme-ibeu h3,
body.brand-theme-ibeu .section-title,
body.brand-theme-ibeu .hero h1,
body.brand-theme-ibeu .hero h2,
body.brand-theme-ibeu .cta-banner h2 {
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  line-height: 1.05 !important;
  color: var(--ibeu-ink);
}

body.brand-theme-ibeu a {
  color: var(--azul-SM-link);
}

body.brand-theme-ibeu a:hover {
  color: var(--ibeu-red);
}

body.brand-theme-ibeu .section-title,
body.brand-theme-ibeu .categories-section,
body.brand-theme-ibeu .py-4,
body.brand-theme-ibeu .py-5 {
  color: var(--font-base);
}

body.brand-theme-ibeu .text-secondary {
  color: var(--muted) !important;
}

body.brand-theme-ibeu .carousel-control-prev-icon,
body.brand-theme-ibeu .carousel-control-next-icon {
  filter: invert(0.35);
}

body.brand-theme-ibeu .site-main {
  background: var(--ibeu-surface-2);
  color: var(--font-base);
}

body.brand-theme-ibeu .press-start-watermark {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* 3) Header / nav                                                            */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .site-header {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: #fff;
  box-shadow: 0 1px 0 var(--ibeu-border), var(--ibeu-shadow);
}

body.brand-theme-ibeu .site-header .navbar {
  background: #fff !important;
  border-bottom: 1px solid var(--ibeu-border) !important;
}

body.brand-theme-ibeu .site-header .navbar-nav .nav-link {
  color: #161616 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-transform: uppercase;
  font-size: 0.9rem;
  font-weight: 600 !important;
  letter-spacing: -0.05em !important;
  padding: 0.75rem 0.85rem !important;
}

body.brand-theme-ibeu .site-header .navbar-nav .nav-link:hover,
body.brand-theme-ibeu .site-header .navbar-nav .nav-link.active {
  color: var(--ibeu-red) !important;
  background: transparent !important;
  box-shadow: inset 0 -3px 0 var(--ibeu-red);
}

body.brand-theme-ibeu .navbar-dark .navbar-toggler,
body.brand-theme-ibeu .navbar-toggler {
  border-color: var(--ibeu-border);
}

body.brand-theme-ibeu .navbar-toggler-icon {
  filter: invert(1) brightness(0.2);
}

body.brand-theme-ibeu .navbar-brand img {
  height: 58px;
  width: auto;
  max-width: 72px;
  object-fit: contain;
}

body.brand-theme-ibeu .header-cart-link {
  background: var(--ibeu-surface-2) !important;
  border-radius: 14px !important;
}

body.brand-theme-ibeu .header-cart-link svg {
  fill: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .header-cart-link:hover {
  background: linear-gradient(135deg, var(--ibeu-red), var(--ibeu-red-dark)) !important;
  box-shadow: 0 8px 18px rgba(230, 51, 35, 0.28) !important;
  transform: scale(1.05);
}

body.brand-theme-ibeu .header-cart-link:hover svg {
  fill: #fff !important;
}

body.brand-theme-ibeu .dropdown-menu {
  background: #fff;
  border: 1px solid var(--ibeu-border);
  box-shadow: var(--ibeu-shadow);
  border-radius: 12px;
}

body.brand-theme-ibeu .dropdown-item,
body.brand-theme-ibeu .dropdown-header {
  color: var(--ibeu-navy-deep);
}

body.brand-theme-ibeu .dropdown-item:hover {
  background: rgba(230, 51, 35, 0.08);
  color: var(--ibeu-red);
}

/* -------------------------------------------------------------------------- */
/* 4) Buttons — match stm_lms / Elementor IBEU (radius 10, offset shadow)     */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .btn,
body.brand-theme-ibeu .btn-accent,
body.brand-theme-ibeu .btn-sec,
body.brand-theme-ibeu .btn-primary,
body.brand-theme-ibeu .btn-lg,
body.brand-theme-ibeu .eBtn.btn.gradient {
  border-radius: 10px !important;
  font-family: var(--ibeu-font) !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em;
  padding: 18px 25px !important;
  text-transform: none !important;
  box-shadow: none !important;
  border-width: 0 !important;
  min-height: auto;
}

body.brand-theme-ibeu .btn-sm {
  padding: 10px 18px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
}

body.brand-theme-ibeu .btn-accent,
body.brand-theme-ibeu .btn-primary,
body.brand-theme-ibeu .eBtn.btn.gradient {
  background: var(--ibeu-red) !important;
  border-color: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .btn-accent.btn-lg,
body.brand-theme-ibeu .btn-primary.btn-lg,
body.brand-theme-ibeu .hero .btn-accent {
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.04em !important;
  box-shadow: 10px 10px 0 0 var(--ibeu-pink-shadow) !important;
}

body.brand-theme-ibeu .btn-accent:hover,
body.brand-theme-ibeu .btn-primary:hover,
body.brand-theme-ibeu .hero .btn-accent:hover {
  background: #fff !important;
  color: var(--ibeu-red) !important;
  box-shadow: 10px 10px 0 0 var(--ibeu-red) !important;
}

body.brand-theme-ibeu .btn-sec {
  background: var(--ibeu-navy) !important;
  border-color: var(--ibeu-navy) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.brand-theme-ibeu .btn-sec:hover {
  background: var(--ibeu-ink) !important;
  border-color: var(--ibeu-ink) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .btn-sec.btn-lg,
body.brand-theme-ibeu .hero .btn-sec {
  background: #fff !important;
  color: var(--ibeu-red) !important;
  border: 0 !important;
  box-shadow: 10px 10px 0 0 rgba(1, 55, 114, 0.18) !important;
}

body.brand-theme-ibeu .btn-outline-light {
  color: var(--ibeu-ink) !important;
  border: 1px solid var(--ibeu-border) !important;
  background: #fff !important;
  box-shadow: none !important;
  border-radius: 10px !important;
}

body.brand-theme-ibeu .btn-outline-light:hover {
  background: var(--ibeu-red) !important;
  border-color: var(--ibeu-red) !important;
  color: #fff !important;
}

/* -------------------------------------------------------------------------- */
/* 5) Hero / banners — kill purple gradients                                  */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .hero .hero-slide::before {
  background: linear-gradient(
    95deg,
    rgba(255, 255, 255, 0.97) 0%,
    rgba(255, 255, 255, 0.88) 38%,
    rgba(255, 255, 255, 0.35) 68%,
    rgba(230, 51, 35, 0.22) 100%
  ) !important;
}

body.brand-theme-ibeu .hero {
  background: #fff;
  border-bottom: 1px solid var(--ibeu-border);
}

body.brand-theme-ibeu .hero .hero-slide::after {
  background: linear-gradient(
    100deg,
    rgba(17, 64, 118, 0.12) 0%,
    rgba(230, 51, 35, 0.22) 100%
  ) !important;
  opacity: 0.55 !important;
  animation: none !important;
}

body.brand-theme-ibeu .hero .hero-copy,
body.brand-theme-ibeu .hero .hero-copy .lead,
body.brand-theme-ibeu .hero .eyebrow {
  color: var(--ibeu-navy-deep) !important;
  text-shadow: none !important;
}

body.brand-theme-ibeu .hero .eyebrow {
  color: var(--ibeu-red) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

body.brand-theme-ibeu .hero h1,
body.brand-theme-ibeu .hero h2 {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .with-corner-detail::before,
body.brand-theme-ibeu .with-corner-detail::after {
  border-color: var(--ibeu-red) !important;
  background: transparent !important;
}

body.brand-theme-ibeu .page-header {
  border-bottom-color: var(--ibeu-red) !important;
  background: var(--ibeu-surface);
}

body.brand-theme-ibeu .page-header::after,
body.brand-theme-ibeu .page-header-no-video::after,
body.brand-theme-ibeu .page-header-pink::after {
  background: linear-gradient(
    to right,
    rgba(230, 51, 35, 0.92),
    rgba(17, 64, 118, 0.15)
  ) !important;
}

body.brand-theme-ibeu .page-header-dark::after {
  background: linear-gradient(
    to right,
    rgba(39, 48, 68, 0.95),
    rgba(39, 48, 68, 0.25)
  ) !important;
}

body.brand-theme-ibeu .cta-inscricao::after {
  background: linear-gradient(
    to right,
    rgba(230, 51, 35, 0.95),
    rgba(230, 51, 35, 0.08)
  ) !important;
}

body.brand-theme-ibeu .cta-banner {
  box-shadow: -5px -2px 0 0 var(--ibeu-red);
  background: var(--ibeu-red);
  color: #fff;
}

body.brand-theme-ibeu .cta-banner::after {
  background: linear-gradient(90deg, rgba(196, 30, 30, 0.85), rgba(17, 64, 118, 0.25));
}

body.brand-theme-ibeu .cta-banner h2,
body.brand-theme-ibeu .cta-banner p,
body.brand-theme-ibeu .cta-banner .lead {
  color: #fff !important;
}

body.brand-theme-ibeu .cta-banner .btn-accent {
  background: #fff !important;
  color: var(--ibeu-red) !important;
  border-color: #fff !important;
  box-shadow: 10px 10px 0 0 rgba(0, 0, 0, 0.15) !important;
}

body.brand-theme-ibeu .cta-banner .btn-sec {
  background: transparent !important;
  border: 2px solid #fff !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* Red band sections (IBEU rhythm) */
body.brand-theme-ibeu .section.bg-dark-lav,
body.brand-theme-ibeu .bg-dark-lav {
  background: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .bg-dark-lav h1,
body.brand-theme-ibeu .bg-dark-lav h2,
body.brand-theme-ibeu .bg-dark-lav h3,
body.brand-theme-ibeu .bg-dark-lav p,
body.brand-theme-ibeu .bg-dark-lav .section-title {
  color: #fff !important;
}

/* -------------------------------------------------------------------------- */
/* 6) Cards / lists / course chrome                                           */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .card,
body.brand-theme-ibeu .card-course,
body.brand-theme-ibeu .card-post,
body.brand-theme-ibeu .card-post-popular,
body.brand-theme-ibeu .card-post-featured,
body.brand-theme-ibeu .card-post-list,
body.brand-theme-ibeu .card-cat {
  /* background-color only — keep background-image (featured course covers) */
  background-color: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  border-radius: 10px !important;
  box-shadow: var(--ibeu-shadow);
  color: var(--font-base) !important;
}

/* Titles sit on navy/red bars — keep white for contrast (incl. hover red) */
body.brand-theme-ibeu .card-cat .card-title,
body.brand-theme-ibeu .card-course .card-title,
body.brand-theme-ibeu .card-post-featured .card-title,
body.brand-theme-ibeu .card-post-list .card-title,
body.brand-theme-ibeu .course-item-featured .card-title,
body.brand-theme-ibeu .course-item-featured .card-body small,
body.brand-theme-ibeu .course-item-featured .card-text,
body.brand-theme-ibeu .course-item-featured .card-body .d-flex,
body.brand-theme-ibeu .course-item-featured:hover .card-title,
body.brand-theme-ibeu .course-item-featured:hover .card-body small,
body.brand-theme-ibeu .course-item-featured:hover .card-text,
body.brand-theme-ibeu .course-item-featured:hover .card-body .d-flex,
body.brand-theme-ibeu .course-item:hover .card-title {
  color: #fff !important;
}

body.brand-theme-ibeu .card-text,
body.brand-theme-ibeu .text-secondary,
body.brand-theme-ibeu .card-course:not(.course-item-featured) .text-secondary {
  color: var(--muted) !important;
}

body.brand-theme-ibeu .course-item-featured .card-text {
  color: #fff !important;
}

body.brand-theme-ibeu .hover-glow:hover {
  box-shadow: 0 12px 28px rgba(230, 51, 35, 0.18) !important;
}

body.brand-theme-ibeu .progress,
body.brand-theme-ibeu .progress-track {
  background: #e9edf3 !important;
}

body.brand-theme-ibeu .progress-fill,
body.brand-theme-ibeu .xp-block .progress-fill,
body.brand-theme-ibeu .progress-bar {
  background: linear-gradient(90deg, var(--ibeu-navy), var(--ibeu-red)) !important;
}

body.brand-theme-ibeu .badge,
body.brand-theme-ibeu .profile-level-badge,
body.brand-theme-ibeu .avatar-level-ring {
  border-color: var(--ibeu-red) !important;
  background: linear-gradient(135deg, var(--ibeu-navy), var(--ibeu-red)) !important;
  color: #fff !important;
}

/* -------------------------------------------------------------------------- */
/* 7) Footer                                                                  */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .site-footer {
  background: var(--ibeu-navy-deep) !important;
  color: #fff !important;
  border-top: 4px solid var(--ibeu-red);
}

body.brand-theme-ibeu .site-footer a,
body.brand-theme-ibeu .site-footer__title,
body.brand-theme-ibeu .site-footer h5,
body.brand-theme-ibeu .site-footer h6 {
  color: #fff !important;
}

body.brand-theme-ibeu .site-footer a:hover {
  color: #ffd2cd !important;
}

body.brand-theme-ibeu .site-footer__copyright {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* -------------------------------------------------------------------------- */
/* 8) Forms / auth                                                            */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .form-control,
body.brand-theme-ibeu .form-select,
body.brand-theme-ibeu input[type='text'],
body.brand-theme-ibeu input[type='email'],
body.brand-theme-ibeu input[type='password'],
body.brand-theme-ibeu textarea {
  background: #fff !important;
  color: var(--ibeu-navy-deep) !important;
  border: 1px solid var(--ibeu-border) !important;
  border-radius: 12px !important;
}

body.brand-theme-ibeu .form-control:focus,
body.brand-theme-ibeu .form-select:focus {
  border-color: var(--ibeu-red) !important;
  box-shadow: 0 0 0 0.2rem rgba(230, 51, 35, 0.2) !important;
}

body.brand-theme-ibeu .was-validated .form-control:valid:focus,
body.brand-theme-ibeu .form-control.is-valid:focus {
  box-shadow: 0 0 0 0.25rem rgba(230, 51, 35, 0.35) !important;
}

/* -------------------------------------------------------------------------- */
/* 9) Profile / gamification panels — full white IBEU surface                 */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu#page-perfil-aluno,
body.brand-theme-ibeu#page-perfil-aluno .site-main {
  background: #fff !important;
  background-image: none !important;
  color: var(--font-base) !important;
}

body.brand-theme-ibeu#page-perfil-aluno .breadcrumb-item,
body.brand-theme-ibeu#page-perfil-aluno .breadcrumb-item a,
body.brand-theme-ibeu#page-perfil-aluno .breadcrumb-item.active {
  color: #fff !important;
}

body.brand-theme-ibeu#page-perfil-aluno .breadcrumb-item a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

body.brand-theme-ibeu#page-perfil-aluno .section-title {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu#page-perfil-aluno .text-secondary {
  color: #777777 !important;
}

body.brand-theme-ibeu .aluno-header.rpg-card,
body.brand-theme-ibeu .aluno-header,
body.brand-theme-ibeu#page-perfil-aluno .aluno-header {
  background-color: #fff !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--ibeu-navy-deep) !important;
  padding: 0 !important;
}

/* Profile purple leftovers from perfil-aluno.css (:root alphas are still #761bff) */
body.brand-theme-ibeu#page-perfil-aluno,
body.brand-theme-ibeu {
  --azul-alpha-10: rgba(1, 55, 114, 0.1);
  --azul-alpha-20: rgba(1, 55, 114, 0.16);
  --azul-alpha-30: rgba(1, 55, 114, 0.12);
  --azul-alpha-40: rgba(1, 55, 114, 0.22);
  --azul-alpha-50: rgba(1, 55, 114, 0.35);
  --rosa-alpha-10: rgba(230, 51, 35, 0.1);
  --rosa-alpha-20: rgba(230, 51, 35, 0.18);
  --rosa-alpha-30: rgba(230, 51, 35, 0.28);
  --shadow-rpg-sm: 0 2px 8px rgba(39, 48, 68, 0.12);
  --shadow-rpg-md: 0 4px 12px rgba(39, 48, 68, 0.14);
  --shadow-rpg-lg: 0 6px 16px rgba(39, 48, 68, 0.18);
}

body.brand-theme-ibeu .skills-tree-section.rpg-card,
body.brand-theme-ibeu .forum-posts-section.rpg-card,
body.brand-theme-ibeu#page-perfil-aluno .skills-tree-section,
body.brand-theme-ibeu#page-perfil-aluno .forum-posts-section {
  background: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  box-shadow: var(--ibeu-shadow);
  color: var(--font-base) !important;
}

body.brand-theme-ibeu .skills-tree-container,
body.brand-theme-ibeu#page-perfil-aluno .skills-tree-container {
  background-color: var(--ibeu-surface-2) !important;
  border: 1px solid var(--ibeu-border);
  color: var(--ibeu-ink) !important;
}

body.brand-theme-ibeu .skills-tree-container .section-badge,
body.brand-theme-ibeu .skills-tree-container .section-link,
body.brand-theme-ibeu .skills-tree-container .activity-text {
  color: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .skills-tree-container .section-link:hover {
  color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .skills-tree-container::-webkit-scrollbar-track {
  background: #e9edf3 !important;
}

body.brand-theme-ibeu .skills-tree-container::-webkit-scrollbar-thumb {
  background: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .skills-tree-container::-webkit-scrollbar-thumb:hover {
  background: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .journey-image {
  border-color: var(--ibeu-navy) !important;
  box-shadow: var(--shadow-rpg-md) !important;
}

body.brand-theme-ibeu .journey-image.incomplete {
  border-color: var(--ibeu-border) !important;
  opacity: 1;
}

body.brand-theme-ibeu .journey-course .course-image,
body.brand-theme-ibeu .journey-course {
  border-color: var(--ibeu-border);
}

/* % badge on hover inside skills tree — IBEU red, not purple */
body.brand-theme-ibeu .journey-course::after {
  background: rgba(230, 51, 35, 0.95) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .courses-column::before,
body.brand-theme-ibeu .course-image::before {
  background: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .course-image {
  border-color: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .aluno-header .aluno-nome {
  color: var(--ibeu-red) !important;
  text-shadow: none !important;
}

body.brand-theme-ibeu .aluno-header .aluno-avatar {
  border-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .btn-edit-profile {
  background: var(--ibeu-navy-deep) !important;
  border-color: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .aluno-header .btn-edit-profile:hover,
body.brand-theme-ibeu .aluno-header .btn-edit-profile:focus {
  background: var(--ibeu-red) !important;
  color: #fff !important;
}

/* Red bio band keeps white text */
body.brand-theme-ibeu .aluno-header .aluno-bio {
  background: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .aluno-header .aluno-bio .text-white,
body.brand-theme-ibeu .aluno-header .aluno-bio p {
  color: #fff !important;
}

/* Share + social icons: white, stay white on hover */
body.brand-theme-ibeu .aluno-header .aluno-bio-actions i,
body.brand-theme-ibeu .aluno-header .aluno-bio-actions .fa-share-alt,
body.brand-theme-ibeu .aluno-header .fa-share-alt {
  color: #fff !important;
}

body.brand-theme-ibeu .aluno-header .aluno-bio-actions i:hover,
body.brand-theme-ibeu .aluno-header .aluno-bio-actions button:hover i,
body.brand-theme-ibeu .aluno-header .fa-share-alt:hover {
  color: #fff !important;
}

body.brand-theme-ibeu .aluno-header .social-link {
  width: 34px !important;
  height: 34px !important;
  color: #fff !important;
  background: var(--ibeu-navy) !important;
  border-radius: 50%;
  font-size: 0.95rem !important;
}

body.brand-theme-ibeu .aluno-header .social-link i {
  color: #fff !important;
  background: transparent !important;
}

body.brand-theme-ibeu .aluno-header .social-link:hover,
body.brand-theme-ibeu .aluno-header .social-link:focus {
  color: #fff !important;
  background: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .aluno-header .social-link:hover i,
body.brand-theme-ibeu .aluno-header .social-link:focus i {
  color: #fff !important;
}

body.brand-theme-ibeu .aluno-header .stat-block-value {
  color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .ranking-label,
body.brand-theme-ibeu .aluno-header .badges-title {
  color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .ranking-badge {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .aluno-header .stat-label,
body.brand-theme-ibeu .aluno-header .stat-block-label,
body.brand-theme-ibeu .aluno-header .ranking-next,
body.brand-theme-ibeu .aluno-header .ranking-season-note,
body.brand-theme-ibeu .aluno-header .progress-text,
body.brand-theme-ibeu .aluno-header .profile-stat-microcopy,
body.brand-theme-ibeu .aluno-header .text-secondary {
  color: #555555 !important;
}

body.brand-theme-ibeu .aluno-header .profile-stat-help {
  color: var(--ibeu-navy) !important;
  opacity: 0.8;
}

body.brand-theme-ibeu .aluno-header .profile-stat-help:hover,
body.brand-theme-ibeu .aluno-header .profile-stat-help:focus {
  color: var(--ibeu-red) !important;
  opacity: 1;
}

body.brand-theme-ibeu .aluno-header .rpg-stat-block {
  border-bottom-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .rpg-stat-block:before {
  border-right-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .aluno-linha-2 {
  border-bottom-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .ranking-progress {
  border-top-color: var(--ibeu-border) !important;
}

body.brand-theme-ibeu .aluno-header .xp-block .stat-block-header {
  background: var(--ibeu-red) !important;
  border-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .xp-block .stat-block-label,
body.brand-theme-ibeu .aluno-header .xp-block .progress-text,
body.brand-theme-ibeu .aluno-header .xp-block .profile-stat-help,
body.brand-theme-ibeu .aluno-header .xp-block .profile-stat-help:hover,
body.brand-theme-ibeu .aluno-header .xp-block .profile-stat-help:focus {
  color: #fff !important;
  opacity: 1;
}

body.brand-theme-ibeu .aluno-header .progress-bar,
body.brand-theme-ibeu .aluno-header .xp-block .progress-bar {
  background: #e9edf3 !important;
  border-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .aluno-header .progress-fill,
body.brand-theme-ibeu .aluno-header .xp-block .progress-fill {
  background: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .aluno-header .profile-level-badge {
  background: linear-gradient(135deg, var(--ibeu-navy), var(--ibeu-red)) !important;
  border-color: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .profile-stat-tooltip.tooltip .tooltip-inner {
  background: var(--ibeu-navy-deep) !important;
  border-color: rgba(230, 51, 35, 0.45) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .jornadas-nav-sidebar,
body.brand-theme-ibeu .jornada-row,
body.brand-theme-ibeu .jornada-main-content {
  background: #fff;
  color: var(--font-base);
  border-color: var(--ibeu-border);
}

body.brand-theme-ibeu .jornadas-nav-sidebar h3 {
  color: var(--ibeu-navy-deep) !important;
  border-bottom-color: var(--ibeu-navy) !important;
}

/* Sidebar chips (Categorias / Jornadas): always white text; red overlay on hover/active */
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link span,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link svg {
  color: #fff !important;
  fill: currentColor;
  opacity: 1 !important;
}

body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link {
  border-color: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link::before {
  background-color: var(--ibeu-navy) !important;
  opacity: 0.72 !important;
}

body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link:hover,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link.active,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link:hover span,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link.active span,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link:hover svg,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link.active svg {
  color: #fff !important;
  background: transparent !important;
}

body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link:hover::before,
body.brand-theme-ibeu .jornadas-nav-sidebar .nav-link.active::before {
  background-color: var(--ibeu-red) !important;
  opacity: 0.92 !important;
}

/* -------------------------------------------------------------------------- */
/* 10) Player                                                                 */
/* -------------------------------------------------------------------------- */

html.brand-theme-ibeu,
html.brand-theme-ibeu body.player-page,
body.brand-theme-ibeu.player-page {
  --color-complete: var(--ibeu-red);
  --azul-SM: #114076;
  --rosa-SM: #e63323;
  --font-heading: var(--ibeu-font);
  --font-body: var(--ibeu-font);
  background: #f8f8f8 !important;
  color: #555 !important;
  font-family: var(--ibeu-font) !important;
}

body.brand-theme-ibeu.player-page .sidebar,
body.brand-theme-ibeu.player-page .player-sidebar,
html.brand-theme-ibeu body .sidebar {
  background: #fff !important;
  border-color: var(--ibeu-border) !important;
}

body.brand-theme-ibeu.player-page a,
html.brand-theme-ibeu body a {
  color: var(--azul-SM-link);
}

/* kill leftover neon pink glows in player */
html.brand-theme-ibeu [style*='255, 0, 110'],
html.brand-theme-ibeu [style*='255,0,110'] {
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* 11) Cookies / floating chrome                                              */
/* -------------------------------------------------------------------------- */

/* Cookie banner remaps */
body.brand-theme-ibeu .storymode-cookie-consent__btn--primary {
  background: linear-gradient(135deg, #e63323, #c41e1e) !important;
}

body.brand-theme-ibeu .whatsapp-float,
body.brand-theme-ibeu .wa-float,
body.brand-theme-ibeu a[aria-label*='WhatsApp'] {
  background: #e63323 !important;
}

body.brand-theme-ibeu #wpp-widget {
  --wpp-accent: #e63323;
  --wpp-accent-shadow: rgba(230, 51, 35, 0.45);
}

body.brand-theme-ibeu .dex-float {
  top: auto !important;
  bottom: 20px !important;
  height: auto !important;
  width: auto !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  filter: none;
  padding: 0 !important;
}

body.brand-theme-ibeu .dex-float img {
  display: block;
  filter: drop-shadow(0 8px 12px rgba(17, 64, 118, 0.35));
}

/* Hardcoded purple leftovers from style.css */
body.brand-theme-ibeu [style*='#761bff'],
body.brand-theme-ibeu [style*='#761BFF'],
body.brand-theme-ibeu [style*='#ff006e'],
body.brand-theme-ibeu [style*='#7b2ff7'],
body.brand-theme-ibeu [style*='#9f44ff'] {
  /* cannot rewrite inline attrs fully; cart hover handled above */
}

body.brand-theme-ibeu .bg-primary,
body.brand-theme-ibeu .badge.bg-primary {
  background-color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .scroll-thin {
  scrollbar-color: var(--ibeu-red) #e9edf3;
}

body.brand-theme-ibeu .scroll-thin::-webkit-scrollbar-thumb {
  background: var(--ibeu-red);
}

body.brand-theme-ibeu .scroll-thin::-webkit-scrollbar-track {
  background: #e9edf3;
}

/* -------------------------------------------------------------------------- */
/* Text contrast only — do not restyle surfaces/layouts                       */
/* -------------------------------------------------------------------------- */

/* Breadcrumbs: white everywhere */
body.brand-theme-ibeu .breadcrumb-item,
body.brand-theme-ibeu .breadcrumb-item a,
body.brand-theme-ibeu .breadcrumb-item.active,
body.brand-theme-ibeu .breadcrumb-section .breadcrumb-item,
body.brand-theme-ibeu .breadcrumb-section .breadcrumb-item a,
body.brand-theme-ibeu .breadcrumb-section .breadcrumb-item.active,
body.brand-theme-ibeu nav[aria-label="breadcrumb"] .breadcrumb-item,
body.brand-theme-ibeu nav[aria-label="breadcrumb"] .breadcrumb-item a,
body.brand-theme-ibeu nav[aria-label="breadcrumb"] .breadcrumb-item.active,
body.brand-theme-ibeu .page-header .breadcrumb-item,
body.brand-theme-ibeu .page-header .breadcrumb-item a,
body.brand-theme-ibeu .page-header .breadcrumb-item.active {
  color: #fff !important;
}

body.brand-theme-ibeu .breadcrumb-item a:hover,
body.brand-theme-ibeu nav[aria-label="breadcrumb"] .breadcrumb-item a:hover {
  color: rgba(255, 255, 255, 0.85) !important;
}

body.brand-theme-ibeu .breadcrumb-item + .breadcrumb-item::before {
  filter: brightness(0) invert(1);
  opacity: 0.9;
}

/* FREE / GRÁTIS on course cards — blue, not StoryMode pink */
body.brand-theme-ibeu .course-meta-price .free {
  color: var(--azul-SM-link) !important; /* #195EC8 */
  text-shadow: none !important;
}

/* Auth cards still use .text-white while canvas is light: darken text only */
body.brand-theme-ibeu .bg-dark-lav,
body.brand-theme-ibeu .bg-dark-lav .text-white,
body.brand-theme-ibeu .bg-dark-lav .text-white *,
body.brand-theme-ibeu .bg-dark-lav .form-label,
body.brand-theme-ibeu .bg-dark-lav h1,
body.brand-theme-ibeu .bg-dark-lav h2,
body.brand-theme-ibeu .bg-dark-lav h3,
body.brand-theme-ibeu .bg-dark-lav h4,
body.brand-theme-ibeu .bg-dark-lav .form-check-label,
body.brand-theme-ibeu .bg-dark-lav .card-title {
  color: #161616 !important;
}

body.brand-theme-ibeu .bg-dark-lav .text-white-50,
body.brand-theme-ibeu .bg-dark-lav .form-text,
body.brand-theme-ibeu .bg-dark-lav .small.text-white-50 {
  color: #777777 !important;
}

body.brand-theme-ibeu .dropdown-menu,
body.brand-theme-ibeu .dropdown-item,
body.brand-theme-ibeu .dropdown-header {
  color: #161616 !important;
}

body.brand-theme-ibeu .text-base {
  color: #555555 !important;
}

/* Contact (/contact): leftover StoryMode white-on-dark styles on light canvas.
   #page-contato is ON <body>, not nested — use body#page-contato (no descendant space). */
body.brand-theme-ibeu#page-contato .text-white,
body.brand-theme-ibeu#page-contato .text-white *,
body.brand-theme-ibeu#page-contato h1,
body.brand-theme-ibeu#page-contato h2,
body.brand-theme-ibeu#page-contato h3,
body.brand-theme-ibeu#page-contato .lead,
body.brand-theme-ibeu#page-contato .form-label,
body.brand-theme-ibeu#page-contato .contact-details,
body.brand-theme-ibeu#page-contato .contact-details h2,
body.brand-theme-ibeu#page-contato .contact-details dt,
body.brand-theme-ibeu#page-contato .contact-details dd {
  color: #161616 !important;
}

body.brand-theme-ibeu#page-contato .text-white-50,
body.brand-theme-ibeu#page-contato .form-text,
body.brand-theme-ibeu#page-contato .contact-details dt::after {
  color: #777777 !important;
}

body.brand-theme-ibeu#page-contato .contact-details a {
  color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu#page-contato .contact-details a:hover,
body.brand-theme-ibeu#page-contato .contact-details a:focus-visible {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu#page-contato .card.bg-dark-lav,
body.brand-theme-ibeu#page-contato .bg-dark-lav {
  background: #fff !important;
  color: #161616 !important;
  border: 1px solid var(--ibeu-border) !important;
  box-shadow: var(--ibeu-shadow);
}

/* News (/news): Mais vistos uses text-white from StoryMode dark card;
   IBEU forces light cards — keep readable dark text. */
body.brand-theme-ibeu .hoje-sidebar .card-post-popular,
body.brand-theme-ibeu#page-hoje .hoje-sidebar .card-post-popular {
  background: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  box-shadow: var(--ibeu-shadow);
}

body.brand-theme-ibeu .hoje-sidebar .card-title,
body.brand-theme-ibeu .hoje-sidebar h6,
body.brand-theme-ibeu .hoje-sidebar .text-white,
body.brand-theme-ibeu .hoje-sidebar a,
body.brand-theme-ibeu#page-hoje .hoje-sidebar .text-white {
  color: #161616 !important;
}

body.brand-theme-ibeu .hoje-sidebar .post-meta,
body.brand-theme-ibeu .hoje-sidebar .text-secondary {
  color: #777777 !important;
}

body.brand-theme-ibeu .hoje-viewed-item + .hoje-viewed-item {
  border-top-color: var(--ibeu-border) !important;
}

body.brand-theme-ibeu .cta-banner-with-barcode .cta-barcode {
  display: none !important;
}

/* page-header keeps dark/red overlay → white text remains intentional */
body.brand-theme-ibeu .page-header .breadcrumb-item,
body.brand-theme-ibeu .page-header .breadcrumb-item a,
body.brand-theme-ibeu .page-header .breadcrumb-item.active,
body.brand-theme-ibeu .page-header h1,
body.brand-theme-ibeu .page-header h2,
body.brand-theme-ibeu .page-header p,
body.brand-theme-ibeu .page-header .lead {
  color: #fff !important;
}

/* -------------------------------------------------------------------------- */
/* Course details (/course/*)                                                 */
/* -------------------------------------------------------------------------- */

/* Banner short description must stay white over the dark overlay */
body.brand-theme-ibeu .curso-header .curso-resumo,
body.brand-theme-ibeu#page-curso .curso-header .curso-resumo {
  color: #fff !important;
}

/* Sidebar card stays navy so price / players / hours / level / share stay white */
body.brand-theme-ibeu .curso-info-card,
body.brand-theme-ibeu#page-curso .curso-info-card {
  background: var(--ibeu-navy-deep) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  color: #fff !important;
  box-shadow: var(--ibeu-shadow);
}

body.brand-theme-ibeu .curso-info-card .curso-price-display {
  background: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .curso-info-card .curso-price-display .g-title,
body.brand-theme-ibeu .curso-info-card .curso-price-display h4,
body.brand-theme-ibeu .curso-info-card .curso-price-display h3,
body.brand-theme-ibeu .curso-info-card .curso-price-display h2 {
  color: #fff !important;
}

body.brand-theme-ibeu .curso-info-card .curso-price-display del,
body.brand-theme-ibeu .curso-info-card .text-white-50 {
  background: rgba(0, 0, 0, 0.25) !important;
  color: rgba(255, 255, 255, 0.85) !important;
}

body.brand-theme-ibeu .curso-info-card .detalhe-label,
body.brand-theme-ibeu .curso-info-card .detalhe-valor,
body.brand-theme-ibeu .curso-info-card .detalhe-icon,
body.brand-theme-ibeu .curso-info-card .share-title,
body.brand-theme-ibeu .curso-info-card .curso-detail-list,
body.brand-theme-ibeu .curso-info-card .curso-detail-list li,
body.brand-theme-ibeu .curso-info-card .curso-detalhes,
body.brand-theme-ibeu .curso-info-card .btn-icon {
  color: #fff !important;
  fill: currentColor;
}

body.brand-theme-ibeu .curso-info-card .detalhe-item {
  border-bottom-color: rgba(255, 255, 255, 0.12) !important;
}

body.brand-theme-ibeu .curso-info-card .curso-share {
  border-top-color: rgba(255, 255, 255, 0.14) !important;
}

body.brand-theme-ibeu .curso-info-card .detalhe-item.detalhe-destaque {
  background: var(--ibeu-red) !important;
}

/* Curriculum + Author tabs: light surfaces + dark readable text */
body.brand-theme-ibeu .modulo-item,
body.brand-theme-ibeu .professor-card,
body.brand-theme-ibeu#page-curso .modulo-item,
body.brand-theme-ibeu#page-curso .professor-card {
  background: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  box-shadow: var(--ibeu-shadow);
  color: #161616 !important;
}

body.brand-theme-ibeu .modulo-header {
  background: #f3f5f8 !important;
  border-bottom-color: var(--ibeu-border) !important;
}

body.brand-theme-ibeu .modulo-titulo,
body.brand-theme-ibeu .modulo-titulo *,
body.brand-theme-ibeu .aula-titulo,
body.brand-theme-ibeu .professor-nome,
body.brand-theme-ibeu .professor-titulo,
body.brand-theme-ibeu .professor-bio,
body.brand-theme-ibeu .curso-curriculo,
body.brand-theme-ibeu .curso-curriculo h3,
body.brand-theme-ibeu .curso-curriculo h4,
body.brand-theme-ibeu .curso-curriculo p {
  color: #161616 !important;
}

body.brand-theme-ibeu .modulo-aulas,
body.brand-theme-ibeu .aula-descricao {
  color: #777777 !important;
}

body.brand-theme-ibeu .aula-item {
  border-bottom-color: var(--ibeu-border) !important;
}

body.brand-theme-ibeu .aula-item:hover {
  background: rgba(230, 51, 35, 0.05) !important;
}

body.brand-theme-ibeu .aula-icon {
  background: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .aula-duracao {
  color: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .curso-tabs .nav-link {
  color: #555555 !important;
}

body.brand-theme-ibeu .curso-tabs .nav-link.active,
body.brand-theme-ibeu .curso-tabs .nav-link:hover {
  color: var(--ibeu-red) !important;
}

/* -------------------------------------------------------------------------- */
/* My Skills (/my-profile/skill) — kill StoryMode neon purple/pink cards      */
/* Contrast: dark text on white cards; white text only on red/navy chrome     */
/* (scoped by .skills-grid/.skill-card — body may only keep one class attr)   */
/* -------------------------------------------------------------------------- */

body.brand-theme-ibeu .skills-summary {
  background: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  color: var(--ibeu-navy-deep) !important;
  box-shadow: var(--ibeu-shadow);
}

body.brand-theme-ibeu .skills-summary i {
  color: var(--ibeu-red) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.brand-theme-ibeu .skill-card {
  background: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  border-radius: var(--radius);
  box-shadow: var(--ibeu-shadow);
  color: var(--font-base) !important;
}

body.brand-theme-ibeu .skill-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 24px rgba(39, 48, 68, 0.12) !important;
  border-color: var(--ibeu-navy) !important;
}

/* Top badge: navy / red chrome → white text + icons */
body.brand-theme-ibeu .skill-top {
  background: var(--ibeu-navy) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .skill-top.is-complete {
  background: var(--ibeu-red) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .skill-top i,
body.brand-theme-ibeu .skill-top span {
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.brand-theme-ibeu .skill-thumb {
  background: #e9edf3 !important;
}

/* Title ribbon: navy → white text */
body.brand-theme-ibeu .skill-title {
  background: var(--ibeu-navy-deep) !important;
  color: #fff !important;
  font-style: normal !important;
  text-shadow: none !important;
}

body.brand-theme-ibeu .skill-title::after {
  background: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .skill-body {
  color: var(--font-base) !important;
}

body.brand-theme-ibeu .skill-journey-progress {
  color: #777777 !important;
}

body.brand-theme-ibeu .skill-journey-progress strong {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .skill-progress-bar,
body.brand-theme-ibeu .skill-course-progress-bar {
  background: #e9edf3 !important;
}

body.brand-theme-ibeu .skill-progress-fill {
  background: var(--ibeu-navy) !important;
}

body.brand-theme-ibeu .skill-progress-fill.is-complete {
  background: var(--ibeu-red) !important;
}

body.brand-theme-ibeu .skill-course-progress-fill {
  background: linear-gradient(90deg, var(--ibeu-navy), var(--ibeu-red)) !important;
}

body.brand-theme-ibeu .skill-course-row {
  background: #f8f8f8 !important;
  border: 1px solid var(--ibeu-border) !important;
  color: var(--ibeu-ink) !important;
}

body.brand-theme-ibeu .skill-course-row:hover {
  border-color: var(--ibeu-red) !important;
  background: rgba(230, 51, 35, 0.06) !important;
  color: var(--ibeu-ink) !important;
}

body.brand-theme-ibeu .skill-course-thumb {
  border-color: var(--ibeu-border) !important;
  background: #fff !important;
}

body.brand-theme-ibeu .skill-course-title {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .skill-course-percent {
  color: #555555 !important;
}

body.brand-theme-ibeu .skill-course-row.is-locked .skill-course-percent::after {
  color: var(--ibeu-red) !important;
  opacity: 1 !important;
}

/* Primary CTA: red + white text */
body.brand-theme-ibeu .btn-skill {
  background: var(--ibeu-red) !important;
  border: 1px solid var(--ibeu-red) !important;
  color: #fff !important;
  border-radius: var(--radius);
  box-shadow: 6px 6px 0 0 var(--ibeu-pink-shadow);
}

body.brand-theme-ibeu .btn-skill:hover,
body.brand-theme-ibeu .btn-skill:focus {
  background: var(--ibeu-red-dark) !important;
  border-color: var(--ibeu-red-dark) !important;
  color: #fff !important;
}

/* Secondary: outline navy, dark text on white — white text only on hover fill */
body.brand-theme-ibeu .btn-skill-secondary {
  background: #fff !important;
  border: 1px solid var(--ibeu-navy) !important;
  color: var(--ibeu-navy-deep) !important;
  box-shadow: none;
}

body.brand-theme-ibeu .btn-skill-secondary:hover,
body.brand-theme-ibeu .btn-skill-secondary:focus {
  background: var(--ibeu-navy) !important;
  border-color: var(--ibeu-navy) !important;
  color: #fff !important;
}

body.brand-theme-ibeu .skills-empty {
  background: #fff !important;
  border: 1px solid var(--ibeu-border) !important;
  color: var(--ibeu-ink) !important;
  box-shadow: var(--ibeu-shadow);
}

body.brand-theme-ibeu .skills-empty h3 {
  color: var(--ibeu-navy-deep) !important;
}

body.brand-theme-ibeu .skills-empty p {
  color: #555555 !important;
}

