
/* ─── Tokens (light = default) ─────────────────────────────────── */
:root {
  --primary: #E21058; --primary-hover: #BD0A48; --primary-light: #FD4CAD;
  --primary-soft: #FCE7EE; --primary-tint: rgba(226,16,88,0.08);
  --green: #25B75E; --green-bright: #6FE89F; --green-dark: #04342C;
  --green-soft: #E8F3E9; --pista: #D0E6D1;
  --verified-blue: #1D9BF0; --gold: #FFB800; --gold-soft: #FFF4D6;
  --accent-dark: #1a0f15; --text: #1a0f15; --text-muted: #6b5560;
  --text-fade: #a89aa0; --border: #ebe6e3; --border-strong: #d8d2cf;
  --soft: #f6f4f2; --surface: #ffffff; --bg-page: #fbfaf9;
  --ib-side-pad: clamp(20px, 5vw, 80px);
  --ib-display: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --ib-body: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

/* ─── Hero: DARK navy theme matching the banner video bg ────────
   The hero block (nav + hero) is dark; brand strip + How-It-Works
   below stay light for visual rhythm and contrast. */
:root {
  --hero-bg: #0f1533;                       /* EXACT video bg color */
  --hero-bg-grad-1: #0f1533;
  --hero-bg-grad-2: #0f1533;
  --hero-text: #ffffff;
  --hero-text-muted: rgba(255,255,255,0.72);
  --hero-surface: rgba(255,255,255,0.06);
  --hero-border: rgba(255,255,255,0.14);
  --hero-pill-bg: rgba(255,255,255,0.07);
  --hero-pill-icon-bg: rgba(226,16,88,0.22);
  --hero-pill-icon-color: var(--primary-light);
  --brand-strip-bg: #ffffff;
  --logo-filter: none;
}

/* ─── Reset inside our shell only ──────────────────────────────── */
.ib-homer-shell, .ib-homer-shell * { box-sizing: border-box; }
.ib-homer-shell { font-family: var(--ib-body); line-height: 1.5; -webkit-font-smoothing: antialiased; }
.ib-homer-shell a { color: inherit; text-decoration: none; }
.ib-homer-shell img { display: block; max-width: 100%; }
.ib-homer-shell button { font-family: inherit; cursor: pointer; border: none; background: none; }

/* ───────────────────────────────────────────────────────────────────
 * NAV — always dark (premium feel, even though the hero is light)
 * ─────────────────────────────────────────────────────────────────── */
.ib-homer-nav-shell {
  position: sticky; top: 0; z-index: 50;
  backdrop-filter: blur(14px);
  background: #0f1533;  /* solid — matches hero & video exactly */
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.ib-homer-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px var(--ib-side-pad); gap: 32px;
}
.ib-homer-nav-brand,
.ib-homer-nav-brand span {
  display: flex; align-items: center; gap: 10px;
  font-family: var(--ib-display);
  font-size: 19px; font-weight: 700; letter-spacing: -0.5px;
  color: #ffffff !important;
  flex-shrink: 0;
}
.ib-homer-nav-brand .pink, .ib-homer-nav-brand .pink span {
  color: var(--primary-light) !important;
}
.ib-homer-nav-brand .logo {
  width: 34px; height: 34px;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: white; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 14px; letter-spacing: -0.5px;
}
.ib-homer-nav-brand .pink { color: var(--primary-light); }

/* Nav menu — supports both <ul><li><a> (wp_nav_menu output) and a bare
   list of <a> elements (when no menu is wired up). The same horizontal
   layout works for either structure. */
.ib-homer-nav-menu,
ul.ib-homer-nav-menu {
  display: flex; align-items: center; gap: 4px;
  list-style: none; margin: 0; padding: 0;
}
.ib-homer-nav-menu li { list-style: none; margin: 0; padding: 0; }
.ib-homer-nav-menu li a {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 9px 14px; border-radius: 10px;
  font-size: 14px; font-weight: 600;
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none;
}
.ib-homer-nav-menu li a:hover {
  background: rgba(255,255,255,0.08);
  color: var(--primary-light) !important;
}
.ib-homer-nav-menu li.current-menu-item > a,
.ib-homer-nav-menu li.current-menu-parent > a {
  color: var(--primary-light) !important;
  background: rgba(255,255,255,0.06);
}

/* ─── Minimal professional dropdown for WP nav sub-menus ─────────
   Clean single-column panel — no icons, no headings-as-items, no
   wide mega-grid. Small width, tight spacing, hairline border. */
.ib-homer-nav-menu > li { position: relative; }
.ib-homer-nav-menu > li.menu-item-has-children > a::after {
  content: ''; display: inline-block;
  width: 5px; height: 5px;
  margin-left: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  opacity: 0.65;
}
.ib-homer-nav-menu .sub-menu {
  position: absolute;
  top: 100%; left: 0;
  margin: 0; padding: 6px;
  list-style: none;
  width: 240px;
  background: #0f1533;
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 10px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.4);
  opacity: 0; visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
  z-index: 60;
  font-family: var(--ib-body);
}
.ib-homer-nav-menu > li:hover > .sub-menu,
.ib-homer-nav-menu > li:focus-within > .sub-menu {
  opacity: 1; visibility: visible;
  transform: translateY(0);
}
.ib-homer-nav-menu .sub-menu li { display: block; margin: 0; padding: 0; }
.ib-homer-nav-menu .sub-menu li a {
  display: block !important;
  padding: 8px 12px !important;
  border-radius: 6px;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  color: rgba(255,255,255,0.78) !important;
  white-space: nowrap;
  text-transform: none !important;
}
.ib-homer-nav-menu .sub-menu li a:hover {
  background: rgba(255,255,255,0.06);
  color: #ffffff !important;
}
/* Items WP rendered as section headings (BY PLATFORM / BY CATEGORY)
   — these are non-clickable labels. Style them as uppercase muted
   dividers, not menu items. */
.ib-homer-nav-menu .sub-menu li:has(> a[href="#"]),
.ib-homer-nav-menu .sub-menu li > a[href="#"] {
  pointer-events: none;
}
.ib-homer-nav-menu .sub-menu li > a[href="#"] {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.42) !important;
  padding: 10px 12px 4px !important;
}

/* Mega-menu — 2-column compact layout with capped height + scroll.
   Section headings span both columns to act as full-width dividers.
   Items wrap into a tidy grid. */
.ib-homer-nav-menu > li.mega-menu > .sub-menu {
  width: 420px;
  max-height: 460px;
  overflow-y: auto;
  padding: 8px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 4px;
  row-gap: 1px;
  align-content: start;
  /* Subtle thin scrollbar */
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.2) transparent;
}
.ib-homer-nav-menu > li.mega-menu > .sub-menu::-webkit-scrollbar { width: 6px; }
.ib-homer-nav-menu > li.mega-menu > .sub-menu::-webkit-scrollbar-track { background: transparent; }
.ib-homer-nav-menu > li.mega-menu > .sub-menu::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.2);
  border-radius: 3px;
}
/* Items that ARE links go into the grid normally — 2-up */
.ib-homer-nav-menu > li.mega-menu > .sub-menu li {
  min-width: 0;
}
/* Section-heading "items" (href="#") span both columns as dividers */
.ib-homer-nav-menu > li.mega-menu > .sub-menu li:has(> a[href="#"]) {
  grid-column: 1 / -1;
  margin-top: 4px;
}
.ib-homer-nav-menu > li.mega-menu > .sub-menu li:first-child:has(> a[href="#"]) {
  margin-top: 0;
}
.ib-homer-nav-menu > li.mega-menu > .sub-menu li a {
  padding: 7px 10px !important;
  font-size: 12.5px !important;
}
.ib-homer-nav-link {
  padding: 9px 14px; border-radius: 10px;
  font-size: 14px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 4px;
  color: rgba(255,255,255,0.85) !important;
}
.ib-homer-nav-link:hover { background: rgba(255,255,255,0.08); color: var(--primary-light) !important; }
.ib-homer-nav-link.has-caret::after {
  content: ''; width: 6px; height: 6px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px); margin-left: 4px;
}
.ib-homer-nav-actions { display: flex; align-items: center; gap: 10px; }
.ib-homer-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 16px; border-radius: 999px;
  font-weight: 700; font-size: 13px; font-family: var(--ib-body);
  transition: all 0.15s; white-space: nowrap; cursor: pointer;
  border: 1.5px solid transparent;
}
.ib-homer-btn-primary {
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: #ffffff !important;
}
.ib-homer-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(226,16,88,0.45);
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--primary-hover), var(--primary));
}
.ib-homer-btn-ghost {
  background: rgba(255,255,255,0.12);
  color: #ffffff !important;
  border: 1.5px solid rgba(255,255,255,0.32);
}
.ib-homer-btn-ghost:hover {
  border-color: var(--primary-light);
  color: var(--primary-light) !important;
  background: rgba(255,255,255,0.18);
}

/* User avatar pill (when logged in) — sits inside the dark nav */
.ib-homer-user, a.ib-homer-user {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px 6px 6px; border-radius: 999px;
  background: rgba(255,255,255,0.12);
  border: 1.5px solid rgba(255,255,255,0.32);
  color: #ffffff !important;
  font-size: 13px; font-weight: 700;
  text-decoration: none !important;
}
.ib-homer-user:hover {
  background: rgba(255,255,255,0.18);
  border-color: var(--primary-light);
  color: var(--primary-light) !important;
}
.ib-homer-user img, .ib-homer-user .ib-homer-user-fallback {
  width: 28px; height: 28px; border-radius: 50%; object-fit: cover;
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: white; display: inline-flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: 11px;
}

/* ───────────────────────────────────────────────────────────────────
 * HERO
 * ─────────────────────────────────────────────────────────────────── */
.ib-homer-hero {
  position: relative;
  /* SOLID navy — same color as the video bg so video letterboxing
     blends seamlessly into the hero. No gradient, no pink radial. */
  background: var(--hero-bg);
  color: var(--hero-text);
  /* Original theme header is position:fixed, height ~84px. Body has
     padding-top: 84px (ib-header-spacing-fix), so the hero starts
     under the header. Subtract 84px to fit exactly in the viewport. */
  height: calc(100vh - 84px);
  min-height: 480px;
  display: flex; flex-direction: column;
  overflow: hidden;
}
/* WordPress admin bar (logged-in users) eats 32px on desktop / 46px on
   narrow screens. Subtract its height so the hero still ends at the
   exact bottom of the viewport. */
body.admin-bar .ib-homer-hero { height: calc(100vh - 84px - 32px); }
@media (max-width: 782px) {
  body.admin-bar .ib-homer-hero { height: calc(100vh - 84px - 46px); }
}
/* No pink/purple radial overlay — kept SOLID navy across the whole hero */
.ib-homer-hero::before { content: none; }
.ib-homer-hero-grid {
  flex: 1;
  /* Wider right pane so the square video shows large enough for all
     4 columns of content to be comfortably readable. ~58/42 split. */
  display: grid; grid-template-columns: 1.4fr 1fr;
  align-items: stretch; position: relative; z-index: 10; min-height: 0;
}

/* LEFT */
.ib-homer-hero-left {
  /* Generous top padding so the pill clears the sticky nav by a wide
     margin and never gets clipped on tighter viewports. */
  padding: clamp(60px, 9vh, 110px) clamp(20px, 3vw, 48px) clamp(28px, 4vh, 48px) var(--ib-side-pad);
  display: flex; flex-direction: column; justify-content: flex-start; min-height: 0;
  gap: clamp(14px, 2vh, 24px);
}
.ib-homer-hero-left > * { margin: 0; }
.ib-homer-hero-pill {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 8px 18px 8px 9px; border-radius: 999px;
  font-size: 14px; font-weight: 700;
  margin-bottom: clamp(14px, 2.4vh, 24px);
  backdrop-filter: blur(8px);
  align-self: flex-start;
  background: var(--hero-pill-bg);
  border: 1px solid var(--hero-border);
  color: var(--hero-text);
}
.ib-homer-hero-pill i {
  font-size: 16px; padding: 5px; border-radius: 999px;
  background: var(--hero-pill-icon-bg); color: var(--hero-pill-icon-color);
}
.ib-homer-hero-title {
  font-family: var(--ib-display);
  font-size: clamp(38px, min(4.6vw, 8vh), 72px);
  font-weight: 700; letter-spacing: -2px; line-height: 1.04;
  margin-bottom: clamp(14px, 2.2vh, 22px);
  color: var(--hero-text);
}
.ib-homer-hero-title .accent {
  background: linear-gradient(135deg, var(--primary-light), var(--gold));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-homer-hero-sub {
  font-size: clamp(15px, 1.3vw, 20px);
  margin-bottom: clamp(16px, 2.8vh, 28px);
  line-height: 1.5; max-width: 880px;
  color: var(--hero-text-muted);
}

.ib-homer-search-wrap {
  margin-bottom: clamp(16px, 2.6vh, 26px);
  max-width: 720px;
}

/* Single unified search bar — always AI-powered. Solid WHITE pill
   with a thick gold-pink gradient ring + a pink glow that POPS on
   the dark navy hero background. */
.ib-homer-search-wrap.ai-active .ib-homer-search-input {
  background: #ffffff padding-box,
              linear-gradient(135deg, var(--gold), var(--primary-light)) border-box;
  border: 3px solid transparent;
  outline: none;
  box-shadow:
    0 0 0 4px rgba(253,76,173,0.16),       /* soft pink halo around the bar */
    0 8px 32px rgba(253,76,173,0.32),      /* pink glow underneath */
    0 2px 6px rgba(0,0,0,0.18);            /* depth shadow */
}
.ib-homer-search-wrap.ai-active .ib-homer-search-input:focus-within {
  box-shadow:
    0 0 0 5px rgba(253,76,173,0.28),
    0 10px 36px rgba(253,76,173,0.42),
    0 2px 6px rgba(0,0,0,0.2);
}
/* Force dark text + visible pink caret inside the white bar */
.ib-homer-search-wrap.ai-active .ib-homer-search-input input {
  color: var(--text);
  caret-color: var(--primary);  /* visible pink blinking caret */
}
.ib-homer-search-wrap.ai-active .ib-homer-search-input input::placeholder {
  color: var(--text-muted);
  opacity: 1;
}
.ib-homer-search-wrap.ai-active .ib-homer-search-input > i {
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-homer-search-wrap.ai-active .ib-homer-search-input button {
  background: linear-gradient(135deg, var(--gold), var(--primary));
  color: white;
}
.ib-homer-search-wrap.ai-active .ib-homer-search-input button i.ti-sparkles {
  color: white; background: none; -webkit-background-clip: initial; background-clip: initial;
}

/* Search wrap needs position:relative so the suggestion dropdown
   can be absolutely positioned beneath the input pill. */
.ib-homer-search-wrap { position: relative; }

/* Animated typing-cursor that blinks at the end of the placeholder
   while the typewriter is mid-rotation. CSS-only — JS just toggles
   the .typing class on the wrap. */
.ib-homer-search-input input.ib-typewriter-active::placeholder { color: rgba(26,15,21,0.55); }
@keyframes ibHomerTypeCaret {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0; }
}

/* AI suggestions dropdown — appears below the search pill as the
   user types. Each row is a click-to-fill brief suggestion fetched
   from /api/v1/creators/match/suggestions. */
.ib-homer-suggest {
  position: absolute;
  top: calc(100% + 8px); left: 0; right: 0;
  background: #ffffff;
  border-radius: 16px;
  box-shadow:
    0 0 0 1px rgba(15,21,51,0.06),
    0 18px 48px rgba(15,21,51,0.25),
    0 8px 16px rgba(253,76,173,0.15);
  padding: 8px;
  display: none;
  z-index: 20;
  max-height: 320px;
  overflow-y: auto;
}
.ib-homer-suggest.open { display: block; }
.ib-homer-suggest-header {
  display: flex; align-items: center; gap: 6px;
  padding: 4px 12px 8px;
  font-size: 10.5px; font-weight: 700;
  letter-spacing: 1.2px; text-transform: uppercase;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border);
  margin-bottom: 4px;
}
.ib-homer-suggest-header i {
  font-size: 13px;
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-homer-suggest-item {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s;
  font-size: 14px;
  color: var(--text);
  font-weight: 500;
}
.ib-homer-suggest-item:hover,
.ib-homer-suggest-item.active {
  background: var(--primary-soft);
  color: var(--primary);
}
.ib-homer-suggest-item i {
  color: var(--primary);
  font-size: 14px;
  flex-shrink: 0;
}
.ib-homer-suggest-item .ib-homer-suggest-go {
  margin-left: auto;
  font-size: 12px;
  color: var(--text-muted);
  opacity: 0;
  transition: opacity 0.15s;
}
.ib-homer-suggest-item:hover .ib-homer-suggest-go,
.ib-homer-suggest-item.active .ib-homer-suggest-go {
  opacity: 1;
  color: var(--primary);
}
.ib-homer-suggest-loading {
  padding: 14px 16px;
  font-size: 13px;
  color: var(--text-muted);
  display: flex; align-items: center; gap: 8px;
}
.ib-homer-suggest-loading .dot {
  width: 5px; height: 5px;
  background: var(--primary-light);
  border-radius: 50%;
  animation: ibHomerDot 1.2s ease-in-out infinite;
}
.ib-homer-suggest-loading .dot:nth-child(2) { animation-delay: 0.15s; }
.ib-homer-suggest-loading .dot:nth-child(3) { animation-delay: 0.3s; }
@keyframes ibHomerDot {
  0%, 60%, 100% { opacity: 0.3; transform: scale(0.8); }
  30%           { opacity: 1;   transform: scale(1.2); }
}

/* Helper hint under the search bar */
.ib-homer-search-hint {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 8px;
  font-size: 12px; font-weight: 600;
  color: var(--hero-text-muted);
  letter-spacing: 0.1px;
}
.ib-homer-search-hint i {
  font-size: 13px;
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

.ib-homer-search-input {
  display: flex; align-items: center;
  border-radius: 999px; padding: 7px 7px 7px 26px; gap: 12px;
  backdrop-filter: blur(20px); transition: all 0.2s;
  background: var(--hero-surface); border: 1.5px solid var(--hero-border);
}
.ib-homer-search-input:focus-within { border-color: var(--primary); box-shadow: 0 0 0 5px rgba(226,16,88,0.15); }
.ib-homer-search-input > i { font-size: 20px; color: var(--hero-text-muted); }
.ib-homer-search-input input {
  flex: 1; background: none; border: none; outline: none;
  font-family: inherit; font-size: clamp(15px, 1.7vh, 17px);
  padding: clamp(12px, 1.8vh, 15px) 0;
  color: var(--hero-text);
}
.ib-homer-search-input input::placeholder { color: var(--hero-text-muted); }
.ib-homer-search-input button {
  background: linear-gradient(135deg, var(--primary), var(--primary-light));
  color: white;
  padding: clamp(12px, 1.8vh, 15px) clamp(22px, 3vw, 30px);
  border-radius: 999px;
  font-size: clamp(14px, 1.7vh, 16px); font-weight: 700;
  display: inline-flex; align-items: center; gap: 6px;
}
.ib-homer-search-input button:hover { transform: translateY(-1px); box-shadow: 0 10px 24px rgba(226,16,88,0.4); }

.ib-homer-filter-pills {
  display: flex; gap: 7px; flex-wrap: wrap;
  margin-bottom: clamp(16px, 2.6vh, 26px);
}
.ib-homer-filter-pill {
  padding: 8px 14px; border-radius: 999px;
  font-size: 13px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 5px;
  backdrop-filter: blur(8px); transition: all 0.15s;
  background: var(--hero-surface); border: 1px solid var(--hero-border);
  color: var(--hero-text);
}
.ib-homer-filter-pill:hover { background: color-mix(in srgb, var(--hero-surface) 50%, var(--primary-soft)); color: var(--primary); border-color: var(--primary-soft); }
.ib-homer-filter-pill i { font-size: 14px; color: var(--primary); }

.ib-homer-stats-row {
  display: flex; gap: clamp(28px, 4vw, 60px); flex-wrap: wrap;
}
.ib-homer-stat-num {
  font-family: var(--ib-display);
  font-size: clamp(30px, min(3vw, 5vh), 48px);
  font-weight: 800; letter-spacing: -1.4px; line-height: 1;
  background: linear-gradient(135deg, var(--hero-text), color-mix(in srgb, var(--hero-text) 70%, transparent));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-homer-stat-lbl {
  font-size: 11.5px; font-weight: 700;
  letter-spacing: 1.4px; text-transform: uppercase;
  margin-top: 6px; color: var(--hero-text-muted);
}

.ib-homer-mini-trust {
  display: flex; align-items: center; gap: 28px;
  margin-top: clamp(16px, 2.8vh, 28px); flex-wrap: wrap;
}
.ib-homer-mini-trust-label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 1.4px; text-transform: uppercase;
  white-space: nowrap; color: var(--hero-text-muted);
}
.ib-homer-mini-trust-logos { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.ib-homer-mini-trust-logos img {
  height: clamp(20px, 2.6vh, 26px); width: auto; max-width: 90px;
  object-fit: contain; transition: opacity 0.2s;
  filter: var(--logo-filter); opacity: 0.65;
}
.ib-homer-mini-trust-logos img:hover { filter: none; opacity: 1; }

/* RIGHT — single banner video, edge-to-edge.
   object-fit: cover fills the entire box (top to bottom + left to right),
   so the video TOUCHES the nav above and the brand strip below with
   no letterbox. The video is square (1080×1080) and the box is ~594×612
   so only ~9px is cropped from left+right combined — content stays
   visible since the 4 columns are centered. */
.ib-homer-hero-right {
  position: relative; overflow: hidden;
  padding: 0;
}
.ib-homer-hero-video-wrap {
  position: relative;
  width: 100%; height: 100%;
  border-radius: 0;
  overflow: hidden;
  background: var(--hero-bg);
}
.ib-homer-hero-video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

/* Brand strip — SEPARATE section below the hero, full color logos */
.ib-homer-brand-strip {
  position: relative;
  padding: 32px 0;
  overflow: hidden;
  background: #ffffff;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  /* Side fade so the marquee doesn't visually crash into the page edges */
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%);
}
.ib-homer-brand-strip-label {
  position: relative;
  text-align: center;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 18px;
  /* Don't fade this one */
  -webkit-mask: none; mask: none;
}
.ib-homer-brand-track {
  display: flex; align-items: center;
  gap: 64px; width: max-content;
  animation: ibHomerScrollLeft 40s linear infinite;
}
@keyframes ibHomerScrollLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.ib-homer-brand-track img {
  height: 36px; width: auto; max-width: 140px;
  object-fit: contain;
  /* FULL color — no grayscale, no opacity dimming */
  filter: none;
  opacity: 1;
  transition: transform 0.2s;
}
.ib-homer-brand-track img:hover { transform: scale(1.05); }

/* Responsive */
@media (max-width: 1024px) {
  /* On tablet/mobile we drop the fixed-viewport hero — content stacks
     and the page scrolls naturally. */
  .ib-homer-hero { height: auto; min-height: auto; }
  body.admin-bar .ib-homer-hero { height: auto; }
  .ib-homer-hero-grid { grid-template-columns: 1fr; }
  .ib-homer-hero-left {
    padding: clamp(36px, 6vh, 56px) var(--ib-side-pad) clamp(20px, 3vh, 32px);
  }
  .ib-homer-hero-right { height: clamp(280px, 50vw, 480px); padding: 0; }
  /* Suggestion dropdown spans full-width of search wrap on mobile */
  .ib-homer-suggest { max-height: 280px; }
}
@media (max-width: 768px) {
  /* Hide desktop menu list — !important to beat the inline flex rule */
  .ib-homer-nav-menu, ul.ib-homer-nav-menu { display: none !important; }
  .ib-homer-hero-title { font-size: clamp(30px, 7.5vw, 42px); letter-spacing: -1px; }
  .ib-homer-hero-sub { font-size: clamp(13.5px, 3.6vw, 15px); }
  .ib-homer-search-input { padding: 5px 5px 5px 18px; gap: 8px; }
  .ib-homer-search-input input { font-size: 14px; padding: 11px 0; }
  .ib-homer-search-input button {
    padding: 10px 14px; font-size: 12px;
  }
  .ib-homer-search-input button i.ti-arrow-right { display: none; }
  .ib-homer-stats-row { gap: 20px; }
  .ib-homer-stat-num { font-size: clamp(22px, 6vw, 32px); }
  /* Brand strip — smaller logos */
  .ib-homer-brand-strip { padding: 22px 0; }
  .ib-homer-brand-track { gap: 36px; }
  .ib-homer-brand-track img { height: 26px; max-width: 90px; }
}
@media (max-width: 500px) {
  .ib-homer-nav-actions .ib-homer-btn-ghost { display: none; }  /* keep only primary CTA */
  .ib-homer-stats-row { gap: 14px; }
  .ib-homer-stat-num { font-size: 20px; }
  .ib-homer-stat-lbl { font-size: 10px; letter-spacing: 1px; }
  .ib-homer-search-hint { font-size: 11px; }
}

/* GLOBAL — prevent horizontal scroll caused by other page widgets
   (reel-slider, etc.) at any viewport. Our hero never overflows,
   but if anything else on the page does, this clip it. */
html, body.home { overflow-x: hidden !important; max-width: 100vw; }

/* ───────────────────────────────────────────────────────────────────
 * MARKETPLACE SECTION — homepage version with category pills + 2 rows
 *   Mirrors the design of /marketplace/ creator cards exactly.
 * ─────────────────────────────────────────────────────────────────── */
.ib-hm {
  background: var(--bg-page);
  padding: clamp(48px, 6vw, 88px) var(--ib-side-pad) clamp(48px, 6vw, 88px);
  position: relative;
}
.ib-hm-inner { max-width: 1480px; margin: 0 auto; }
.ib-hm-header {
  text-align: center; margin-bottom: clamp(20px, 2.6vw, 32px);
}
.ib-hm-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 6px 14px 6px 7px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 11.5px; font-weight: 700;
  letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted);
  margin-bottom: 16px;
}
.ib-hm-eyebrow .dot {
  width: 18px; height: 18px;
  background: var(--primary); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: white;
}
.ib-hm-eyebrow .dot i { font-size: 10px; }
.ib-hm-title {
  font-family: var(--ib-display);
  font-size: clamp(28px, 3.4vw, 48px);
  font-weight: 700; line-height: 1.05;
  letter-spacing: -1.4px; color: var(--text);
  margin: 0 0 12px;
}
.ib-hm-sub {
  font-size: clamp(14px, 1.05vw, 17px);
  line-height: 1.5;
  color: var(--text-muted);
  max-width: 56ch; margin: 0 auto 8px;
}

/* Category pill row */
.ib-hm-cats {
  display: flex; flex-wrap: wrap; gap: 8px;
  justify-content: center;
  margin: clamp(18px, 2.4vw, 30px) auto clamp(20px, 2.6vw, 32px);
  max-width: 1100px;
}
.ib-hm-cat {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 16px; border-radius: 999px;
  font-size: 13px; font-weight: 600;
  background: var(--surface); border: 1px solid var(--border);
  color: var(--text);
  cursor: pointer; transition: all 0.15s ease;
  font-family: var(--ib-body);
}
.ib-hm-cat:hover {
  border-color: var(--primary);
  color: var(--primary);
}
.ib-hm-cat.active {
  background: var(--accent-dark);
  color: #ffffff !important;
  border-color: var(--accent-dark);
}
.ib-hm-cat i { font-size: 14px; }
.ib-hm-cat .count {
  font-size: 10.5px;
  opacity: 0.7;
  margin-left: 2px;
}
.ib-hm-cat.active .count { opacity: 1; }

/* Card grid — 4 cols on desktop, ~2 rows visible */
.ib-hm-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

/* Card — replicates marketplace .card.creator-card */
.ib-hm-card {
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 10px;
  display: flex; flex-direction: column;
  cursor: pointer;
  transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
  position: relative;
  min-width: 0;
}
.ib-hm-card:hover {
  transform: translateY(-3px);
  border-color: var(--border-strong);
  box-shadow: 0 14px 32px rgba(26,15,21,0.08);
}
.ib-hm-card-photo {
  position: relative;
  aspect-ratio: 3 / 2;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(135deg, #f4e4ea, #f8d4cc);
  background-size: cover; background-position: center 25%;
}
.ib-hm-card-tier {
  position: absolute; top: 8px; right: 8px;
  background: var(--primary); color: #fff;
  font-size: 9px; font-weight: 700; letter-spacing: 0.5px;
  padding: 3px 9px; border-radius: 999px; text-transform: uppercase;
  z-index: 2;
}
.ib-hm-card-name-row {
  display: flex; align-items: flex-start; justify-content: space-between;
  margin-top: 9px; gap: 6px;
}
.ib-hm-card-name { display: flex; align-items: center; gap: 5px; min-width: 0; flex: 1; }
.ib-hm-card-name .nm {
  font-size: 14px; font-weight: 700; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ib-hm-card-name .vf {
  color: var(--verified-blue); font-size: 14px; flex-shrink: 0;
}
.ib-hm-card-stats { text-align: right; flex-shrink: 0; line-height: 1.1; }
.ib-hm-card-stats .fn { font-family: var(--ib-display); font-size: 14px; font-weight: 700; color: var(--text); letter-spacing: -0.3px; }
.ib-hm-card-stats .fm { font-size: 9.5px; color: var(--text-muted); font-weight: 600; margin-top: 1px; }
.ib-hm-card-info {
  font-size: 10.5px; color: var(--text-muted); font-weight: 500;
  margin-top: 4px;
  display: flex; align-items: center; gap: 5px;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ib-hm-card-info i { font-size: 11px; }
.ib-hm-card-info .dv { color: var(--text-fade); }
.ib-hm-card-tag-row {
  display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center;
  margin-top: 6px; gap: 6px;
}
.ib-hm-card-niche {
  background: var(--primary-tint); color: var(--primary);
  font-size: 10px; font-weight: 700;
  padding: 3px 9px; border-radius: 999px;
  display: inline-flex; align-items: center; gap: 4px;
  white-space: nowrap;
}
.ib-hm-card-niche i { font-size: 11px; }
.ib-hm-card-plats { display: inline-flex; align-items: center; gap: 6px; }
.ib-hm-card-plats i { font-size: 13px; color: var(--text-muted); }
.ib-hm-card-prices {
  display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr; gap: 4px;
  margin-top: 8px;
}
.ib-hm-card-price { padding: 5px 4px; border-radius: 7px; min-width: 0; display: flex; flex-direction: column; }
.ib-hm-card-price.p { background: var(--accent-dark); color: #fff; padding: 5px 7px; }
.ib-hm-card-price.p .l { font-size: 8px; opacity: 0.85; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; }
.ib-hm-card-price.p .a { font-size: 13px; font-weight: 800; margin-top: 1px; letter-spacing: -0.3px; }
.ib-hm-card-price.s { background: var(--primary-soft); color: var(--primary); align-items: center; text-align: center; padding: 4px 2px; }
.ib-hm-card-price.s .l { font-size: 7.5px; font-weight: 700; opacity: 0.85; letter-spacing: 0.3px; text-transform: uppercase; }
.ib-hm-card-price.s .a { font-size: 10.5px; font-weight: 800; margin-top: 1px; letter-spacing: -0.2px; }
.ib-hm-card-actions {
  display: flex; align-items: center; gap: 5px;
  margin-top: 9px; padding-top: 8px; border-top: 1px solid var(--border);
}
.ib-hm-card-ico {
  width: 30px; height: 30px;
  background: var(--soft); border: 1px solid var(--border); border-radius: 8px;
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--text-muted); font-size: 14px; cursor: pointer; flex-shrink: 0;
  transition: all 0.15s;
}
.ib-hm-card-ico:hover { background: white; border-color: var(--text); color: var(--text); }
.ib-hm-card-book {
  flex: 1; background: var(--primary); color: #fff !important;
  border: none; height: 30px; border-radius: 8px;
  font-size: 12px; font-weight: 800; letter-spacing: 0.4px; text-transform: uppercase;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  transition: background 0.18s ease;
}
.ib-hm-card-book:hover { background: var(--primary-hover); }

/* Card filter state */
.ib-hm-card.is-filtered { display: none; }

/* Explore more CTA */
.ib-hm-explore {
  margin: clamp(28px, 3.5vw, 44px) auto 0;
  text-align: center;
}
.ib-hm-explore-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 14px 32px;
  background: var(--accent-dark);
  color: #ffffff !important;
  border-radius: 999px;
  font-family: var(--ib-body);
  font-size: 14.5px; font-weight: 700;
  letter-spacing: 0.3px;
  text-decoration: none !important;
  border: 1.5px solid transparent;
  box-shadow: 0 8px 24px rgba(26,15,21,0.22);
  transition: all 0.2s ease;
}
.ib-hm-explore-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(26,15,21,0.3);
  background: var(--primary);
  color: #ffffff !important;
}
.ib-hm-explore-btn i {
  width: 22px; height: 22px;
  background: #ffffff;
  color: var(--accent-dark);
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px;
}

/* Responsive */
@media (max-width: 1100px) { .ib-hm-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 768px)  { .ib-hm-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; } .ib-hm-cats { gap: 6px; } .ib-hm-cat { padding: 7px 12px; font-size: 12px; } }
@media (max-width: 480px)  { .ib-hm-grid { grid-template-columns: 1fr 1fr; } .ib-hm-card { padding: 8px; } .ib-hm-card-name .nm { font-size: 12.5px; } }

/* ───────────────────────────────────────────────────────────────────
 * HOW IT WORKS SECTION (always light bg — sits on bg-page)
 * ─────────────────────────────────────────────────────────────────── */
.ib-hiw {
  position: relative;
  background: var(--bg-page);
  padding: clamp(48px, 7vw, 110px) var(--ib-side-pad) clamp(56px, 8vw, 130px);
  overflow: hidden;
  color: var(--text);
}
.ib-hiw::before {
  content: ''; position: absolute;
  top: -200px; left: 50%; transform: translateX(-50%);
  width: 1200px; height: 600px;
  background: radial-gradient(ellipse, rgba(253,76,173,0.10), transparent 65%);
  pointer-events: none; z-index: 0;
}
.ib-hiw::after {
  content: ''; position: absolute;
  bottom: -100px; right: -100px;
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(255,184,0,0.07), transparent 60%);
  pointer-events: none; z-index: 0;
}
.ib-hiw-inner { position: relative; z-index: 1; max-width: 1480px; margin: 0 auto; }
.ib-hiw-header {
  display: grid; grid-template-columns: 1.15fr 1fr;
  gap: clamp(28px, 4vw, 72px);
  align-items: end;
  margin-bottom: clamp(36px, 5.5vw, 72px);
}
.ib-hiw-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 7px 14px 7px 8px;
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 999px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.4px;
  text-transform: uppercase; color: var(--text);
  margin-bottom: 22px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.ib-hiw-eyebrow .dot {
  width: 22px; height: 22px;
  background: var(--primary); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  color: white;
}
.ib-hiw-eyebrow .dot i { font-size: 12px; }
.ib-hiw-title {
  font-family: var(--ib-display);
  font-size: clamp(30px, 4vw, 58px);
  font-weight: 600; line-height: 1.02;
  letter-spacing: -2px; color: var(--text); max-width: 12ch;
}
.ib-hiw-title em {
  font-style: normal;
  background: linear-gradient(135deg, var(--primary), var(--gold));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-weight: 700; position: relative; white-space: nowrap;
}
.ib-hiw-title em::after {
  content: ''; position: absolute;
  bottom: 4px; left: 0; right: 0; height: 8px;
  background: var(--primary-soft); z-index: -1;
  border-radius: 2px; opacity: 0.6;
}
.ib-hiw-header-right { padding-bottom: 6px; }
.ib-hiw-lead {
  font-size: clamp(15px, 1.15vw, 18px); line-height: 1.55;
  color: var(--text-muted); margin-bottom: 24px; max-width: 48ch;
}
.ib-hiw-cta-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ib-hiw .ib-homer-btn { padding: 13px 22px; font-size: 14px; }
.ib-hiw .ib-homer-btn-ghost {
  background: var(--surface); color: var(--text); border: 1.5px solid var(--border);
}
.ib-hiw .ib-homer-btn-ghost:hover { border-color: var(--text); color: var(--text); }
.ib-hiw .ib-homer-btn-ghost .arrow {
  width: 18px; height: 18px;
  background: var(--text); color: white;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; font-size: 10px;
}

.ib-hiw-steps {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: 12px;
  position: relative;
}
.ib-hiw-step-1 { grid-column: span 7; }
.ib-hiw-step-2 { grid-column: span 5; }
.ib-hiw-step-3 { grid-column: span 5; }
.ib-hiw-step-4 { grid-column: span 7; }
.ib-hiw-step {
  position: relative; background: var(--surface);
  border: 1px solid var(--border); border-radius: 16px;
  padding: clamp(11px, 1.2vw, 16px);
  display: flex; flex-direction: column; gap: 7px;
  transition: all 0.25s ease;
  overflow: hidden; min-height: 200px;
}
.ib-hiw-step:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(26,15,21,0.08);
  border-color: var(--border-strong);
}
.ib-hiw-step-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
}
.ib-hiw-step-num {
  font-family: var(--ib-display);
  font-size: 11px; font-weight: 700;
  letter-spacing: 1.6px; color: var(--text-muted); text-transform: uppercase;
  display: inline-flex; align-items: center; gap: 6px;
}
.ib-hiw-step-num .bar { width: 18px; height: 2px; background: var(--primary); border-radius: 1px; }
.ib-hiw-step-tag {
  font-size: 9.5px; font-weight: 700;
  letter-spacing: 0.4px; text-transform: uppercase;
  padding: 4px 8px; border-radius: 999px;
  background: var(--soft); color: var(--text-muted);
}
.ib-hiw-step-tag.live {
  background: var(--green-soft); color: var(--green);
  display: inline-flex; align-items: center; gap: 5px;
}
.ib-hiw-step-tag.live::before {
  content: ''; width: 5px; height: 5px;
  background: var(--green); border-radius: 50%;
  animation: ibHiwPulse 2s ease infinite;
}
@keyframes ibHiwPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.9); }
}
.ib-hiw-step-title {
  font-family: var(--ib-display);
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 600; line-height: 1.15;
  letter-spacing: -0.4px; color: var(--text);
}
.ib-hiw-step-desc {
  font-size: clamp(11px, 0.75vw, 12px); line-height: 1.45;
  color: var(--text-muted); max-width: 38ch; margin-top: 3px;
}
.ib-hiw-step-mockup {
  margin-top: auto; position: relative;
  border-radius: 11px; overflow: hidden;
  flex: 1; min-height: 110px;
  display: flex; align-items: stretch;
}

/* Mockup 1 — Discover */
.ib-hiw-md {
  background: linear-gradient(180deg, var(--bg-page), var(--soft));
  border: 1px solid var(--border);
  padding: 12px;
  display: flex; flex-direction: column; gap: 9px;
}
.ib-hiw-md-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.ib-hiw-md-toggle {
  display: inline-flex; background: white;
  border: 1px solid var(--border); border-radius: 999px;
  padding: 3px; gap: 1px; box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.ib-hiw-md-toggle button {
  padding: 4px 10px; border-radius: 999px;
  background: transparent; border: none;
  font-size: 9px; font-weight: 700; color: var(--text-muted);
  cursor: pointer; display: inline-flex; align-items: center; gap: 4px;
  white-space: nowrap; font-family: var(--ib-body); letter-spacing: 0.2px;
}
.ib-hiw-md-toggle button i { font-size: 11px; }
.ib-hiw-md-toggle button.active { background: var(--accent-dark); color: white; }
.ib-hiw-md-toggle .ai-btn i {
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-hiw-md-count {
  font-size: 10px; font-weight: 600; color: var(--text-muted);
  display: inline-flex; align-items: center; gap: 5px; white-space: nowrap;
}
.ib-hiw-md-count b { color: var(--text); font-family: var(--ib-display); font-weight: 700; letter-spacing: -0.2px; }
.ib-hiw-md-count .ld {
  width: 5px; height: 5px; background: var(--green);
  border-radius: 50%; animation: ibHiwPulse 2s ease infinite; flex-shrink: 0;
}
.ib-hiw-md-pill {
  background: white; border: 1.5px solid transparent;
  background: linear-gradient(white, white) padding-box,
              linear-gradient(135deg, var(--gold), var(--primary-light)) border-box;
  border-radius: 999px;
  padding: 9px 9px 9px 16px;
  display: flex; align-items: center; gap: 10px;
  box-shadow: 0 2px 12px rgba(253,76,173,0.15);
}
.ib-hiw-md-pill .ai-spark {
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
  font-size: 14px;
}
.ib-hiw-md-pill .ph { flex: 1; font-size: 13px; color: var(--text-muted); font-weight: 500; }
.ib-hiw-md-pill .ph b { color: var(--text); font-weight: 700; }
.ib-hiw-md-pill .go {
  background: linear-gradient(135deg, var(--gold), var(--primary));
  color: white; width: 28px; height: 28px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; font-size: 13px;
}
.ib-hiw-md-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.ib-hiw-md-chip {
  font-size: 11px; font-weight: 700;
  padding: 6px 11px; border-radius: 999px;
  background: white; border: 1px solid var(--border); color: var(--text);
  display: inline-flex; align-items: center; gap: 5px;
}
.ib-hiw-md-chip i { font-size: 12px; color: var(--primary); }
.ib-hiw-md-chip.det {
  background: linear-gradient(135deg, var(--gold-soft), white);
  border-color: var(--gold);
}
.ib-hiw-md-chip.det i {
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}

/* Mini marketplace cards */
.ib-hiw-mc-row { display: grid; grid-template-columns: 1.4fr 1.4fr 1fr; gap: 6px; margin-top: 4px; }
.ib-hiw-mc {
  background: white; border-radius: 10px; padding: 5px;
  border: 1px solid var(--border);
  display: flex; flex-direction: column; min-width: 0;
  position: relative; transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.ib-hiw-mc:hover { transform: translateY(-2px); border-color: var(--border-strong); box-shadow: 0 10px 22px rgba(0,0,0,0.06); }
.ib-hiw-mc-photo {
  position: relative; aspect-ratio: 3 / 2; border-radius: 6px; overflow: hidden;
  background: linear-gradient(135deg, #f4e4ea, #f8d4cc);
  flex-shrink: 0; background-size: cover; background-position: center 25%; background-repeat: no-repeat;
}
.ib-hiw-mc-photo.ph1 { background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2568-bb61b25f8a28586265a58e702e6a7b97-3.jpg'), linear-gradient(135deg, #f4e4ea, #f8d4cc); }
.ib-hiw-mc-photo.ph2 { background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2564-6bdfb6dd5eef63ff53b19c6b6c58a930-3.jpg'), linear-gradient(135deg, #f4e4ea, #f8d4cc); }
.ib-hiw-mc-tier {
  position: absolute; top: 5px; right: 5px;
  background: var(--primary); color: white;
  font-size: 7px; font-weight: 700; letter-spacing: 0.4px;
  padding: 2px 7px; border-radius: 999px; text-transform: uppercase; z-index: 2;
}
.ib-hiw-mc-ai {
  position: absolute; top: 5px; left: 5px;
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  color: var(--accent-dark);
  font-size: 7.5px; font-weight: 800; letter-spacing: 0.3px;
  padding: 3px 8px 3px 6px; border-radius: 999px; z-index: 2;
  display: inline-flex; align-items: center; gap: 3px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}
.ib-hiw-mc-ai i { font-size: 9px; }
.ib-hiw-mc-name-row { display: flex; align-items: flex-start; justify-content: space-between; margin-top: 5px; gap: 4px; }
.ib-hiw-mc-name { display: flex; align-items: center; gap: 3px; min-width: 0; flex: 1; padding-top: 1px; }
.ib-hiw-mc-name .nm { font-size: 10.5px; font-weight: 700; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-hiw-mc-name i.vf { color: var(--verified-blue); font-size: 12px; flex-shrink: 0; }
.ib-hiw-mc-stats { text-align: right; flex-shrink: 0; line-height: 1.05; }
.ib-hiw-mc-stats .fn { font-family: var(--ib-display); font-size: 11px; font-weight: 700; color: var(--text); letter-spacing: -0.3px; }
.ib-hiw-mc-stats .fm { font-size: 7px; color: var(--text-muted); margin-top: 1px; font-weight: 600; display: inline-flex; align-items: center; gap: 2px; }
.ib-hiw-mc-stats .er { color: var(--green); font-weight: 700; display: inline-flex; align-items: center; gap: 1px; }
.ib-hiw-mc-stats .er i { font-size: 9px; }
.ib-hiw-mc-info { font-size: 8px; color: var(--text-muted); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 500; display: flex; align-items: center; gap: 3px; }
.ib-hiw-mc-info span { display: inline-flex; align-items: center; gap: 2px; flex-shrink: 0; }
.ib-hiw-mc-info i { font-size: 8.5px; }
.ib-hiw-mc-info .dv { color: var(--text-fade); flex-shrink: 0; }
.ib-hiw-mc-tag-row { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; margin-top: 3px; gap: 4px; }
.ib-hiw-mc-niche { background: var(--primary-tint); color: var(--primary); font-size: 8px; font-weight: 700; padding: 2px 7px; border-radius: 999px; display: inline-flex; align-items: center; gap: 3px; flex-shrink: 0; white-space: nowrap; }
.ib-hiw-mc-niche i { font-size: 9px; }
.ib-hiw-mc-plats { display: inline-flex; align-items: center; gap: 5px; }
.ib-hiw-mc-plats i { font-size: 11px; color: var(--text-muted); }
.ib-hiw-mc-brands { display: flex; gap: 2px; margin-top: 3px; align-items: center; flex-wrap: nowrap; overflow: hidden; }
.ib-hiw-mc-brand { background: var(--soft); border: 1px solid var(--border); border-radius: 999px; padding: 2px 6px; font-size: 7.5px; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 55px; flex-shrink: 1; }
.ib-hiw-mc-brand.more { background: var(--text); color: white; border: none; font-weight: 700; flex-shrink: 0; padding: 2px 6px; min-width: 22px; text-align: center; }
.ib-hiw-mc-prices { display: grid; grid-template-columns: 2.2fr 1fr 1fr 1fr; gap: 3px; margin-top: 4px; }
.ib-hiw-mc-price { padding: 4px; border-radius: 5px; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; }
.ib-hiw-mc-price.p { background: var(--accent-dark); color: white; padding: 4px 6px; }
.ib-hiw-mc-price.p .l { font-size: 7px; opacity: 0.85; font-weight: 700; letter-spacing: 0.4px; text-transform: uppercase; }
.ib-hiw-mc-price.p .a { font-size: 11px; font-weight: 800; margin-top: 1px; letter-spacing: -0.3px; }
.ib-hiw-mc-price.s { background: var(--primary-soft); color: var(--primary); align-items: center; text-align: center; padding: 3px 2px; }
.ib-hiw-mc-price.s .l { font-size: 6.5px; font-weight: 700; opacity: 0.85; letter-spacing: 0.3px; text-transform: uppercase; }
.ib-hiw-mc-price.s .a { font-size: 9px; font-weight: 800; margin-top: 1px; letter-spacing: -0.2px; }
.ib-hiw-mc-actions {
  display: flex !important; align-items: center; gap: 4px;
  margin-top: 6px; padding-top: 6px;
  visibility: visible !important; opacity: 1 !important;
}
.ib-hiw-mc-ico { width: 26px; height: 26px; background: var(--soft); border: 1px solid var(--border); border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; color: var(--text-muted); cursor: pointer; flex-shrink: 0; font-size: 12px; }
.ib-hiw-mc-ico.fav { background: var(--primary-soft); border-color: var(--primary); color: var(--primary); }
/* Book button — prominent so it's NEVER missed. Pink gradient, bigger
   height (was 22 px), bold uppercase label. Always visible — no
   hover-to-reveal trick. */
.ib-hiw-mc-book {
  flex: 1;
  background: var(--primary) !important;
  color: #ffffff !important;
  border: none !important;
  height: 26px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 800 !important;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex !important; align-items: center; justify-content: center; gap: 4px;
  visibility: visible !important; opacity: 1 !important;
  transition: all 0.18s ease;
}
.ib-hiw-mc-book::after {
  content: '\2192';  /* → arrow so the button reads as a CTA at a glance */
  margin-left: 2px;
  font-weight: 700;
}
.ib-hiw-mc-book:hover {
  background: var(--primary-hover) !important;
}
.ib-hiw-mc-explore {
  background: linear-gradient(160deg, var(--accent-dark), #2a1820);
  border-radius: 10px; padding: 14px 8px; color: white;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  text-align: center; position: relative; overflow: hidden; min-width: 0;
}
.ib-hiw-mc-explore::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 130px; height: 130px;
  background: radial-gradient(circle, rgba(253,76,173,0.35), transparent 65%);
  pointer-events: none;
}
.ib-hiw-mc-explore-ic { width: 24px; height: 24px; border-radius: 50%; background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.18); display: inline-flex; align-items: center; justify-content: center; font-size: 11px; color: var(--primary-light); margin-bottom: 4px; }
.ib-hiw-mc-explore-ct { font-family: var(--ib-display); font-size: 24px; font-weight: 800; letter-spacing: -1px; background: linear-gradient(135deg, var(--gold), var(--primary-light)); -webkit-background-clip: text; background-clip: text; color: transparent; line-height: 1; }
.ib-hiw-mc-explore-lb { font-size: 8px; font-weight: 700; color: rgba(255,255,255,0.6); letter-spacing: 0.4px; text-transform: uppercase; margin-top: 1px; }
.ib-hiw-mc-explore-cta { margin-top: 10px; background: var(--primary); color: white; font-size: 8.5px; font-weight: 800; padding: 5px 9px; border-radius: 999px; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; letter-spacing: 0.2px; text-transform: uppercase; }

/* Mockup 2 — Checkout */
.ib-hiw-co {
  background: white; border: 1px solid var(--border);
  padding: 11px; display: flex; flex-direction: column; gap: 6px; position: relative;
  justify-content: flex-start;
}
.ib-hiw-co > * + * { margin-top: 0; }
.ib-hiw-co::before {
  content: ''; position: absolute; top: -40px; right: -40px;
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(226,16,88,0.10), transparent 65%);
  pointer-events: none;
}
.ib-hiw-co-camp {
  border: 1.5px dashed var(--primary-light); border-radius: 10px;
  padding: 7px 9px; display: flex; align-items: center; gap: 7px;
  background: var(--primary-soft); position: relative; z-index: 2;
}
.ib-hiw-co-camp .tag { font-size: 8.5px; font-weight: 800; color: var(--primary); letter-spacing: 0.6px; text-transform: uppercase; background: white; padding: 3px 7px; border-radius: 5px; flex-shrink: 0; }
.ib-hiw-co-camp .nm { font-size: 11px; font-weight: 700; color: var(--text); flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-hiw-co-camp .bg { font-family: var(--ib-display); font-size: 12px; font-weight: 700; color: var(--primary); flex-shrink: 0; }
.ib-hiw-co-lbl { font-size: 8.5px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: var(--text-muted); margin-top: 2px; position: relative; z-index: 2; }
.ib-hiw-co-list { display: flex; flex-direction: column; gap: 4px; position: relative; z-index: 2; }
.ib-hiw-co-item { display: flex; align-items: center; gap: 8px; padding: 6px 9px; border: 1px solid var(--border); border-radius: 8px; background: white; transition: all 0.18s; }
.ib-hiw-co-item.sel { border-color: var(--primary); background: var(--primary-soft); }
.ib-hiw-co-item.bdl { background: var(--accent-dark); border-color: var(--accent-dark); }
.ib-hiw-co-chk { width: 14px; height: 14px; border-radius: 4px; border: 1.5px solid var(--border-strong); flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; background: white; }
.ib-hiw-co-item.sel .ib-hiw-co-chk { background: var(--primary); border-color: var(--primary); color: white; }
.ib-hiw-co-item.bdl .ib-hiw-co-chk { background: var(--gold); border-color: var(--gold); color: var(--accent-dark); }
.ib-hiw-co-chk i { font-size: 9px; }
.ib-hiw-co-nm { font-size: 11px; font-weight: 700; color: var(--text); flex: 1; display: flex; align-items: center; gap: 5px; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ib-hiw-co-item.bdl .ib-hiw-co-nm { color: white; }
.ib-hiw-co-nm .save { font-size: 8px; font-weight: 800; color: var(--accent-dark); background: var(--gold); padding: 2px 5px; border-radius: 4px; letter-spacing: 0.3px; }
.ib-hiw-co-pr { font-family: var(--ib-display); font-size: 12.5px; font-weight: 700; letter-spacing: -0.3px; color: var(--text); flex-shrink: 0; }
.ib-hiw-co-item.bdl .ib-hiw-co-pr { color: var(--gold); }
.ib-hiw-co-pr del { color: var(--text-fade); font-size: 9.5px; margin-right: 3px; font-weight: 600; }
.ib-hiw-co-item.bdl .ib-hiw-co-pr del { color: rgba(255,255,255,0.4); }
.ib-hiw-co-brief {
  flex: 1;                /* expand to fill empty space — no awkward gap */
  display: flex; flex-direction: column;
  margin-top: 4px;
  border: 1px solid var(--border); border-radius: 9px;
  padding: 6px;
  background: var(--soft);
  position: relative; z-index: 2;
}
.ib-hiw-co-brief .ib-hiw-co-line {
  flex: 1; display: flex; align-items: center;
}
.ib-hiw-co-tabs { display: flex; gap: 3px; margin-bottom: 5px; }
.ib-hiw-co-tab { flex: 1; font-size: 9px; font-weight: 700; padding: 4px 5px; border-radius: 5px; text-align: center; color: var(--text-muted); background: white; border: 1px solid var(--border); display: inline-flex; align-items: center; justify-content: center; gap: 3px; }
.ib-hiw-co-tab i { font-size: 10px; }
.ib-hiw-co-tab.active { background: var(--primary); color: white; border-color: var(--primary); }
.ib-hiw-co-tab.ai { background: linear-gradient(135deg, var(--gold-soft), white); border-color: var(--gold); color: var(--text); }
.ib-hiw-co-tab.ai i { color: var(--primary); }
.ib-hiw-co-line { background: white; border-radius: 5px; padding: 6px 7px; font-size: 10px; color: var(--text-muted); font-weight: 500; line-height: 1.35; font-style: italic; }
.ib-hiw-co-line b { color: var(--text); font-style: normal; font-weight: 700; }

/* AI-generated script block — multi-line script that fills the
   empty space in the Step 2 checkout card. Looks like a ChatGPT
   output: shot-by-shot timing with timestamps + bold beats. */
.ib-hiw-co-script {
  flex: 1;
  display: flex; flex-direction: column;
  background: linear-gradient(180deg, #fff8e6 0%, #ffffff 50%);
  border-radius: 6px;
  padding: 7px 8px;
  border: 1px dashed rgba(255,184,0,0.5);
  overflow: hidden;
}
.ib-hiw-co-script-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 5px;
  padding-bottom: 4px;
  border-bottom: 1px dashed rgba(255,184,0,0.3);
}
.ib-hiw-co-script-head .badge {
  display: inline-flex; align-items: center; gap: 3px;
  font-size: 8px; font-weight: 800;
  letter-spacing: 0.5px; text-transform: uppercase;
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-hiw-co-script-head .badge i {
  font-size: 10px;
  background: linear-gradient(135deg, var(--gold), var(--primary-light));
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.ib-hiw-co-script-head .model {
  font-size: 8px; font-weight: 700;
  color: var(--text-muted);
  letter-spacing: 0.4px;
  background: rgba(0,0,0,0.04);
  padding: 2px 5px; border-radius: 4px;
}
.ib-hiw-co-script-body {
  display: flex; flex-direction: column;
  gap: 6px;
  font-size: 10px;
  line-height: 1.4;
  color: var(--text);
  flex: 1;
  overflow: hidden;
}

/* Systematic script format — scene header on top (label + duration)
   then a description line. Reads like a real screenwriting beat. */
.ib-hiw-co-script-body.script-systematic .scene {
  display: flex; flex-direction: column; gap: 1px;
  padding-bottom: 4px;
  border-bottom: 1px dotted rgba(0,0,0,0.06);
}
.ib-hiw-co-script-body.script-systematic .scene:last-child {
  border-bottom: none; padding-bottom: 0;
}
.ib-hiw-co-script-body.script-systematic .scene-head {
  display: flex; align-items: center; gap: 6px;
}
.ib-hiw-co-script-body.script-systematic .scene-head .lbl {
  font-family: var(--ib-display);
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 1.2px;
  color: var(--primary);
}
.ib-hiw-co-script-body.script-systematic .scene-head .dur {
  font-size: 8px;
  font-weight: 700;
  color: var(--text-muted);
  background: rgba(0,0,0,0.05);
  padding: 1px 5px;
  border-radius: 3px;
  letter-spacing: 0.3px;
}
.ib-hiw-co-script-body.script-systematic .scene-line {
  font-size: 10px;
  color: var(--text);
  font-weight: 500;
  line-height: 1.35;
  padding-left: 1px;
}
.ib-hiw-co-script-body.script-systematic .scene-line b.code {
  display: inline-block;
  background: var(--accent-dark);
  color: #fff;
  font-family: var(--ib-display);
  letter-spacing: 0.6px;
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 9.5px;
  font-weight: 800;
  margin: 0 1px;
}
.ib-hiw-co-cta-row { display: flex; align-items: center; justify-content: space-between; gap: 9px; position: relative; z-index: 2; }
.ib-hiw-co-total { display: flex; flex-direction: column; line-height: 1; flex-shrink: 0; }
.ib-hiw-co-total .l { font-size: 8.5px; font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: var(--text-muted); }
.ib-hiw-co-total .a { font-family: var(--ib-display); font-size: 17px; font-weight: 700; letter-spacing: -0.5px; color: var(--text); margin-top: 3px; }
.ib-hiw-co-buy { flex: 1; background: linear-gradient(135deg, var(--primary), var(--primary-light)); color: white; padding: 9px 12px; border-radius: 8px; font-size: 11.5px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; gap: 5px; white-space: nowrap; }
.ib-hiw-co-buy i { font-size: 12px; }

/* Mockup 3 — Chat */
.ib-hiw-ch {
  background: var(--pista); padding: 11px;
  display: flex; flex-direction: column; gap: 7px; position: relative;
}
.ib-hiw-ch::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 20% 80%, rgba(37,183,94,0.1), transparent 40%),
              radial-gradient(circle at 80% 20%, rgba(255,255,255,0.3), transparent 50%);
  pointer-events: none;
}
.ib-hiw-ch-head {
  position: relative; z-index: 2;
  display: flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,0.7); backdrop-filter: blur(8px);
  border-radius: 12px; padding: 7px 10px;
}
.ib-hiw-ch-av {
  width: 34px; height: 34px; border-radius: 50%;
  background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2568-bb61b25f8a28586265a58e702e6a7b97-3.jpg'),
                    linear-gradient(135deg, var(--primary-light), var(--gold));
  background-size: cover; background-position: center 30%;
  position: relative; flex-shrink: 0;
}
.ib-hiw-ch-av::after {
  content: ''; position: absolute; bottom: 0; right: 0;
  width: 9px; height: 9px;
  background: var(--green); border: 2px solid white; border-radius: 50%;
}
.ib-hiw-ch-info { flex: 1; min-width: 0; }
.ib-hiw-ch-info .nm { font-size: 12px; font-weight: 700; color: var(--green-dark); display: flex; align-items: center; gap: 4px; }
.ib-hiw-ch-info .nm i { color: var(--verified-blue); font-size: 13px; }
.ib-hiw-ch-info .st { font-size: 10px; color: var(--green); font-weight: 700; letter-spacing: 0.3px; }
.ib-hiw-ch-more { width: 26px; height: 26px; border-radius: 50%; background: rgba(0,0,0,0.05); display: flex; align-items: center; justify-content: center; color: var(--green-dark); font-size: 13px; }
.ib-hiw-ch-bubbles { position: relative; z-index: 2; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.ib-hiw-ch-b { max-width: 78%; padding: 6px 11px; border-radius: 13px; font-size: 11.5px; line-height: 1.35; font-weight: 500; position: relative; }
.ib-hiw-ch-b.them { align-self: flex-start; background: white; color: var(--green-dark); border-bottom-left-radius: 4px; }
.ib-hiw-ch-b.me { align-self: flex-end; background: var(--green); color: white; border-bottom-right-radius: 4px; font-weight: 600; }
.ib-hiw-ch-dl { align-self: flex-start; max-width: 82%; background: white; border: 1.5px solid var(--border); border-radius: 12px; overflow: hidden; font-size: 10px; }
.ib-hiw-ch-dl-h { background: var(--primary-tint); padding: 5px 10px; font-size: 8px; font-weight: 800; color: var(--primary); letter-spacing: 0.4px; text-transform: uppercase; display: flex; align-items: center; gap: 4px; }
.ib-hiw-ch-dl-h i { font-size: 11px; }
.ib-hiw-ch-dl-pv {
  position: relative;
  background: linear-gradient(135deg, rgba(226,16,88,0.15), rgba(255,184,0,0.15)),
              url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2568-bb61b25f8a28586265a58e702e6a7b97-3.jpg');
  background-size: cover; background-position: center 25%;
  aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center;
}
.ib-hiw-ch-dl-pv::before { content: ''; position: absolute; inset: 0; background: rgba(0,0,0,0.25); }
.ib-hiw-ch-dl-pv i { position: relative; z-index: 2; width: 28px; height: 28px; background: rgba(255,255,255,0.95); color: var(--accent-dark); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; padding-left: 1px; }
.ib-hiw-ch-dl-meta { padding: 5px 10px 2px; line-height: 1.2; }
.ib-hiw-ch-dl-nm { font-size: 10px; font-weight: 700; color: var(--green-dark); }
.ib-hiw-ch-dl-info { font-size: 8px; color: var(--text-muted); font-weight: 600; margin-top: 1px; }
.ib-hiw-ch-dl-act { display: flex; gap: 4px; padding: 5px 8px 8px; }
.ib-hiw-ch-dl-act button { flex: 1; font-size: 9px; font-weight: 700; padding: 5px 6px; border-radius: 5px; border: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 3px; font-family: var(--ib-body); }
.ib-hiw-ch-dl-act button i { font-size: 11px; }
.ib-hiw-ch-dl-act .rv { background: var(--gold-soft); color: #5A4200; }
.ib-hiw-ch-dl-act .ap { background: var(--green); color: white; }
.ib-hiw-ch-sys { align-self: center; background: var(--green-soft); color: var(--green-dark); font-size: 9.5px; font-weight: 600; padding: 5px 11px; border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; margin-top: 2px; border: 1px solid rgba(37,183,94,0.25); }
.ib-hiw-ch-sys i { color: var(--green); font-size: 12px; }
.ib-hiw-ch-sys b { font-family: var(--ib-display); font-weight: 700; }

/* Mockup 4 — Analytics */
.ib-hiw-an { background: linear-gradient(180deg, white, var(--soft)); border: 1px solid var(--border); padding: 10px; display: flex; flex-direction: column; gap: 7px; }
.ib-hiw-an-top { display: flex; align-items: center; justify-content: space-between; }
.ib-hiw-an-title { font-family: var(--ib-display); font-size: 13px; font-weight: 700; color: var(--text); display: flex; align-items: center; gap: 7px; }
.ib-hiw-an-title i { color: var(--primary); font-size: 14px; }
.ib-hiw-an-range { font-size: 10px; font-weight: 700; color: var(--text-muted); background: white; border: 1px solid var(--border); padding: 4px 9px; border-radius: 999px; display: inline-flex; align-items: center; gap: 4px; }
.ib-hiw-an-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.ib-hiw-an-tile { background: white; border: 1px solid var(--border); border-radius: 9px; padding: 7px 8px; position: relative; }
.ib-hiw-an-tile .l { font-size: 8.5px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: var(--text-muted); }
.ib-hiw-an-tile .v { font-family: var(--ib-display); font-size: 16px; font-weight: 700; letter-spacing: -0.5px; color: var(--text); margin-top: 2px; line-height: 1; }
.ib-hiw-an-tile .d { font-size: 9px; font-weight: 700; color: var(--green); margin-top: 3px; display: inline-flex; align-items: center; gap: 2px; }
.ib-hiw-an-tile .d i { font-size: 10px; }
.ib-hiw-an-tile.p { background: linear-gradient(135deg, var(--accent-dark), #2a1820); border-color: var(--accent-dark); }
.ib-hiw-an-tile.p .l { color: rgba(255,255,255,0.6); }
.ib-hiw-an-tile.p .v { background: linear-gradient(135deg, var(--gold), var(--primary-light)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ib-hiw-an-tile.p .d { color: var(--green-bright); }
.ib-hiw-an-chart { background: white; border: 1px solid var(--border); border-radius: 11px; padding: 7px 10px; position: relative; flex: 1; min-height: 55px; display: flex; flex-direction: column; gap: 3px; }
.ib-hiw-an-chart-h { display: flex; align-items: center; justify-content: space-between; font-size: 10px; font-weight: 700; color: var(--text-muted); letter-spacing: 0.4px; text-transform: uppercase; }
.ib-hiw-an-chart-h .lv { display: inline-flex; align-items: center; gap: 5px; background: var(--green-soft); color: var(--green); padding: 3px 8px; border-radius: 999px; font-size: 9px; text-transform: uppercase; }
.ib-hiw-an-chart-h .lv::before { content: ''; width: 5px; height: 5px; background: var(--green); border-radius: 50%; animation: ibHiwPulse 2s ease infinite; }
.ib-hiw-an-svg { flex: 1; width: 100%; height: 100%; }

/* HIW footer strip */
.ib-hiw-footer {
  margin-top: clamp(28px, 4vw, 44px);
  background: var(--accent-dark); color: white;
  border-radius: 18px;
  padding: clamp(18px, 2.4vw, 26px) clamp(22px, 3.2vw, 38px);
  display: flex; align-items: center; justify-content: space-between;
  gap: clamp(18px, 2.6vw, 36px); flex-wrap: wrap;
  position: relative; overflow: hidden;
}
.ib-hiw-footer::before {
  content: ''; position: absolute; top: -100px; right: -100px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(253,76,173,0.18), transparent 60%);
  pointer-events: none;
}
.ib-hiw-footer-l { display: flex; align-items: center; gap: 18px; position: relative; z-index: 2; }
.ib-hiw-footer-avs { display: flex; align-items: center; }
.ib-hiw-footer-av { width: 38px; height: 38px; border-radius: 50%; border: 2.5px solid var(--accent-dark); background-size: cover; background-position: center 30%; flex-shrink: 0; background-image: linear-gradient(135deg, var(--primary-light), var(--gold)); }
.ib-hiw-footer-av:not(:first-child) { margin-left: -12px; }
.ib-hiw-footer-av.a1 { background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2568-bb61b25f8a28586265a58e702e6a7b97-3.jpg'); }
.ib-hiw-footer-av.a2 { background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2566-5df0aa36cad9d7a26b20e71b0a694506-3.jpg'); }
.ib-hiw-footer-av.a3 { background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/creator-2564-6bdfb6dd5eef63ff53b19c6b6c58a930-3.jpg'); }
.ib-hiw-footer-av.a4 { background-image: url('https://www.influencersbazaar.com/wp-content/uploads/2026/05/515504996_18074449766493868_1137458460055342631_n-400x400.jpg'); }
.ib-hiw-footer-av.more { background: var(--primary); display: flex; align-items: center; justify-content: center; font-family: var(--ib-display); font-weight: 700; font-size: 12px; color: white; }
.ib-hiw-footer-text { font-size: clamp(15px, 1.3vw, 18px); font-weight: 600; line-height: 1.3; color: white; max-width: 36ch; }
.ib-hiw-footer-text b { font-family: var(--ib-display); font-weight: 700; color: var(--gold); }
.ib-hiw-footer-r { display: flex; align-items: center; gap: 12px; position: relative; z-index: 2; }
.ib-hiw-footer-stars { display: flex; flex-direction: column; align-items: flex-end; }
.ib-hiw-footer-stars .st { display: flex; gap: 1px; color: var(--gold); font-size: 14px; }
.ib-hiw-footer-stars .lb { font-size: 11px; color: rgba(255,255,255,0.7); font-weight: 600; letter-spacing: 0.3px; margin-top: 3px; }
.ib-hiw-footer-stars .lb b { color: white; font-family: var(--ib-display); }
.ib-hiw-footer-cta,
a.ib-hiw-footer-cta {
  background: #ffffff !important;
  color: #1a0f15 !important;            /* var(--accent-dark) — force dark text on white */
  padding: 13px 22px; border-radius: 999px;
  font-weight: 700 !important; font-size: 14px;
  display: inline-flex !important; align-items: center; gap: 8px;
  text-decoration: none !important;
  border: 1.5px solid transparent;
  transition: all 0.18s ease;
}
.ib-hiw-footer-cta:hover {
  background: var(--gold) !important;
  transform: translateY(-2px);
  color: #1a0f15 !important;
}
.ib-hiw-footer-cta i {
  width: 20px; height: 20px;
  background: var(--primary) !important;
  color: #ffffff !important;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 11px;
}

/* HIW responsive */
@media (max-width: 899px) {
  .ib-hiw-header { grid-template-columns: 1fr; gap: 22px; align-items: start; }
  .ib-hiw-steps { grid-template-columns: 1fr 1fr; }
  .ib-hiw-step-1, .ib-hiw-step-2, .ib-hiw-step-3, .ib-hiw-step-4 { grid-column: span 1; }
}
@media (max-width: 600px) {
  .ib-hiw-steps { grid-template-columns: 1fr; }
  .ib-hiw-step-1, .ib-hiw-step-2, .ib-hiw-step-3, .ib-hiw-step-4 { grid-column: 1 / -1; }
  .ib-hiw-mc-row { grid-template-columns: 1fr 1fr; }
}
