:root {
  --bg-main: #060b15;
  --bg-soft: #0b1220;
  --card: #101a2e;
  --line: rgba(130, 167, 222, 0.25);
  --text: #f5fbff;
  --muted: #b2c8e8;
  --bull: #1bf08a;
  --bull-strong: #13d472;
  --bear: #ff4d6d;
  --info: #41a8ff;
  --warn: #ffd54d;
  --gold: #e8c774;
  --gold-strong: #f5d88e;
  --neon-soft: rgba(27, 240, 138, 0.22);
  --neon-strong: rgba(65, 168, 255, 0.34);
}

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Inter", sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 0%, rgba(27, 240, 138, 0.14), transparent 26%),
    radial-gradient(circle at 95% 0%, rgba(65, 168, 255, 0.16), transparent 30%),
    linear-gradient(165deg, #060b15, #0b1220 45%, #090f1b);
  min-height: 100vh;
}

.trading-bg {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  opacity: 0.28;
}

.screen {
  position: absolute;
  border: 1px solid rgba(65, 168, 255, 0.35);
  border-radius: 10px;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(65, 168, 255, 0.08),
      rgba(65, 168, 255, 0.08) 1px,
      transparent 1px,
      transparent 14px
    ),
    linear-gradient(135deg, rgba(27, 240, 138, 0.14), rgba(65, 168, 255, 0.1));
  box-shadow: inset 0 0 30px rgba(11, 26, 47, 0.8);
}

.screen::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 25%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(27, 240, 138, 0.9), transparent);
  transform: rotate(-12deg);
}

.s1 {
  width: 260px;
  height: 150px;
  top: 8%;
  left: 2%;
}

.s2 {
  width: 280px;
  height: 170px;
  top: 14%;
  right: 4%;
}

.s3 {
  width: 210px;
  height: 130px;
  top: 42%;
  left: 4%;
}

.s4 {
  width: 250px;
  height: 150px;
  top: 46%;
  right: 2%;
}

.s5 {
  width: 300px;
  height: 170px;
  bottom: 6%;
  left: 14%;
}

.s6 {
  width: 240px;
  height: 140px;
  bottom: 9%;
  right: 12%;
}

.promo-bar {
  height: 38px;
  border-bottom: 1px solid rgba(27, 240, 138, 0.4);
  background: linear-gradient(90deg, rgba(10, 40, 24, 0.88), rgba(9, 21, 38, 0.88));
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 0.86rem;
}

.promo-bar p {
  margin: 0;
  color: var(--muted);
}

.promo-bar a {
  color: var(--bull);
  text-decoration: none;
  font-weight: 700;
}

.site-header {
  width: min(1240px, 93%);
  margin: 12px auto 0;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(8, 13, 24, 0.86);
  backdrop-filter: blur(8px);
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.brand-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.brand-logo {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(65, 168, 255, 0.4);
}

.brand-text strong {
  display: block;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.8px;
}

.brand-text span {
  color: var(--muted);
  font-size: 0.72rem;
}

.header-center {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.search-wrap input {
  width: 210px;
  background: #070d18;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 9px 12px;
  font-size: 0.82rem;
}

.main-nav {
  display: flex;
  align-items: center;
}

.main-nav .menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 14px;
}

.main-nav li {
  margin: 0;
  padding: 0;
}

.main-nav a {
  color: #d0e5ff;
  text-decoration: none;
  font-size: 0.84rem;
  padding: 6px 0;
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.main-nav a:hover {
  color: var(--text);
  border-color: var(--bull);
}

.main-nav a.active {
  color: var(--text);
  border-color: var(--bull);
}

.main-nav .current-menu-item > a,
.main-nav .current_page_item > a,
.main-nav .current-menu-ancestor > a {
  color: var(--text);
  border-color: var(--bull);
}

.header-actions {
  display: flex;
  gap: 8px;
}

.menu-btn {
  display: none;
  background: transparent;
  color: var(--text);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 8px 10px;
}

.btn {
  position: relative;
  border: none;
  border-radius: 999px;
  padding: 10px 14px;
  background: linear-gradient(100deg, var(--bull), var(--info));
  color: #051322;
  text-decoration: none;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
  box-shadow: 0 10px 26px rgba(27, 240, 138, 0.25);
}

.btn::before {
  content: "";
  position: absolute;
  inset: -2px;
  border-radius: 999px;
  background: radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.32), transparent 58%);
  z-index: -1;
}

.btn:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
}

.btn-ghost {
  border: 1px solid rgba(130, 167, 222, 0.45);
  background: transparent;
  color: var(--text);
  box-shadow: none;
}

main {
  width: min(1240px, 93%);
  margin: 22px auto 70px;
}

.hero,
.market,
.tracks,
.services,
.edge,
.brokers,
.proof,
.plans,
.cart,
.campus,
.academy {
  border: 1px solid var(--line);
  border-radius: 24px;
  background: linear-gradient(170deg, rgba(15, 26, 45, 0.96), rgba(8, 13, 24, 0.95));
}

.hero {
  padding: 34px;
  display: grid;
  grid-template-columns: 1.3fr 0.9fr;
  gap: 18px;
}

.eyebrow {
  margin: 0;
  font-size: 0.74rem;
  letter-spacing: 2px;
  color: var(--bull);
}

h1 {
  margin: 10px 0 0;
  font-family: "Rajdhani", sans-serif;
  font-size: clamp(2.1rem, 5.8vw, 4.1rem);
  line-height: 0.95;
  text-transform: uppercase;
}

h1 span {
  color: var(--info);
}

.hero-content p {
  max-width: 740px;
  color: var(--muted);
  line-height: 1.65;
}

.hero-actions {
  margin-top: 16px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.hero-panel {
  border: 1px solid rgba(65, 168, 255, 0.4);
  border-radius: 16px;
  padding: 14px;
  background: rgba(7, 13, 24, 0.8);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.panel-title {
  margin: 0;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.1rem;
  color: var(--info);
}

.hero-metrics {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.hero-metrics article {
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
  background: var(--bg-soft);
}

.hero-metrics span {
  display: block;
  color: var(--muted);
  font-size: 0.78rem;
}

.hero-metrics h3 {
  margin: 6px 0 0;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.5rem;
}

.desk-live-widget {
  margin-top: auto;
  border: 1px solid rgba(130, 167, 222, 0.34);
  border-radius: 16px;
  background: linear-gradient(165deg, rgba(10, 18, 32, 0.95), rgba(9, 22, 40, 0.9));
  padding: 10px;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.14), 0 0 20px rgba(65, 168, 255, 0.08);
}

.desk-live-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  color: #d8ebff;
  font-size: 0.86rem;
}

.live-ping {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bull);
  box-shadow: 0 0 0 4px rgba(27, 240, 138, 0.18);
  animation: pulse 1.4s infinite;
}

.mini-candles {
  margin-top: 10px;
  height: 76px;
  border: 1px solid rgba(65, 168, 255, 0.2);
  border-radius: 12px;
  padding: 10px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(65, 168, 255, 0.06),
      rgba(65, 168, 255, 0.06) 1px,
      transparent 1px,
      transparent 12px
    ),
    #091425;
}

.candle {
  width: 8%;
  border-radius: 4px;
  position: relative;
  animation: candleFloat 2.2s ease-in-out infinite;
}

.candle::before {
  content: "";
  position: absolute;
  width: 2px;
  top: -8px;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.75;
}

.candle.up {
  background: linear-gradient(180deg, #33f3a1, #11b96a);
  box-shadow: 0 0 10px rgba(27, 240, 138, 0.45);
}

.candle.up::before {
  background: rgba(27, 240, 138, 0.9);
}

.candle.down {
  background: linear-gradient(180deg, #ff7891, #ff4d6d);
  box-shadow: 0 0 10px rgba(255, 77, 109, 0.4);
}

.candle.down::before {
  background: rgba(255, 77, 109, 0.85);
}

.candle.h1 { height: 30%; animation-delay: 0.1s; }
.candle.h2 { height: 44%; animation-delay: 0.25s; }
.candle.h3 { height: 58%; animation-delay: 0.4s; }
.candle.h4 { height: 70%; animation-delay: 0.55s; }
.candle.h5 { height: 82%; animation-delay: 0.7s; }

.desk-price-row {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.desk-price-row span {
  border: 1px solid rgba(130, 167, 222, 0.26);
  border-radius: 10px;
  padding: 7px;
  background: rgba(6, 13, 24, 0.9);
  color: #bfd5f6;
  font-size: 0.76rem;
}

.desk-price-row strong {
  display: block;
  margin-top: 2px;
  color: #f6fcff;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.04rem;
}

.market,
.tracks,
.services,
.edge,
.brokers,
.proof,
.plans,
.cart,
.campus,
.academy {
  margin-top: 18px;
  padding: 30px;
}

.section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 8px;
}

h2 {
  margin: 8px 0 0;
  font-family: "Rajdhani", sans-serif;
  font-size: clamp(1.55rem, 4vw, 2.5rem);
  color: #ffffff;
  font-weight: 700;
  text-shadow: 0 0 18px rgba(65, 168, 255, 0.15);
}

h1 {
  color: #ffffff;
}

h3 {
  color: #f7fcff;
}

.live-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: 0.82rem;
}

.live-pill span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bull);
  box-shadow: 0 0 0 5px rgba(27, 240, 138, 0.2);
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(1.3);
    opacity: 0.4;
  }
}

.ticker-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.market-layout {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1.4fr 0.6fr;
  gap: 10px;
}

.orderbook {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #0b1324;
  padding: 10px;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.09);
}

.orderbook h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.order-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-bottom: 4px;
  font-size: 0.8rem;
}

.order-row .bid {
  color: var(--bull);
}

.order-row .ask {
  color: #ff9eb1;
  text-align: right;
}

.ticker-card {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #0b1324;
  padding: 12px;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.09), 0 0 0 rgba(0, 0, 0, 0);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.ticker-card:hover {
  transform: translateY(-3px);
  border-color: rgba(27, 240, 138, 0.48);
  box-shadow:
    inset 0 0 0 1px rgba(27, 240, 138, 0.18),
    0 0 18px rgba(27, 240, 138, 0.16);
}

.ticker-card p {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
}

.ticker-card strong {
  display: block;
  margin-top: 6px;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.3rem;
}

.ticker-card span {
  font-weight: 700;
  font-size: 0.84rem;
}

.up {
  color: var(--bull);
}

.down {
  color: var(--bear);
}

.neutral {
  color: var(--warn);
}

.chart-box {
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px;
  background: #071022;
}

.chart-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

.chart-controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
}

.chart-top p {
  margin: 0;
  color: var(--muted);
}

.chip-row {
  display: flex;
  gap: 8px;
}

.chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--text);
  padding: 6px 10px;
  cursor: pointer;
}

.chip.active {
  background: rgba(27, 240, 138, 0.17);
  border-color: rgba(27, 240, 138, 0.75);
}

.tf-row {
  display: flex;
  gap: 6px;
}

.tf-chip {
  border: 1px solid rgba(130, 167, 222, 0.35);
  border-radius: 999px;
  background: rgba(8, 17, 31, 0.85);
  color: #d2e5ff;
  padding: 5px 9px;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 700;
  transition: all 0.2s ease;
}

.tf-chip.active {
  border-color: rgba(232, 199, 116, 0.75);
  background: linear-gradient(100deg, rgba(232, 199, 116, 0.2), rgba(65, 168, 255, 0.25));
  color: #fff8e6;
  box-shadow: 0 0 14px rgba(232, 199, 116, 0.2);
}

#marketChart {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin-top: 10px;
  border: 1px solid rgba(65, 168, 255, 0.3);
  background: linear-gradient(180deg, #0a1220, #070d18);
}

.tracks-head p {
  margin: 8px 0 0;
  color: #bed4f3;
  max-width: 920px;
  line-height: 1.75;
}

.tracks-showcase {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) 52px;
  gap: 12px;
  align-items: stretch;
}

.tracks-nav-btn {
  align-self: stretch;
}

.track-feature {
  position: relative;
  border: 1px solid rgba(130, 167, 222, 0.32);
  border-radius: 24px;
  padding: 22px;
  background:
    radial-gradient(circle at 80% 10%, rgba(65, 168, 255, 0.14), transparent 35%),
    repeating-linear-gradient(
      0deg,
      rgba(65, 168, 255, 0.05),
      rgba(65, 168, 255, 0.05) 1px,
      transparent 1px,
      transparent 16px
    ),
    linear-gradient(150deg, rgba(8, 16, 30, 0.96), rgba(9, 18, 34, 0.94));
  box-shadow:
    inset 0 0 0 1px rgba(65, 168, 255, 0.1),
    0 16px 32px rgba(4, 10, 20, 0.58);
  transition: border-color 0.28s ease, box-shadow 0.28s ease, transform 0.28s ease, opacity 0.28s ease;
}

.track-feature.is-switching {
  opacity: 0.55;
  transform: translateY(4px);
}

.track-feature:focus-visible {
  outline: 2px solid rgba(232, 199, 116, 0.75);
  outline-offset: 2px;
}

.track-feature-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.track-pill {
  border: 1px solid rgba(232, 199, 116, 0.55);
  border-radius: 999px;
  padding: 5px 10px;
  background: linear-gradient(100deg, rgba(232, 199, 116, 0.2), rgba(65, 168, 255, 0.12));
  color: #fff3cf;
  font-size: 0.78rem;
  font-weight: 700;
}

.track-pill.soft {
  border-color: rgba(130, 167, 222, 0.35);
  background: rgba(12, 22, 38, 0.85);
  color: #c8defc;
}

.track-feature h3 {
  margin: 12px 0 0;
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
}

.track-hook {
  margin: 8px 0 0;
  color: #ecda9e;
  font-weight: 700;
  font-size: 1.03rem;
}

.track-feature > p {
  margin: 10px 0 0;
  color: #c4daf8;
  line-height: 1.75;
}

.track-tags {
  margin-top: 12px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.track-tag {
  border: 1px solid rgba(27, 240, 138, 0.44);
  border-radius: 999px;
  padding: 4px 9px;
  color: #d8ffe9;
  background: rgba(27, 240, 138, 0.12);
  font-size: 0.74rem;
  font-weight: 700;
}

.track-ideal {
  margin: 10px 0 0;
  color: #e9f2ff;
  font-size: 0.9rem;
}

.track-progress {
  margin-top: 12px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(130, 167, 222, 0.3);
  overflow: hidden;
  background: rgba(10, 18, 33, 0.8);
}

.track-progress span {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(232, 199, 116, 0.8), rgba(27, 240, 138, 0.86), rgba(65, 168, 255, 0.9));
  box-shadow: 0 0 16px rgba(65, 168, 255, 0.22);
  transition: width 0.4s ease;
}

.track-detail-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.track-panel {
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 14px;
  padding: 12px;
  background: rgba(8, 16, 30, 0.74);
}

.track-panel h4 {
  margin: 0;
  color: #f6fbff;
  font-size: 0.95rem;
}

.track-panel ul {
  margin: 8px 0 0;
  padding-left: 16px;
  color: #cde2ff;
  line-height: 1.6;
  font-size: 0.88rem;
}

.track-cta-row {
  margin-top: 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.tracks-preview-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.track-preview-card {
  border: 1px solid rgba(130, 167, 222, 0.3);
  border-radius: 16px;
  background: linear-gradient(150deg, rgba(8, 16, 30, 0.94), rgba(7, 14, 27, 0.9));
  padding: 14px;
  text-align: left;
  color: #d8e9ff;
  cursor: pointer;
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.track-preview-card:hover {
  transform: translateY(-4px);
  border-color: rgba(65, 168, 255, 0.65);
  box-shadow: 0 12px 28px rgba(5, 12, 23, 0.55), 0 0 16px rgba(65, 168, 255, 0.16);
}

.track-preview-card.active {
  border-color: rgba(232, 199, 116, 0.75);
  box-shadow:
    inset 0 0 0 1px rgba(232, 199, 116, 0.24),
    0 14px 28px rgba(5, 12, 23, 0.62),
    0 0 20px rgba(232, 199, 116, 0.2);
}

.track-preview-card:focus-visible {
  outline: 2px solid rgba(27, 240, 138, 0.72);
  outline-offset: 2px;
}

.track-preview-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(65, 168, 255, 0.45);
  background: rgba(12, 23, 41, 0.88);
  color: #d8eeff;
  font-size: 0.8rem;
}

.track-preview-card h4 {
  margin: 8px 0 0;
  color: #f0f7ff;
  font-size: 1rem;
}

.track-preview-meta {
  margin: 6px 0 0;
  color: #b4cdea;
  font-size: 0.84rem;
}

.arrow-btn {
  border: 1px solid var(--line);
  border-radius: 999px;
  width: 44px;
  height: 44px;
  background: #0d172a;
  color: #ffffff;
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: 800;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.arrow-btn:hover {
  transform: translateY(-2px);
  border-color: rgba(65, 168, 255, 0.65);
  box-shadow: 0 0 16px rgba(65, 168, 255, 0.24);
}

.track-dots {
  margin-top: 8px;
  display: flex;
  gap: 6px;
  align-items: center;
}

.track-dot {
  border: none;
  padding: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
}

.track-dot.active {
  background: var(--bull);
}

.service-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.service-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 16px;
  min-height: 180px;
  background:
    linear-gradient(130deg, rgba(27, 240, 138, 0.2), rgba(65, 168, 255, 0.16)),
    #0e1728;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.12), 0 14px 32px rgba(6, 16, 30, 0.62);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.service-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 240, 138, 0.55);
  box-shadow:
    inset 0 0 0 1px rgba(65, 168, 255, 0.24),
    0 16px 35px rgba(6, 16, 30, 0.7),
    0 0 20px rgba(27, 240, 138, 0.18);
}

.service-card h3 {
  margin: 0;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.4rem;
  color: #f2f8ff;
}

.service-card p {
  margin: 8px 0 0;
  color: #cfe3ff;
  line-height: 1.6;
  font-size: 1.02rem;
}

.service-card a {
  display: inline-block;
  margin-top: 12px;
  color: #f4ffe4;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid rgba(232, 199, 116, 0.45);
  border-radius: 999px;
  padding: 7px 12px;
  background: linear-gradient(100deg, rgba(232, 199, 116, 0.2), rgba(27, 240, 138, 0.2));
}

.edge-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.edge-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 18px;
  min-height: 310px;
  background:
    linear-gradient(180deg, rgba(7, 17, 30, 0.94), rgba(9, 18, 32, 0.98));
  box-shadow:
    inset 0 0 0 1px rgba(65, 168, 255, 0.12),
    0 12px 30px rgba(6, 14, 28, 0.62);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.edge-card::after {
  content: "";
  position: absolute;
  left: -8%;
  right: -8%;
  bottom: -120px;
  height: 220px;
  transform: rotate(-11deg);
  background: linear-gradient(90deg, rgba(65, 168, 255, 0.18), rgba(27, 240, 138, 0.2));
  border: 1px solid rgba(65, 168, 255, 0.18);
}

.edge-card:hover {
  transform: translateY(-5px);
  border-color: rgba(27, 240, 138, 0.62);
  box-shadow:
    inset 0 0 0 1px rgba(65, 168, 255, 0.22),
    0 16px 35px rgba(6, 14, 28, 0.72),
    0 0 20px rgba(27, 240, 138, 0.18);
}

.edge-card h3,
.edge-card p,
.edge-card a,
.edge-bars,
.edge-line {
  position: relative;
  z-index: 2;
}

.edge-card h3 {
  margin: 0;
  font-size: 1.5rem;
}

.edge-card p {
  margin: 10px 0 0;
  color: #c8dcf9;
  line-height: 1.6;
}

.edge-card a {
  display: inline-block;
  margin-top: 12px;
  color: var(--bull);
  text-decoration: none;
  font-weight: 700;
}

.edge-bars {
  position: absolute;
  left: 18px;
  bottom: 16px;
  display: flex;
  align-items: flex-end;
  gap: 8px;
}

.edge-bars.right {
  left: auto;
  right: 18px;
}

.edge-bars .b {
  width: 18px;
  height: 60px;
  border-radius: 6px 6px 2px 2px;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.08);
}

.edge-bars .b.tall {
  height: 92px;
}

.edge-bars .b.green {
  background: linear-gradient(180deg, #28f5a2, #11c677);
  box-shadow: 0 0 16px rgba(27, 240, 138, 0.42);
}

.edge-bars .b.red {
  background: linear-gradient(180deg, #ff7a92, #ff4d6d);
  box-shadow: 0 0 16px rgba(255, 77, 109, 0.38);
}

.edge-bars .b.blue {
  background: linear-gradient(180deg, #67c4ff, #2f91f5);
  box-shadow: 0 0 16px rgba(65, 168, 255, 0.38);
}

.edge-line {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 20px;
  height: 74px;
  border-radius: 12px;
  border: 1px solid rgba(130, 167, 222, 0.28);
  background: rgba(6, 14, 28, 0.72);
  overflow: hidden;
}

.edge-line span {
  position: absolute;
  left: 0;
  top: 55%;
  width: 140%;
  height: 3px;
  background: linear-gradient(90deg, transparent, #1bf08a 20%, #41a8ff 55%, #1bf08a 80%, transparent);
  filter: drop-shadow(0 0 8px rgba(27, 240, 138, 0.65));
  transform: translateX(-25%);
  animation: flowLine 3.8s linear infinite;
}

.plan-toggle {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px;
  display: inline-flex;
  gap: 4px;
}

.toggle-btn {
  border: 1px solid rgba(130, 167, 222, 0.35);
  border-radius: 999px;
  padding: 8px 13px;
  background: rgba(10, 19, 35, 0.85);
  color: #c6d8f5;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.toggle-btn.active {
  background: linear-gradient(100deg, rgba(27, 240, 138, 0.3), rgba(65, 168, 255, 0.3));
  color: #ffffff;
  border-color: rgba(27, 240, 138, 0.7);
}

.plan-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.plan-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 14px;
  background: #0d172a;
  position: relative;
  box-shadow: inset 0 0 0 1px rgba(76, 184, 255, 0.1), 0 12px 28px rgba(6, 16, 30, 0.55);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
}

.plan-card:hover {
  transform: translateY(-4px);
  border-color: rgba(65, 168, 255, 0.65);
  box-shadow:
    inset 0 0 0 1px rgba(76, 184, 255, 0.2),
    0 16px 34px rgba(6, 16, 30, 0.68),
    0 0 20px rgba(65, 168, 255, 0.16);
}

.plan-card h3 {
  margin: 0;
}

.plan-price {
  margin: 8px 0 0;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.8rem;
  color: var(--bull);
}

.plan-card ul {
  margin: 10px 0 14px;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.7;
}

.select-plan-btn {
  width: 100%;
  justify-content: center;
  display: inline-flex;
}

.select-plan-btn.selected {
  box-shadow:
    0 0 0 2px rgba(27, 240, 138, 0.25),
    0 14px 32px rgba(27, 240, 138, 0.28);
  filter: brightness(1.06);
}

.plan-card.featured {
  border-color: rgba(27, 240, 138, 0.75);
  box-shadow: 0 14px 36px rgba(27, 240, 138, 0.18);
}

.brokers-copy {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.7;
  max-width: 860px;
}

.broker-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.broker-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(65, 168, 255, 0.08), transparent 36%),
    #0b1324;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.1), 0 12px 30px rgba(7, 16, 30, 0.66);
  transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
  min-height: 290px;
  display: flex;
  flex-direction: column;
}

.broker-logo {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  padding: 8px;
  object-fit: contain;
  background: rgba(6, 14, 28, 0.95);
  border: 1px solid rgba(130, 167, 222, 0.34);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05), 0 0 14px rgba(65, 168, 255, 0.14);
}

.broker-card:hover {
  transform: translateY(-4px);
  border-color: rgba(27, 240, 138, 0.58);
  box-shadow:
    inset 0 0 0 1px rgba(27, 240, 138, 0.22),
    0 16px 35px rgba(7, 16, 30, 0.74),
    0 0 20px rgba(27, 240, 138, 0.17);
}

.broker-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: 1px;
  border: 1px solid rgba(130, 167, 222, 0.36);
  color: #f2f8ff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
}

.broker-icon.ic {
  background: linear-gradient(135deg, #2f86ff, #1adf8b);
}

.broker-icon.pp {
  background: linear-gradient(135deg, #ff4d6d, #ff9d5c);
}

.broker-icon.fp {
  background: linear-gradient(135deg, #1bf08a, #2f91f5);
}

.broker-icon.oa {
  background: linear-gradient(135deg, #7689ff, #2ad1ff);
}

.broker-card h3 {
  margin: 10px 0 0;
}

.broker-card p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.6;
  flex: 1;
}

.broker-card .btn {
  margin-top: 12px;
  width: fit-content;
}

.broker-note {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}

.proof-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr 1.25fr;
  gap: 10px;
}

.review-card,
.stats-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 14px;
  background: #0b1324;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.09), 0 12px 30px rgba(7, 16, 30, 0.62);
}

.stars {
  margin: 0;
  color: #f6c85f !important;
  letter-spacing: 2px;
  text-shadow:
    0 0 14px rgba(246, 200, 95, 0.62),
    0 0 28px rgba(246, 200, 95, 0.3);
  font-size: 1.1rem;
  filter: saturate(1.25);
}

.review-card h3 {
  margin: 10px 0 0;
}

.review-card p {
  color: var(--muted);
  line-height: 1.65;
}

.review-card span {
  color: var(--bull);
  font-size: 0.85rem;
  font-weight: 700;
}

.stats-card h3 {
  margin: 0;
}

.kpi-row {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.kpi-row div {
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 14px;
  padding: 8px;
  background: rgba(11, 19, 36, 0.92);
}

.kpi-row strong {
  display: block;
  font-family: "Rajdhani", sans-serif;
  color: #f6dc9a;
  font-size: 1.35rem;
}

.kpi-row span {
  color: var(--muted);
  font-size: 0.78rem;
}

.bar-chart {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.bar-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 8px;
  align-items: center;
}

.bar-item span {
  color: #d8e9ff;
  font-size: 0.85rem;
}

.bar-item i {
  display: block;
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--bull), var(--info));
  width: var(--w, 60%);
  box-shadow: 0 0 16px rgba(27, 240, 138, 0.28);
}

.trading-gallery {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.trading-gallery img {
  width: 100%;
  height: 190px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(130, 167, 222, 0.35);
  box-shadow: 0 12px 28px rgba(6, 16, 30, 0.62);
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

@keyframes candleFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes flowLine {
  0% {
    transform: translateX(-30%) translateY(10px) rotate(-4deg);
  }
  35% {
    transform: translateX(-12%) translateY(-3px) rotate(2deg);
  }
  70% {
    transform: translateX(6%) translateY(7px) rotate(-2deg);
  }
  100% {
    transform: translateX(20%) translateY(-6px) rotate(3deg);
  }
}

.trading-gallery img:hover {
  transform: translateY(-4px) scale(1.01);
  border-color: rgba(27, 240, 138, 0.52);
  box-shadow: 0 18px 34px rgba(6, 16, 30, 0.7), 0 0 18px rgba(27, 240, 138, 0.17);
}

.trading-gallery-brand {
  border: 1px solid rgba(130, 167, 222, 0.35);
  border-radius: 18px;
  background:
    radial-gradient(circle at 70% 20%, rgba(65, 168, 255, 0.2), transparent 45%),
    linear-gradient(155deg, rgba(8, 17, 31, 0.96), rgba(10, 22, 38, 0.95));
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 12px 28px rgba(6, 16, 30, 0.62);
  height: 190px;
}

.trading-gallery-brand img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  box-shadow: none;
}

.trading-gallery-brand p {
  margin: 0;
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 10px;
  text-align: center;
  color: #e5f2ff;
  font-size: 0.82rem;
  background: rgba(4, 11, 22, 0.72);
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 999px;
  padding: 6px 10px;
}

.badge {
  position: absolute;
  right: 10px;
  top: -10px;
  background: linear-gradient(100deg, var(--gold-strong), var(--gold));
  color: #2b1c00;
  font-size: 0.72rem;
  font-weight: 800;
  border-radius: 999px;
  padding: 4px 8px;
}

.paypal-box {
  margin-top: 12px;
  border: 1px dashed rgba(232, 199, 116, 0.55);
  border-radius: 14px;
  padding: 10px;
  background: rgba(14, 20, 30, 0.75);
}

.paypal-box p {
  margin: 0 0 8px;
  color: #d9c690;
}

.qr-pay {
  margin-top: 12px;
  border: 1px solid rgba(130, 167, 222, 0.35);
  border-radius: 16px;
  background: rgba(9, 18, 32, 0.86);
  padding: 10px;
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 10px;
  align-items: center;
}

.qr-pay img {
  width: 118px;
  height: 118px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid rgba(130, 167, 222, 0.35);
  background: #fff;
}

.qr-pay h3 {
  margin: 0;
}

.qr-pay p {
  margin: 5px 0 0;
  color: var(--muted);
}

.campus-copy {
  margin: 10px 0 0;
  color: var(--muted);
  max-width: 820px;
  line-height: 1.65;
}

.campus-mail {
  margin: 8px 0 0;
  color: var(--muted);
}

.campus-tabs {
  margin-top: 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.icon-dot {
  margin-right: 6px;
  color: #dff1ff;
}

.campus-tab {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: #c2d8f7;
  padding: 9px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.campus-tab.active {
  color: var(--text);
  border-color: rgba(27, 240, 138, 0.8);
  background: rgba(27, 240, 138, 0.15);
}

.campus-grid {
  margin-top: 16px;
  position: relative;
  min-height: 312px;
}

.campus-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: #0b1324;
  padding: 14px;
  min-height: 272px;
  display: flex;
  flex-direction: column;
  box-shadow: inset 0 0 0 1px rgba(30, 244, 154, 0.09), 0 15px 34px rgba(6, 14, 28, 0.64);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.35s ease;
  animation: cardEnter 0.58s ease both;
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(14px) scale(0.995);
}

.campus-card:hover {
  transform: translateY(-4px);
  border-color: rgba(30, 244, 154, 0.65);
  box-shadow:
    inset 0 0 0 1px rgba(30, 244, 154, 0.2),
    0 0 18px rgba(30, 244, 154, 0.2),
    0 16px 34px rgba(6, 14, 28, 0.74);
}

.campus-card.active-slide {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}

.campus-card.hidden-filter {
  display: none;
}

.campus-tag {
  display: inline-flex;
  width: fit-content;
  margin: 0;
  border: 1px solid rgba(65, 168, 255, 0.4);
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--info);
  font-size: 0.74rem;
  font-weight: 700;
}

.campus-card h3 {
  margin: 10px 0 0;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.35rem;
}

.campus-card p {
  margin: 8px 0 0;
  color: #c7dcf8;
  line-height: 1.6;
}

.campus-actions {
  margin-top: auto;
  padding-top: 14px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.campus-carousel-wrap {
  margin-top: 16px;
  display: grid;
  grid-template-columns: 52px 1fr 52px;
  gap: 10px;
  align-items: center;
}

.campus-carousel-viewport {
  border: 1px solid rgba(130, 167, 222, 0.24);
  border-radius: 20px;
  padding: 12px;
  background: rgba(7, 14, 28, 0.56);
}

.campus-arrow {
  align-self: center;
  height: 56px;
  width: 46px;
}

.campus-dots {
  margin-top: 10px;
}

.campus-indice {
  margin-top: 10px;
  border: 1px solid rgba(130, 167, 222, 0.3);
  border-radius: 16px;
  padding: 12px;
  background: linear-gradient(145deg, rgba(9, 17, 31, 0.9), rgba(8, 15, 28, 0.88));
}

.campus-indice h4 {
  margin: 0;
  color: #f2f8ff;
}

.campus-indice p {
  margin: 6px 0 0;
  color: #b7d0f2;
}

.campus-indice ul {
  margin: 8px 0 0;
  padding-left: 16px;
  color: #cce0fb;
  line-height: 1.6;
}

.drop-toggle {
  margin-top: 10px;
  border: 1px solid rgba(130, 167, 222, 0.45);
  border-radius: 999px;
  background: rgba(8, 16, 30, 0.94);
  color: var(--text);
  padding: 8px 13px;
  width: fit-content;
  cursor: pointer;
  font-weight: 700;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.1);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.drop-toggle:hover {
  transform: translateY(-2px);
  border-color: rgba(27, 240, 138, 0.55);
  box-shadow:
    inset 0 0 0 1px rgba(27, 240, 138, 0.18),
    0 0 16px rgba(27, 240, 138, 0.2);
}

.drop-body {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: translateY(-6px);
  transition: max-height 0.38s ease, opacity 0.28s ease, transform 0.3s ease;
}

.drop-body.open {
  max-height: 220px;
  opacity: 1;
  transform: translateY(0);
}

.drop-body ul {
  margin: 8px 0 2px;
  padding-left: 16px;
  color: #c9ddf8;
  line-height: 1.6;
}

.temario-strip {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.temario-card {
  border: 1px solid rgba(130, 167, 222, 0.32);
  border-radius: 14px;
  padding: 10px;
  background: linear-gradient(140deg, rgba(9, 18, 33, 0.92), rgba(8, 16, 30, 0.9));
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.1);
}

.temario-card h4 {
  margin: 0;
  color: #f2f8ff;
  font-size: 0.95rem;
}

.temario-card p {
  margin: 6px 0 0;
  color: #bbd4f4;
  font-size: 0.86rem;
  line-height: 1.45;
}

.academy p {
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 860px;
  line-height: 1.7;
}

.academy-form {
  margin-top: 14px;
  max-width: 460px;
  display: grid;
  gap: 8px;
}

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

.academy-step {
  border: 1px solid rgba(130, 167, 222, 0.3);
  border-radius: 14px;
  padding: 11px;
  background: linear-gradient(140deg, rgba(10, 19, 34, 0.88), rgba(7, 14, 26, 0.86));
}

.academy-step h4 {
  margin: 0;
  color: #f4fbff;
}

.academy-step p {
  margin: 6px 0 0;
  color: #bfd7f5;
}

.academy-form label {
  color: var(--muted);
  font-size: 0.86rem;
}

.academy-form input {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #070e1b;
  color: var(--text);
  padding: 11px 12px;
}

.checkout-actions {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.checkout-steps {
  margin-top: 14px;
}

.site-footer {
  margin-top: 16px;
  border-top: 1px solid var(--line);
  background: #060b15;
  padding: 26px 0;
}

.footer-emblem {
  width: min(1240px, 93%);
  margin: 0 auto 14px;
  border: 1px solid rgba(130, 167, 222, 0.25);
  border-radius: 20px;
  padding: 12px;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 12px;
  align-items: center;
  background:
    linear-gradient(120deg, rgba(27, 240, 138, 0.1), rgba(65, 168, 255, 0.12)),
    #081324;
}

.footer-emblem img {
  width: 92px;
  height: 92px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid rgba(130, 167, 222, 0.35);
}

.footer-emblem h4 {
  margin: 0;
  font-size: 0.98rem;
}

.footer-emblem p {
  margin: 4px 0 0;
  color: var(--muted);
}

.footer-grid {
  width: min(1240px, 93%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 20px;
}

.footer-grid h4 {
  margin: 0 0 10px;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.2rem;
}

.footer-grid p,
.footer-grid a {
  display: block;
  margin: 0 0 8px;
  color: var(--muted);
  text-decoration: none;
  font-size: 0.9rem;
}

.site-footer small {
  width: min(1240px, 93%);
  display: block;
  margin: 12px auto 0;
  color: var(--muted);
  border-top: 1px solid var(--line);
  padding-top: 12px;
}

.site-footer small + small {
  margin-top: 6px;
  border-top: none;
  padding-top: 0;
  color: #a7bddd;
}

.nyc-footer-bg {
  width: min(1240px, 93%);
  height: 120px;
  margin: 14px auto 0;
  border-radius: 14px;
  border: 1px solid rgba(130, 167, 222, 0.24);
  background:
    linear-gradient(180deg, rgba(6, 11, 21, 0.56), rgba(6, 11, 21, 0.82)),
    url("https://images.contentstack.io/v3/assets/blta05ad1a9b328245c/bltaccea826ee8541b8/695c0ae5465f2c1ec7060cde/HUB_-_Unified.jpg") center/cover;
  opacity: 1;
}

.social-buttons {
  width: min(1240px, 93%);
  margin: 4px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.social-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  text-decoration: none;
  color: var(--text);
  padding: 8px 12px;
  background: #0d172a;
  font-size: 0.88rem;
}

.social-btn span {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(65, 168, 255, 0.2);
  font-size: 0.75rem;
  font-weight: 800;
}

.social-btn svg {
  width: 14px;
  height: 14px;
  fill: #ffffff;
}

.social-btn:hover {
  border-color: rgba(232, 199, 116, 0.45);
  box-shadow: 0 0 16px rgba(232, 199, 116, 0.16);
}

.card-pressable {
  cursor: pointer;
}

.card-pressable.is-active {
  transform: translateY(-4px) scale(1.01);
  border-color: rgba(232, 199, 116, 0.65) !important;
  box-shadow:
    inset 0 0 0 1px rgba(232, 199, 116, 0.28),
    0 0 18px rgba(232, 199, 116, 0.2),
    0 18px 34px rgba(6, 16, 30, 0.72) !important;
}

.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.reveal.reveal-left {
  transform: translateX(-34px);
}

.reveal.reveal-right {
  transform: translateX(34px);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.hero,
.market,
.tracks,
.services,
.edge,
.brokers,
.proof,
.plans,
.campus,
.academy {
  padding: 38px;
  margin-top: 24px;
}

.section-head {
  margin-bottom: 10px;
}

h2 {
  margin-bottom: 8px;
}

.hero-content p,
.campus-copy,
.brokers-copy {
  line-height: 1.8;
}

.hero-actions,
.checkout-actions,
.campus-tabs,
.social-buttons {
  margin-top: 16px;
}

.ticker-grid,
.service-grid,
.edge-grid,
.broker-grid,
.proof-grid,
.plan-grid,
.campus-grid,
.temario-strip {
  gap: 16px;
}

.hero-metrics {
  gap: 14px;
}

.track-focus,
.service-card,
.edge-card,
.broker-card,
.review-card,
.stats-card,
.plan-card,
.campus-card,
.temario-card,
.academy-step {
  padding: 20px;
}

.campus-card h3,
.service-card h3,
.broker-card h3,
.review-card h3 {
  margin-top: 12px;
  margin-bottom: 8px;
}

.campus-card p,
.service-card p,
.broker-card p,
.review-card p,
.academy-step p,
.temario-card p {
  margin-top: 10px;
}

.trading-gallery {
  margin-top: 18px;
}

.fx-entry {
  opacity: 0;
  transform: translateY(18px) scale(0.985);
}

.fx-entry.in-view {
  animation: cardEnter 0.56s ease forwards;
}

@keyframes cardEnter {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (max-width: 1120px) {
  .hero,
  .market,
  .tracks,
  .services,
  .edge,
  .brokers,
  .proof,
  .plans,
  .cart,
  .campus,
  .academy {
    padding: 28px;
    margin-top: 18px;
  }

  .site-header {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .header-center {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .search-wrap input {
    width: 100%;
  }

  .menu-btn {
    display: inline-flex;
  }

  .main-nav {
    display: none;
  }

  .main-nav.open {
    display: flex;
    border-top: 1px solid var(--line);
    padding-top: 8px;
    flex-wrap: wrap;
  }

  .main-nav .menu {
    width: 100%;
    flex-wrap: wrap;
    row-gap: 6px;
  }

  .hero {
    grid-template-columns: 1fr;
  }

  .market-layout {
    grid-template-columns: 1fr;
  }

  .ticker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tracks-showcase {
    grid-template-columns: 1fr;
  }

  .tracks-nav-btn {
    height: 44px;
  }

  .track-detail-grid {
    grid-template-columns: 1fr;
  }

  .tracks-preview-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .service-grid,
  .edge-grid,
  .broker-grid,
  .proof-grid,
  .trading-gallery,
  .temario-strip,
  .academy-steps,
  .plan-grid,
  .footer-grid,
  .footer-emblem {
    grid-template-columns: 1fr;
  }

  .campus-carousel-wrap {
    grid-template-columns: 1fr;
  }

  .campus-arrow {
    height: 44px;
  }

  .campus-grid {
    min-height: 420px;
  }
}

@media (max-width: 740px) {
  .hero,
  .market,
  .tracks,
  .services,
  .edge,
  .brokers,
  .proof,
  .plans,
  .cart,
  .campus,
  .academy {
    padding: 22px;
  }

  .trading-bg {
    opacity: 0.14;
  }

  .header-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .ticker-grid {
    grid-template-columns: 1fr;
  }

  .qr-pay {
    grid-template-columns: 1fr;
  }

  .tracks-preview-grid {
    grid-template-columns: 1fr;
  }
}

/* Internal pages */
.breadcrumb {
  width: min(1240px, 93%);
  margin: 18px auto 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.breadcrumb a {
  color: #d6e9ff;
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--bull);
}

.page-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
}

.info-card {
  border: 1px solid rgba(130, 167, 222, 0.3);
  border-radius: 18px;
  background: linear-gradient(150deg, rgba(8, 16, 30, 0.95), rgba(10, 19, 35, 0.92));
  padding: 16px;
  box-shadow: inset 0 0 0 1px rgba(65, 168, 255, 0.1), 0 12px 30px rgba(6, 16, 30, 0.62);
}

.info-card h3 {
  margin: 0;
  font-family: "Rajdhani", sans-serif;
  font-size: 1.45rem;
}

.info-card p,
.info-card li {
  color: #c9defa;
  line-height: 1.7;
}

.info-card ul {
  margin: 10px 0 0;
  padding-left: 18px;
}

.resource-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.resource-card {
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 18px;
  background: linear-gradient(155deg, rgba(9, 17, 32, 0.95), rgba(8, 15, 28, 0.92));
  padding: 14px;
  transition: transform 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.resource-card:hover {
  transform: translateY(-3px);
  border-color: rgba(27, 240, 138, 0.52);
  box-shadow: 0 0 18px rgba(27, 240, 138, 0.14), 0 14px 28px rgba(6, 16, 30, 0.66);
}

.resource-card h3 {
  margin: 0;
  font-size: 1.28rem;
}

.resource-card p {
  margin: 8px 0 0;
  color: #bfd7f7;
  line-height: 1.65;
}

.resource-card .resource-meta {
  margin-top: 10px;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.resource-meta span {
  border: 1px solid rgba(65, 168, 255, 0.35);
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 0.75rem;
  color: #d8ecff;
  background: rgba(8, 17, 31, 0.85);
}

.course-outline {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}

.course-module {
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 14px;
  padding: 12px;
  background: rgba(7, 14, 27, 0.9);
}

.course-module h4 {
  margin: 0;
  font-size: 1.04rem;
  color: #f5fbff;
}

.course-module p {
  margin: 7px 0 0;
  color: #bfd7f7;
  line-height: 1.6;
}

.cta-strip {
  margin-top: 14px;
  border: 1px solid rgba(130, 167, 222, 0.3);
  border-radius: 18px;
  padding: 14px;
  background: linear-gradient(130deg, rgba(27, 240, 138, 0.14), rgba(65, 168, 255, 0.16));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.cta-strip p {
  margin: 0;
  color: #e7f3ff;
}

.cart-card {
  margin-top: 12px;
  border: 1px solid rgba(130, 167, 222, 0.32);
  border-radius: 20px;
  padding: 18px;
  background: linear-gradient(155deg, rgba(9, 17, 32, 0.95), rgba(8, 15, 28, 0.9));
}

.cart-label {
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.cart-card h3 {
  margin: 8px 0 0;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-family: "Rajdhani", sans-serif;
}

.cart-card p {
  color: #cbe0fb;
  line-height: 1.7;
}

.cart-actions {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.content-shell {
  width: min(1240px, 93%);
  margin: 22px auto 70px;
}

.generic-page {
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 24px;
  background: linear-gradient(170deg, rgba(15, 26, 45, 0.96), rgba(8, 13, 24, 0.95));
  padding: 30px;
}

.generic-intro {
  margin: 10px 0 0;
  color: #b8cfee;
  line-height: 1.7;
  max-width: 880px;
}

.wp-content-card {
  margin-top: 14px;
  border: 1px solid rgba(130, 167, 222, 0.25);
  border-radius: 18px;
  background: rgba(8, 16, 30, 0.86);
  padding: 18px;
  color: #d6e8ff;
  line-height: 1.8;
}

.post-feed {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}

.post-card {
  border: 1px solid rgba(130, 167, 222, 0.28);
  border-radius: 18px;
  background: rgba(8, 16, 30, 0.86);
  padding: 16px;
}

.post-card h2 {
  margin-top: 0;
  font-size: clamp(1.4rem, 2.4vw, 1.8rem);
}

.post-card h2 a {
  color: #f5fbff;
  text-decoration: none;
}

.post-card h2 a:hover {
  color: var(--bull);
}

.entry-meta {
  margin: 4px 0 0;
  color: #8fb0d8;
  font-size: 0.85rem;
}

.entry-excerpt {
  margin-top: 10px;
  color: #c4dbf8;
  line-height: 1.7;
}

.single-nav {
  margin-top: 14px;
}

.wp-pagination {
  margin-top: 14px;
}

.wp-pagination .nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wp-pagination .page-numbers {
  border: 1px solid rgba(130, 167, 222, 0.38);
  border-radius: 999px;
  padding: 8px 11px;
  color: #d5e9ff;
  text-decoration: none;
}

.wp-pagination .page-numbers.current {
  color: #061320;
  background: linear-gradient(100deg, var(--bull), var(--info));
  border-color: transparent;
}

@media (max-width: 1120px) {
  .page-grid,
  .resource-grid,
  .post-feed {
    grid-template-columns: 1fr;
  }
}



/* =========================================================
   TRUE TRADING FX — WALL STREET DESK HYBRID FINAL
   Pegar al FINAL de assets/css/main.css
   Dirección visual basada en el diseño Wall Street/Trading Desk.
========================================================= */
:root{
  --ttfx-hybrid-ink:#070b12;
  --ttfx-hybrid-ink-2:#0a1020;
  --ttfx-hybrid-card:rgba(10,16,28,.78);
  --ttfx-hybrid-card-solid:#0b111d;
  --ttfx-hybrid-line:rgba(27,240,138,.18);
  --ttfx-hybrid-line-blue:rgba(65,168,255,.26);
  --ttfx-hybrid-text:#f7fbff;
  --ttfx-hybrid-muted:#9aa8bb;
  --ttfx-hybrid-green:#00e676;
  --ttfx-hybrid-green-2:#13d472;
  --ttfx-hybrid-blue:#2979ff;
  --ttfx-hybrid-red:#ff3d57;
  --ttfx-hybrid-gold:#f5a623;
  --ttfx-hybrid-radius:16px;
  --ttfx-hybrid-radius-lg:26px;
  --ttfx-hybrid-shadow:0 22px 60px rgba(0,0,0,.44);
  --ttfx-hybrid-font:"Space Grotesk","Inter",system-ui,sans-serif;
  --ttfx-hybrid-mono:"Rajdhani","Space Mono",ui-monospace,monospace;
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 12% 10%,rgba(0,230,118,.14),transparent 28%),
    radial-gradient(circle at 80% 24%,rgba(41,121,255,.16),transparent 34%),
    radial-gradient(circle at 65% 70%,rgba(255,61,87,.10),transparent 35%),
    linear-gradient(165deg,#05080e,#081320 44%,#05080e)!important;
  color:var(--ttfx-hybrid-text)!important;
  font-family:var(--ttfx-hybrid-font)!important;
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  background-image:
    linear-gradient(rgba(0,230,118,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,230,118,.035) 1px,transparent 1px);
  background-size:54px 54px;
  pointer-events:none;
  z-index:0;
}
body::after{
  content:"";
  position:fixed;
  inset:-20%;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 0 0,rgba(0,230,118,.10),transparent 25%),
    radial-gradient(circle at 100% 0,rgba(41,121,255,.10),transparent 30%),
    radial-gradient(circle at 78% 70%,rgba(255,61,87,.08),transparent 28%);
  filter:blur(30px);
}
main,.site-main,.page,.container,.wrap{position:relative;z-index:1;}

/* Market tape */
.ttfx-market-tape{
  height:36px!important;
  background:rgba(0,0,0,.72)!important;
  backdrop-filter:blur(10px)!important;
  border-bottom:1px solid rgba(27,240,138,.16)!important;
  box-shadow:0 12px 36px rgba(0,0,0,.35)!important;
}
.ttfx-market-tape__track{height:100%;align-items:center;}
.ttfx-market-tape__item{
  height:100%;
  padding:0 26px!important;
  border-right:1px solid rgba(255,255,255,.07)!important;
  font-family:var(--ttfx-hybrid-mono)!important;
  font-size:12px!important;
  letter-spacing:.04em!important;
}
.ttfx-market-tape__symbol{font-weight:900!important;color:#dff4ff!important;}
.ttfx-market-tape__up{color:var(--ttfx-hybrid-green)!important;text-shadow:0 0 16px rgba(0,230,118,.28);}
.ttfx-market-tape__down{color:var(--ttfx-hybrid-red)!important;text-shadow:0 0 16px rgba(255,61,87,.22);}

/* Header */
.site-header,.site-header.ttfx-header{
  top:calc(36px + 12px)!important;
  background:rgba(7,12,21,.78)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:18px!important;
  backdrop-filter:blur(18px)!important;
  box-shadow:0 20px 55px rgba(0,0,0,.34),0 0 34px rgba(0,230,118,.10)!important;
}
body.admin-bar .site-header,body.admin-bar .site-header.ttfx-header{top:calc(68px + 12px)!important;}
.site-header .brand-logo,.brand-logo{
  background:linear-gradient(135deg,var(--ttfx-hybrid-green),var(--ttfx-hybrid-blue))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 0 22px rgba(0,230,118,.16)!important;
}
.site-header .brand-text strong,.brand-text strong{
  color:#fff!important;
  letter-spacing:-.02em!important;
}
.site-header .brand-text span,.brand-text span{color:var(--ttfx-hybrid-muted)!important;}
.main-nav a,.site-header .main-nav a{
  color:rgba(235,245,255,.68)!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current_page_item>a,
.site-header .main-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.06)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:none!important;
}
.header-actions .btn,.site-header .btn,.btn{
  border-radius:9px!important;
  font-weight:900!important;
}
.btn:not(.btn-ghost),.header-actions .btn:not(.btn-ghost){
  background:linear-gradient(100deg,var(--ttfx-hybrid-green),var(--ttfx-hybrid-green-2))!important;
  color:#00120a!important;
  box-shadow:0 0 28px rgba(0,230,118,.32)!important;
}
.btn-ghost,.header-actions .btn-ghost{
  background:rgba(255,255,255,.03)!important;
  border:1px solid rgba(255,255,255,.15)!important;
  color:#f4f8ff!important;
}
.search-wrap input,.site-header input[type="search"]{
  background:#060b15!important;
  border:1px solid rgba(130,167,222,.32)!important;
  color:#e8f2ff!important;
  border-radius:999px!important;
}

/* Generic layout */
.hero,.market,.tracks,.services,.edge,.brokers,.proof,.plans,.cart,.campus,.academy,.generic-page{
  max-width:1280px!important;
  width:min(1280px,92vw)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  border-color:rgba(255,255,255,.06)!important;
  box-shadow:none!important;
}
.hero,.market,.tracks,.services,.edge,.brokers,.proof,.plans,.cart,.campus,.academy{
  padding-top:clamp(70px,8vw,112px)!important;
  padding-bottom:clamp(70px,8vw,112px)!important;
  background:transparent!important;
}
.section-head h2,.tracks-head h2,.services h2,.edge h2,.brokers h2,.proof h2,.plans h2,.campus h2,.academy h2,.cart h2,
.section-title,h1,h2{
  color:#fff!important;
  letter-spacing:-.045em!important;
  font-family:var(--ttfx-hybrid-font)!important;
}
.section-head h2 span,.tracks-head h2 span,.services h2 span,.edge h2 span,.brokers h2 span,.proof h2 span,.plans h2 span,.campus h2 span,
h1 span,h2 span,em{
  color:var(--ttfx-hybrid-green)!important;
}
.eyebrow,.panel-title,.track-feature-top,.track-pill,.live-pill{
  font-family:var(--ttfx-hybrid-mono)!important;
  letter-spacing:.16em!important;
}
.eyebrow{color:var(--ttfx-hybrid-green)!important;}
.eyebrow::before{background:var(--ttfx-hybrid-green)!important;}

/* Hero */
.hero{
  min-height:calc(100vh - 96px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(340px,430px)!important;
  gap:clamp(36px,6vw,70px)!important;
  align-items:center!important;
}
.hero-content h1,.hero h1{
  font-size:clamp(3.2rem,7vw,6.2rem)!important;
  line-height:.92!important;
  font-weight:900!important;
  max-width:720px!important;
}
.hero-content h1 span,.hero h1 span{
  display:block!important;
  background:linear-gradient(135deg,var(--ttfx-hybrid-green),var(--ttfx-hybrid-blue))!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
}
.hero-content>p:not(.eyebrow),.hero p:not(.eyebrow){
  max-width:620px!important;
  color:rgba(245,251,255,.62)!important;
  font-size:clamp(1rem,1.5vw,1.15rem)!important;
  line-height:1.75!important;
}
.hero .eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  border:1px solid rgba(0,230,118,.32)!important;
  background:rgba(0,230,118,.075)!important;
  border-radius:999px!important;
  padding:6px 14px!important;
  margin-bottom:24px!important;
}
.hero .eyebrow::before{
  content:""!important;width:8px!important;height:8px!important;border-radius:50%!important;background:var(--ttfx-hybrid-green)!important;box-shadow:0 0 12px var(--ttfx-hybrid-green)!important;
}
.hero-actions{gap:12px!important;margin-top:28px!important;}
.hero-panel{
  background:rgba(255,255,255,.035)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:24px!important;
  backdrop-filter:blur(14px)!important;
  box-shadow:var(--ttfx-hybrid-shadow)!important;
  padding:24px!important;
}
.hero-metrics article,.hero-stat,.desk-price-row span,.price-cell{
  background:rgba(0,0,0,.28)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:12px!important;
}
.hero-metrics h3,.count{color:var(--ttfx-hybrid-green)!important;font-family:var(--ttfx-hybrid-mono)!important;}
.desk-live-widget,.mini-chart-wrap{
  background:#050a13!important;
  border:1px solid rgba(0,230,118,.16)!important;
  border-radius:14px!important;
}

/* Market terminal */
.market .ticker-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;}
.ticker-card,.orderbook,.chart-box,.market-chart,.chart-panel{
  background:rgba(255,255,255,.025)!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
.ticker-card:hover,.service-card:hover,.edge-card:hover,.broker-card:hover,.plan-card:hover,.campus-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(0,230,118,.38)!important;
  background:rgba(0,230,118,.045)!important;
}
.ticker-card strong,.ticker-card .price{font-family:var(--ttfx-hybrid-mono)!important;color:#fff!important;font-size:clamp(1.25rem,2vw,1.55rem)!important;}
.ticker-card p,.ticker-card .pair{font-family:var(--ttfx-hybrid-mono)!important;color:var(--ttfx-hybrid-muted)!important;text-transform:uppercase!important;letter-spacing:.08em!important;}
.ticker-card .positive,.ticker-card .up,#change-BTCUSD.positive,#change-ETHUSD.positive,#change-EURUSD.positive,#change-GBPUSD.positive,#change-USDJPY.positive{color:var(--ttfx-hybrid-green)!important;}
.ticker-card .negative,.ticker-card .down{color:var(--ttfx-hybrid-red)!important;}
.market .market-layout{display:grid!important;grid-template-columns:1fr 280px!important;gap:14px!important;}
.chart-box{overflow:hidden!important;background:#050a13!important;}
.chart-top,.chart-controls{
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  background:rgba(0,0,0,.16)!important;
}
.chip,.tf-chip,.tf{
  border:1px solid rgba(255,255,255,.12)!important;
  background:transparent!important;
  color:rgba(255,255,255,.55)!important;
  border-radius:8px!important;
  font-family:var(--ttfx-hybrid-mono)!important;
}
.chip.active,.tf-chip.active,.tf.active,.chip.is-active{
  color:var(--ttfx-hybrid-green)!important;
  background:rgba(0,230,118,.12)!important;
  border-color:rgba(0,230,118,.55)!important;
}
.tf-chip.active,.tf.active{color:var(--ttfx-hybrid-gold)!important;background:rgba(245,166,35,.12)!important;border-color:rgba(245,166,35,.45)!important;}
.orderbook h3{font-size:1rem!important;color:#fff!important;}
.order-row,.ob-row{font-family:var(--ttfx-hybrid-mono)!important;}
.order-row .bid,.ob-row.bid .ob-price{color:var(--ttfx-hybrid-green)!important;}
.order-row .ask,.ob-row.ask .ob-price{color:var(--ttfx-hybrid-red)!important;}
canvas#marketChart,#mainChart{filter:drop-shadow(0 0 18px rgba(0,230,118,.12));}

/* Tracks */
.tracks-showcase,.tracks-inner{margin-top:40px!important;}
.track-feature{
  background:rgba(255,255,255,.026)!important;
  border:1px solid rgba(0,230,118,.36)!important;
  border-radius:24px!important;
  box-shadow:0 30px 70px rgba(0,0,0,.28)!important;
}
.track-pill,.pill,.track-tag{
  border-radius:999px!important;
  font-family:var(--ttfx-hybrid-mono)!important;
  font-weight:800!important;
}
.track-panel,.track-preview-card,.tn-card{
  background:rgba(255,255,255,.024)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:16px!important;
}
.track-preview-card.active,.tn-card.active{border-color:rgba(0,230,118,.55)!important;background:rgba(0,230,118,.06)!important;}
.track-progress span,.progress-bar{background:linear-gradient(90deg,var(--ttfx-hybrid-green),var(--ttfx-hybrid-blue))!important;}

/* Cards: services, brokers, edge, proof, plans, campus */
.service-card,.edge-card,.broker-card,.review-card,.stats-card,.plan-card,.campus-card,.academy-step,.acad-step,.proof-card,.cart-card,.temario-card,.resource-card,.info-card,.course-module{
  background:rgba(255,255,255,.024)!important;
  border:1px solid rgba(255,255,255,.075)!important;
  border-radius:22px!important;
  box-shadow:none!important;
}
.service-card::before,.edge-card::before,.broker-card::before,.plan-card::before,.proof-card::before,.campus-card::before{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--ttfx-hybrid-green),transparent);opacity:0;transition:opacity .25s;
}
.service-card:hover::before,.edge-card:hover::before,.broker-card:hover::before,.plan-card:hover::before,.proof-card:hover::before,.campus-card:hover::before{opacity:1;}
.plan-card.featured{border-color:rgba(0,230,118,.55)!important;background:rgba(0,230,118,.045)!important;box-shadow:0 0 42px rgba(0,230,118,.12)!important;}
.plan-badge,.featured-badge{background:var(--ttfx-hybrid-green)!important;color:#00120a!important;}
.plan-price,.price{font-family:var(--ttfx-hybrid-mono)!important;}
.campus-tabs,.campus-filter{display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
.campus-tab,.filter-btn{border-radius:999px!important;background:transparent!important;border:1px solid rgba(255,255,255,.12)!important;color:rgba(255,255,255,.62)!important;}
.campus-tab.active,.filter-btn.active{background:rgba(0,230,118,.12)!important;border-color:rgba(0,230,118,.5)!important;color:var(--ttfx-hybrid-green)!important;}

/* Footer */
.site-footer,footer{
  background:rgba(0,0,0,.62)!important;
  border-top:1px solid rgba(0,230,118,.25)!important;
}
.footer-emblem,.footer-brand-panel{
  background:linear-gradient(135deg,rgba(0,230,118,.10),rgba(41,121,255,.12))!important;
  border:1px solid rgba(130,167,222,.26)!important;
  border-radius:24px!important;
}
.footer-col h4,.site-footer h4{color:var(--ttfx-hybrid-green)!important;}
.footer-socials a,.social-btn{border-radius:999px!important;border:1px solid rgba(130,167,222,.45)!important;background:rgba(41,121,255,.08)!important;}

/* Responsive */
@media(max-width:1120px){
  .hero{grid-template-columns:1fr!important;min-height:auto!important;}
  .hero-panel{max-width:620px!important;}
  .market .ticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .market .market-layout{grid-template-columns:1fr!important;}
  .plans-grid,.brokers-grid,.campus-grid,.services-grid,.edge-grid,.proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:720px){
  body{font-size:15px!important;}
  .site-header,.site-header.ttfx-header{width:calc(100% - 20px)!important;top:42px!important;}
  body.admin-bar .site-header,body.admin-bar .site-header.ttfx-header{top:78px!important;}
  .hero,.market,.tracks,.services,.edge,.brokers,.proof,.plans,.cart,.campus,.academy{width:min(100% - 28px,1280px)!important;}
  .hero-content h1,.hero h1{font-size:clamp(2.6rem,15vw,4.2rem)!important;}
  .market .ticker-grid,.plans-grid,.brokers-grid,.campus-grid,.services-grid,.edge-grid,.proof-grid,.academy-grid{grid-template-columns:1fr!important;}
  .chart-top,.chart-controls{flex-direction:column!important;align-items:flex-start!important;}
}
/* ==========================================================
   TTFX WALL STREET TAPE - COLOR FIX V2
   Pegar al final de assets/css/main.css
   ========================================================== */

#ttfxWallStreetTape{
    background:
        linear-gradient(90deg, rgba(0, 230, 118, .12), rgba(2, 6, 12, .96) 18%, rgba(2, 6, 12, .96) 82%, rgba(41, 121, 255, .12)) !important;
    border-top: 1px solid rgba(0, 230, 118, .20) !important;
    border-bottom: 1px solid rgba(0, 230, 118, .30) !important;
    box-shadow:
        0 0 22px rgba(0, 230, 118, .12),
        0 10px 30px rgba(0, 0, 0, .42) !important;
}

#ttfxWallStreetTape::before{
    opacity: 1 !important;
    background-image:
        linear-gradient(rgba(0,230,118,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,230,118,.035) 1px, transparent 1px) !important;
}

#ttfxWallStreetTape .ttfx-wst-left{
    background:
        linear-gradient(90deg, rgba(0, 230, 118, .18), rgba(0, 0, 0, .35)) !important;
    border-right: 1px solid rgba(0, 230, 118, .24) !important;
}

#ttfxWallStreetTape .ttfx-wst-label{
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(0,230,118,.45) !important;
}

#ttfxWallStreetTape .ttfx-wst-location{
    color: #00e676 !important;
}

#ttfxWallStreetTape .ttfx-wst-item{
    border-right: 1px solid rgba(255,255,255,.085) !important;
    background: linear-gradient(180deg, rgba(255,255,255,.018), rgba(0,0,0,.16)) !important;
}

#ttfxWallStreetTape .ttfx-wst-item:hover{
    background: rgba(0,230,118,.065) !important;
}

#ttfxWallStreetTape .ttfx-wst-sym{
    color: rgba(160, 174, 192, .72) !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
}

#ttfxWallStreetTape .ttfx-wst-prc{
    color: #f8fbff !important;
    font-weight: 900 !important;
    text-shadow: 0 0 10px rgba(255,255,255,.10) !important;
}

#ttfxWallStreetTape .ttfx-wst-chg.up,
#ttfxWallStreetTape .ttfx-wst-chg[class*="up"]{
    color: #00ff88 !important;
    text-shadow: 0 0 10px rgba(0,255,136,.38) !important;
}

#ttfxWallStreetTape .ttfx-wst-chg.dn,
#ttfxWallStreetTape .ttfx-wst-chg[class*="dn"]{
    color: #ff3d57 !important;
    text-shadow: 0 0 10px rgba(255,61,87,.35) !important;
}

#ttfxWallStreetTape .ttfx-wst-chg.neu,
#ttfxWallStreetTape .ttfx-wst-chg:not(.up):not(.dn){
    color: #f5a623 !important;
    text-shadow: 0 0 10px rgba(245,166,35,.28) !important;
}

#ttfxWallStreetTape .ttfx-wst-dot{
    background: #00ff88 !important;
    box-shadow: 0 0 14px #00ff88, 0 0 28px rgba(0,255,136,.38) !important;
}

#ttfxWallStreetTape .ttfx-wst-clock{
    color: #dce7f5 !important;
}/* ==========================================================
   TTFX WALL STREET TAPE - ICONOS POR ACTIVO V1
   Pegar al final de assets/css/main.css
   Convierte BTC/USD, ETH/USD, EUR/USD, etc. en iconos.
   ========================================================== */

#ttfxWallStreetTape .ttfx-wst-sym{
    font-size: 0 !important;
    width: 30px !important;
    height: 22px !important;
    min-width: 30px !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.045) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.03) !important;
}

#ttfxWallStreetTape .ttfx-wst-sym::before{
    font-size: 11px !important;
    font-weight: 900 !important;
    font-family: "Space Mono", ui-monospace, monospace !important;
    line-height: 1 !important;
}

/* BTC */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="BTCUSD"] .ttfx-wst-sym{
    background: rgba(245,166,35,.13) !important;
    border-color: rgba(245,166,35,.42) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="BTCUSD"] .ttfx-wst-sym::before{
    content: "₿";
    color: #f5a623 !important;
    text-shadow: 0 0 10px rgba(245,166,35,.45) !important;
}

/* ETH */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="ETHUSD"] .ttfx-wst-sym{
    background: rgba(98,126,234,.14) !important;
    border-color: rgba(98,126,234,.45) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="ETHUSD"] .ttfx-wst-sym::before{
    content: "◆";
    color: #8da2ff !important;
    text-shadow: 0 0 10px rgba(98,126,234,.48) !important;
}

/* EUR/USD */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="EURUSD"] .ttfx-wst-sym{
    background: rgba(41,121,255,.13) !important;
    border-color: rgba(41,121,255,.45) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="EURUSD"] .ttfx-wst-sym::before{
    content: "€";
    color: #4da3ff !important;
    text-shadow: 0 0 10px rgba(41,121,255,.45) !important;
}

/* GBP/USD */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="GBPUSD"] .ttfx-wst-sym{
    background: rgba(0,230,118,.12) !important;
    border-color: rgba(0,230,118,.40) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="GBPUSD"] .ttfx-wst-sym::before{
    content: "£";
    color: #00ff88 !important;
    text-shadow: 0 0 10px rgba(0,255,136,.42) !important;
}

/* USD/JPY */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="USDJPY"] .ttfx-wst-sym{
    background: rgba(255,255,255,.07) !important;
    border-color: rgba(255,255,255,.20) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="USDJPY"] .ttfx-wst-sym::before{
    content: "¥";
    color: #f8fbff !important;
    text-shadow: 0 0 10px rgba(255,255,255,.28) !important;
}

/* GOLD */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="GOLD"] .ttfx-wst-sym{
    background: rgba(255,207,90,.16) !important;
    border-color: rgba(255,207,90,.48) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="GOLD"] .ttfx-wst-sym::before{
    content: "Au";
    color: #ffcf5a !important;
    font-size: 10px !important;
    text-shadow: 0 0 10px rgba(255,207,90,.42) !important;
}

/* S&P 500 */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="SPX"] .ttfx-wst-sym{
    background: rgba(0,230,118,.11) !important;
    border-color: rgba(0,230,118,.38) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="SPX"] .ttfx-wst-sym::before{
    content: "SP";
    color: #00e676 !important;
    font-size: 10px !important;
}

/* NASDAQ */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="NASDAQ"] .ttfx-wst-sym{
    background: rgba(41,121,255,.14) !important;
    border-color: rgba(41,121,255,.45) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="NASDAQ"] .ttfx-wst-sym::before{
    content: "NQ";
    color: #4da3ff !important;
    font-size: 10px !important;
}

/* DXY */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="DXY"] .ttfx-wst-sym{
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.22) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="DXY"] .ttfx-wst-sym::before{
    content: "$";
    color: #f8fbff !important;
}

/* WTI */
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="WTI"] .ttfx-wst-sym{
    background: rgba(255,61,87,.12) !important;
    border-color: rgba(255,61,87,.38) !important;
}
#ttfxWallStreetTape .ttfx-wst-item[data-symbol="WTI"] .ttfx-wst-sym::before{
    content: "OIL";
    color: #ff6b7f !important;
    font-size: 9px !important;
}

/* Ajuste de espacio para que la franja respire mejor */
#ttfxWallStreetTape .ttfx-wst-item{
    gap: 10px !important;
    padding: 0 22px !important;
}/* ==========================================================
   TTFX CLEAN DESK BACKGROUND V1
   Quita líneas/cuadros fuertes y deja estilo limpio tipo opción 2
   Pegar al final de assets/css/main.css
   ========================================================== */

/* Quitar grid/cuadrícula fuerte del fondo */
body::before,
body::after,
.ttfx-bg-grid,
.ttfx-grid-bg,
.ttfx-grid-layer,
.site::before,
.site::after,
#page::before,
#page::after,
.main::before,
.main::after,
.home::before,
.home::after{
    opacity: 0 !important;
    display: none !important;
    visibility: hidden !important;
}

/* Fondo general más limpio, oscuro e institucional */
body{
    background:
        radial-gradient(circle at 12% 12%, rgba(0,230,118,.13), transparent 34%),
        radial-gradient(circle at 78% 42%, rgba(255,61,87,.08), transparent 30%),
        radial-gradient(circle at 88% 65%, rgba(41,121,255,.10), transparent 36%),
        linear-gradient(135deg, #05080d 0%, #080d16 42%, #05070b 100%) !important;
}

/* Suavizar los fondos de secciones para que no parezcan cajas gigantes */
.hero,
.market,
.tracks,
.services,
.edge,
.brokers,
.proof,
.plans,
.cart,
.campus,
.academy,
.generic-page{
    background:
        radial-gradient(circle at 18% 20%, rgba(0,230,118,.045), transparent 38%),
        radial-gradient(circle at 85% 48%, rgba(41,121,255,.045), transparent 42%),
        rgba(4,8,14,.58) !important;
    border-color: rgba(0,230,118,.16) !important;
    box-shadow:
        0 20px 70px rgba(0,0,0,.30),
        inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

/* Si quieres que el hero se vea más como la segunda opción: sin caja tan marcada */
.hero{
    border-color: transparent !important;
    background:
        radial-gradient(circle at 18% 16%, rgba(0,230,118,.08), transparent 36%),
        radial-gradient(circle at 84% 45%, rgba(255,61,87,.06), transparent 34%),
        transparent !important;
    box-shadow: none !important;
}

/* Suavizar tarjetas internas, no quitarlas */
.ticker-card,
.orderbook,
.review-card,
.stats-card,
.plan-card,
.campus-card,
.service-card,
.edge-card,
.broker-card,
.temario-card,
.academy-step,
.resource-card,
.info-card,
.course-module,
.cart-card,
.track-feature,
.track-panel,
.track-preview-card,
.proof-card,
.svc-card,
.acad-step,
.step-row,
.payment-panel{
    background: rgba(8,13,22,.66) !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow:
        0 14px 40px rgba(0,0,0,.24),
        inset 0 0 0 1px rgba(255,255,255,.025) !important;
}

/* Hover más premium, menos borde verde exagerado */
.ticker-card:hover,
.service-card:hover,
.edge-card:hover,
.broker-card:hover,
.plan-card:hover,
.resource-card:hover,
.track-preview-card:hover,
.svc-card:hover,
.campus-card:hover{
    border-color: rgba(0,230,118,.28) !important;
    box-shadow:
        0 18px 55px rgba(0,0,0,.30),
        0 0 24px rgba(0,230,118,.08) !important;
}

/* Quitar líneas horizontales/dividers muy marcadas */
.divider,
.ttfx-divider,
.section-divider{
    opacity: .22 !important;
    background: linear-gradient(90deg, transparent, rgba(0,230,118,.22), transparent) !important;
}

/* Header más flotante y limpio */
.site-header,
.ttfx-header{
    border-color: rgba(0,230,118,.16) !important;
    box-shadow:
        0 16px 44px rgba(0,0,0,.30),
        0 0 22px rgba(0,230,118,.06) !important;
}

/* Fondo oscuro detrás del hero para evitar ese cuadro negro plano */
.hero .hero-panel,
.hero .hero-content,
.hero .hero-left,
.desk-panel{
    background-color: transparent !important;
}from pathlib import Path
code = r'''/* ==========================================================
   TTFX SECTION DESIGN CONTROLS V1
   Pegar al final de functions.php
   Crea controles desactivados por defecto para imagen, fondo,
   borde y tipografía independiente por sección.
   ========================================================== */

if (!function_exists('ttfx_section_design_v1_sections')) {
    function ttfx_section_design_v1_sections() {
        return array(
            'hero'      => array('label' => 'Hero', 'selector' => '.hero,#hero'),
            'market'    => array('label' => 'Market / Live Feed', 'selector' => '.market,#market'),
            'tracks'    => array('label' => 'Rutas / Tracks', 'selector' => '.tracks,#tracks'),
            'services'  => array('label' => 'Servicios', 'selector' => '.services,#services'),
            'edge'      => array('label' => 'Edge / Ventajas', 'selector' => '.edge,#edge'),
            'brokers'   => array('label' => 'Brokers', 'selector' => '.brokers,#brokers'),
            'proof'     => array('label' => 'Proof / Credibilidad', 'selector' => '.proof,#proof'),
            'plans'     => array('label' => 'Planes / Precios', 'selector' => '.plans,#plans'),
            'checkout'  => array('label' => 'Checkout / Compra', 'selector' => '.cart,#checkout'),
            'campus'    => array('label' => 'Campus', 'selector' => '.campus,#campus'),
            'academy'   => array('label' => 'Academy / Onboarding', 'selector' => '.academy,#academy'),
            'resources' => array('label' => 'Recursos', 'selector' => '.resources,#resources,.generic-page'),
            'footer'    => array('label' => 'Footer', 'selector' => '.site-footer,footer'),
        );
    }
}

if (!function_exists('ttfx_section_design_v1_defaults')) {
    function ttfx_section_design_v1_defaults() {
        $defaults = array();
        foreach (ttfx_section_design_v1_sections() as $key => $section) {
            $defaults[$key] = array(
                'enabled'            => '0',
                'image_url'          => '',
                'bg_color'           => '#05080d',
                'overlay_color'      => '#05080d',
                'overlay_opacity'    => '72',
                'bg_position'        => 'center center',
                'bg_size'            => 'cover',
                'bg_repeat'          => 'no-repeat',

                'border_enabled'     => '0',
                'border_color'       => '#00e676',
                'border_width'       => '1',
                'border_radius'      => '24',

                'type_enabled'       => '0',
                'font_family'        => 'inherit',
                'title_size'         => '',
                'title_color'        => '#ffffff',
                'text_color'         => '#b2c8e8',
                'accent_color'       => '#00e676',
            );
        }
        return $defaults;
    }
}

if (!function_exists('ttfx_section_design_v1_sanitize_hex')) {
    function ttfx_section_design_v1_sanitize_hex($value, $fallback) {
        $color = sanitize_hex_color((string) $value);
        return $color ? $color : $fallback;
    }
}

if (!function_exists('ttfx_section_design_v1_clamp')) {
    function ttfx_section_design_v1_clamp($value, $min, $max, $fallback) {
        if ('' === $value || null === $value) {
            return (string) $fallback;
        }

        $value = absint($value);
        return (string) max($min, min($max, $value));
    }
}

if (!function_exists('ttfx_section_design_v1_sanitize')) {
    function ttfx_section_design_v1_sanitize($input) {
        $defaults = ttfx_section_design_v1_defaults();
        $output   = $defaults;

        if (!is_array($input)) {
            return $output;
        }

        $position_choices = array(
            'center center',
            'center top',
            'center bottom',
            'left center',
            'right center',
            'left top',
            'right top',
        );

        $size_choices = array('cover', 'contain', 'auto');
        $repeat_choices = array('no-repeat', 'repeat', 'repeat-x', 'repeat-y');

        $font_choices = array(
            'inherit',
            'inter',
            'rajdhani',
            'space_grotesk',
            'montserrat',
            'poppins',
            'orbitron',
            'ibm_plex',
            'space_mono',
        );

        foreach ($defaults as $section_key => $section_defaults) {
            $raw = isset($input[$section_key]) && is_array($input[$section_key]) ? $input[$section_key] : array();

            $output[$section_key]['enabled']         = !empty($raw['enabled']) ? '1' : '0';
            $output[$section_key]['image_url']       = isset($raw['image_url']) ? esc_url_raw((string) $raw['image_url']) : '';
            $output[$section_key]['bg_color']        = ttfx_section_design_v1_sanitize_hex($raw['bg_color'] ?? '', $section_defaults['bg_color']);
            $output[$section_key]['overlay_color']   = ttfx_section_design_v1_sanitize_hex($raw['overlay_color'] ?? '', $section_defaults['overlay_color']);
            $output[$section_key]['overlay_opacity'] = ttfx_section_design_v1_clamp($raw['overlay_opacity'] ?? '', 0, 100, $section_defaults['overlay_opacity']);

            $position = isset($raw['bg_position']) ? sanitize_text_field((string) $raw['bg_position']) : $section_defaults['bg_position'];
            $output[$section_key]['bg_position'] = in_array($position, $position_choices, true) ? $position : $section_defaults['bg_position'];

            $size = isset($raw['bg_size']) ? sanitize_text_field((string) $raw['bg_size']) : $section_defaults['bg_size'];
            $output[$section_key]['bg_size'] = in_array($size, $size_choices, true) ? $size : $section_defaults['bg_size'];

            $repeat = isset($raw['bg_repeat']) ? sanitize_text_field((string) $raw['bg_repeat']) : $section_defaults['bg_repeat'];
            $output[$section_key]['bg_repeat'] = in_array($repeat, $repeat_choices, true) ? $repeat : $section_defaults['bg_repeat'];

            $output[$section_key]['border_enabled'] = !empty($raw['border_enabled']) ? '1' : '0';
            $output[$section_key]['border_color']   = ttfx_section_design_v1_sanitize_hex($raw['border_color'] ?? '', $section_defaults['border_color']);
            $output[$section_key]['border_width']   = ttfx_section_design_v1_clamp($raw['border_width'] ?? '', 0, 12, $section_defaults['border_width']);
            $output[$section_key]['border_radius']  = ttfx_section_design_v1_clamp($raw['border_radius'] ?? '', 0, 80, $section_defaults['border_radius']);

            $output[$section_key]['type_enabled'] = !empty($raw['type_enabled']) ? '1' : '0';

            $font = isset($raw['font_family']) ? sanitize_key((string) $raw['font_family']) : $section_defaults['font_family'];
            $output[$section_key]['font_family'] = in_array($font, $font_choices, true) ? $font : $section_defaults['font_family'];

            $title_size = isset($raw['title_size']) ? trim((string) $raw['title_size']) : '';
            $output[$section_key]['title_size'] = '' === $title_size ? '' : ttfx_section_design_v1_clamp($title_size, 18, 110, '');

            $output[$section_key]['title_color']  = ttfx_section_design_v1_sanitize_hex($raw['title_color'] ?? '', $section_defaults['title_color']);
            $output[$section_key]['text_color']   = ttfx_section_design_v1_sanitize_hex($raw['text_color'] ?? '', $section_defaults['text_color']);
            $output[$section_key]['accent_color'] = ttfx_section_design_v1_sanitize_hex($raw['accent_color'] ?? '', $section_defaults['accent_color']);
        }

        return $output;
    }
}

/*
 * Tu sanitizer principal del theme elimina campos nuevos.
 * Este filtro reinserta section_design de forma segura antes de guardar.
 */
add_filter('pre_update_option_truetradingfx_theme_options', function ($new_value, $old_value) {
    if (!is_array($new_value)) {
        return $new_value;
    }

    if (isset($_POST['truetradingfx_theme_options']['section_design'])) { // phpcs:ignore WordPress.Security.NonceVerification.Missing
        $raw = wp_unslash($_POST['truetradingfx_theme_options']['section_design']); // phpcs:ignore WordPress.Security.NonceVerification.Missing
        $new_value['section_design'] = ttfx_section_design_v1_sanitize($raw);
        return $new_value;
    }

    if (is_array($old_value) && isset($old_value['section_design'])) {
        $new_value['section_design'] = ttfx_section_design_v1_sanitize($old_value['section_design']);
    }

    return $new_value;
}, 20, 2);

if (!function_exists('ttfx_section_design_v1_get')) {
    function ttfx_section_design_v1_get() {
        $options  = function_exists('truetradingfx_get_theme_options') ? truetradingfx_get_theme_options() : get_option('truetradingfx_theme_options', array());
        $saved    = isset($options['section_design']) && is_array($options['section_design']) ? $options['section_design'] : array();
        $defaults = ttfx_section_design_v1_defaults();

        return ttfx_section_design_v1_sanitize(array_replace_recursive($defaults, $saved));
    }
}

if (!function_exists('ttfx_section_design_v1_hex_to_rgba')) {
    function ttfx_section_design_v1_hex_to_rgba($hex, $opacity_percent) {
        $hex = ltrim((string) $hex, '#');
        if (3 === strlen($hex)) {
            $hex = $hex[0] . $hex[0] . $hex[1] . $hex[1] . $hex[2] . $hex[2];
        }

        if (6 !== strlen($hex)) {
            $hex = '05080d';
        }

        $r = hexdec(substr($hex, 0, 2));
        $g = hexdec(substr($hex, 2, 2));
        $b = hexdec(substr($hex, 4, 2));
        $a = max(0, min(100, absint($opacity_percent))) / 100;

        return 'rgba(' . $r . ',' . $g . ',' . $b . ',' . $a . ')';
    }
}

if (!function_exists('ttfx_section_design_v1_font_value')) {
    function ttfx_section_design_v1_font_value($key) {
        $map = array(
            'inherit'        => 'inherit',
            'inter'          => '"Inter", sans-serif',
            'rajdhani'       => '"Rajdhani", sans-serif',
            'space_grotesk'  => '"Space Grotesk", sans-serif',
            'montserrat'     => '"Montserrat", sans-serif',
            'poppins'        => '"Poppins", sans-serif',
            'orbitron'       => '"Orbitron", sans-serif',
            'ibm_plex'       => '"IBM Plex Sans", sans-serif',
            'space_mono'     => '"Space Mono", monospace',
        );

        return isset($map[$key]) ? $map[$key] : 'inherit';
    }
}

add_action('wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'ttfx-section-design-fonts-v1',
        'https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Rajdhani:wght@500;600;700&family=Space+Grotesk:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&family=Montserrat:wght@400;500;600;700;800&family=Poppins:wght@400;500;600;700;800&family=Orbitron:wght@500;600;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap',
        array(),
        null
    );
}, 1);

add_action('wp_enqueue_scripts', function () {
    $sections = ttfx_section_design_v1_sections();
    $design   = ttfx_section_design_v1_get();
    $css      = '';

    foreach ($sections as $key => $section) {
        if (empty($design[$key])) {
            continue;
        }

        $cfg      = $design[$key];
        $selector = $section['selector'];

        if ('1' === (string) $cfg['enabled']) {
            $overlay = ttfx_section_design_v1_hex_to_rgba($cfg['overlay_color'], $cfg['overlay_opacity']);
            $base    = $cfg['bg_color'];

            if (!empty($cfg['image_url'])) {
                $css .= $selector . '{background-image:linear-gradient(0deg,' . $overlay . ',' . $overlay . '),url("' . esc_url($cfg['image_url']) . '")!important;background-color:' . $base . '!important;background-position:' . esc_attr($cfg['bg_position']) . '!important;background-size:' . esc_attr($cfg['bg_size']) . '!important;background-repeat:' . esc_attr($cfg['bg_repeat']) . '!important;}';
            } else {
                $css .= $selector . '{background:' . $base . '!important;}';
            }
        }

        if ('1' === (string) $cfg['border_enabled']) {
            $css .= $selector . '{border-style:solid!important;border-width:' . absint($cfg['border_width']) . 'px!important;border-color:' . $cfg['border_color'] . '!important;border-radius:' . absint($cfg['border_radius']) . 'px!important;}';
        }

        if ('1' === (string) $cfg['type_enabled']) {
            $font = ttfx_section_design_v1_font_value($cfg['font_family']);

            $css .= $selector . '{font-family:' . $font . '!important;}';
            $css .= $selector . ' h1,' . $selector . ' h2,' . $selector . ' h3,' . $selector . ' .section-title{color:' . $cfg['title_color'] . '!important;font-family:' . $font . '!important;}';

            if ('' !== $cfg['title_size']) {
                $css .= $selector . ' h1,' . $selector . ' h2,' . $selector . ' .section-title{font-size:' . absint($cfg['title_size']) . 'px!important;}';
            }

            $css .= $selector . ' p,' . $selector . ' li,' . $selector . ' .description,' . $selector . ' .hero-sub,' . $selector . ' .track-desc{color:' . $cfg['text_color'] . '!important;}';
            $css .= $selector . ' em,' . $selector . ' .accent,' . $selector . ' .eyebrow,' . $selector . ' .num,' . $selector . ' .up{color:' . $cfg['accent_color'] . '!important;}';
        }
    }

    if ($css) {
        wp_add_inline_style('truetradingfx-main', $css);
    }
}, 99);

add_action('admin_footer-appearance_page_truetradingfx-theme-options', function () {
    $sections = ttfx_section_design_v1_sections();
    $design   = ttfx_section_design_v1_get();
    ?>
    <style id="ttfx-section-design-admin-v1-css">
        .ttfx-section-design-box{
            margin:14px 0 18px;
            padding:14px;
            border:1px solid #dcdcde;
            border-radius:14px;
            background:linear-gradient(135deg,#f8fafc,#ffffff);
        }
        .ttfx-section-design-box h3{
            margin:0 0 6px!important;
            font-size:15px!important;
            line-height:1.25!important;
        }
        .ttfx-section-design-box .ttfx-sd-note{
            margin:0 0 12px!important;
            color:#646970;
            font-size:12px;
        }
        .ttfx-sd-grid{
            display:grid;
            grid-template-columns:repeat(3,minmax(0,1fr));
            gap:12px;
        }
        .ttfx-sd-field{
            min-width:0;
        }
        .ttfx-sd-field label{
            display:block;
            font-weight:700;
            margin-bottom:4px;
        }
        .ttfx-sd-field input[type="text"],
        .ttfx-sd-field input[type="url"],
        .ttfx-sd-field input[type="number"],
        .ttfx-sd-field select{
            width:100%;
            max-width:100%;
        }
        .ttfx-sd-check{
            display:flex!important;
            gap:8px;
            align-items:center;
            font-weight:700;
            margin:0!important;
            padding:10px 12px;
            border:1px solid #e2e4e7;
            background:#fff;
            border-radius:10px;
        }
        .ttfx-sd-media-row{
            display:flex;
            gap:6px;
            align-items:center;
        }
        .ttfx-sd-media-row input{
            flex:1;
        }
        .ttfx-sd-title{
            grid-column:1/-1;
            margin:6px 0 0;
            padding-top:10px;
            border-top:1px solid #e2e4e7;
            font-size:12px;
            font-weight:800;
            color:#1d2327;
            text-transform:uppercase;
            letter-spacing:.04em;
        }
        @media(max-width:1100px){
            .ttfx-sd-grid{grid-template-columns:1fr;}
            .ttfx-sd-media-row{flex-direction:column;align-items:stretch;}
        }
    </style>

    <script id="ttfx-section-design-admin-v1-js">
    (function(){
        var sections = <?php echo wp_json_encode($sections); ?>;
        var design = <?php echo wp_json_encode($design); ?>;

        function ready(fn){
            if (document.readyState !== 'loading') fn();
            else document.addEventListener('DOMContentLoaded', fn);
        }

        function clean(text){
            return (text || '')
                .toLowerCase()
                .normalize('NFD')
                .replace(/[\u0300-\u036f]/g,'');
        }

        function esc(value){
            return String(value == null ? '' : value)
                .replace(/&/g,'&amp;')
                .replace(/</g,'&lt;')
                .replace(/>/g,'&gt;')
                .replace(/"/g,'&quot;');
        }

        function isChecked(value){
            return String(value) === '1';
        }

        function fieldName(sectionKey, field){
            return 'truetradingfx_theme_options[section_design][' + sectionKey + '][' + field + ']';
        }

        function checkbox(sectionKey, field, label){
            var cfg = design[sectionKey] || {};
            var checked = isChecked(cfg[field]) ? ' checked' : '';
            return '<input type="hidden" name="' + esc(fieldName(sectionKey, field)) + '" value="0">' +
                   '<label class="ttfx-sd-check"><input type="checkbox" name="' + esc(fieldName(sectionKey, field)) + '" value="1"' + checked + '> ' + esc(label) + '</label>';
        }

        function input(sectionKey, field, label, type, placeholder){
            var cfg = design[sectionKey] || {};
            var value = cfg[field] || '';
            return '<div class="ttfx-sd-field">' +
                   '<label>' + esc(label) + '</label>' +
                   '<input type="' + esc(type || 'text') + '" name="' + esc(fieldName(sectionKey, field)) + '" value="' + esc(value) + '" placeholder="' + esc(placeholder || '') + '">' +
                   '</div>';
        }

        function mediaInput(sectionKey, field, label){
            var cfg = design[sectionKey] || {};
            var value = cfg[field] || '';
            var id = 'ttfx_sd_' + sectionKey + '_' + field;
            return '<div class="ttfx-sd-field">' +
                   '<label>' + esc(label) + '</label>' +
                   '<div class="ttfx-sd-media-row">' +
                   '<input id="' + esc(id) + '" type="url" name="' + esc(fieldName(sectionKey, field)) + '" value="' + esc(value) + '" placeholder="https://...">' +
                   '<button type="button" class="button ttfx-sd-media" data-target="' + esc(id) + '">Imagen</button>' +
                   '<button type="button" class="button ttfx-sd-clear" data-target="' + esc(id) + '">Quitar</button>' +
                   '</div>' +
                   '</div>';
        }

        function select(sectionKey, field, label, choices){
            var cfg = design[sectionKey] || {};
            var value = cfg[field] || '';
            var html = '<div class="ttfx-sd-field"><label>' + esc(label) + '</label><select name="' + esc(fieldName(sectionKey, field)) + '">';
            choices.forEach(function(choice){
                var selected = String(choice[0]) === String(value) ? ' selected' : '';
                html += '<option value="' + esc(choice[0]) + '"' + selected + '>' + esc(choice[1]) + '</option>';
            });
            html += '</select></div>';
            return html;
        }

        function buildBox(sectionKey, label){
            return '<div class="ttfx-section-design-box" data-section-design="' + esc(sectionKey) + '">' +
                '<h3>Diseño independiente: ' + esc(label) + '</h3>' +
                '<p class="ttfx-sd-note">Todo está desactivado por defecto. Actívalo solo cuando quieras usar imagen, fondo, borde o tipografía en esta sección.</p>' +
                '<div class="ttfx-sd-grid">' +
                    '<div>' + checkbox(sectionKey, 'enabled', 'Activar fondo / imagen') + '</div>' +
                    '<div>' + checkbox(sectionKey, 'border_enabled', 'Activar borde independiente') + '</div>' +
                    '<div>' + checkbox(sectionKey, 'type_enabled', 'Activar tipografía independiente') + '</div>' +

                    '<div class="ttfx-sd-title">Fondo / imagen</div>' +
                    mediaInput(sectionKey, 'image_url', 'Imagen de fondo') +
                    input(sectionKey, 'bg_color', 'Color base', 'color') +
                    input(sectionKey, 'overlay_color', 'Color overlay', 'color') +
                    input(sectionKey, 'overlay_opacity', 'Opacidad overlay 0-100', 'number') +
                    select(sectionKey, 'bg_position', 'Posición imagen', [
                        ['center center','Centro'],
                        ['center top','Arriba centro'],
                        ['center bottom','Abajo centro'],
                        ['left center','Izquierda'],
                        ['right center','Derecha'],
                        ['left top','Izquierda arriba'],
                        ['right top','Derecha arriba']
                    ]) +
                    select(sectionKey, 'bg_size', 'Tamaño imagen', [
                        ['cover','Cover / llenar'],
                        ['contain','Contain / completa'],
                        ['auto','Auto']
                    ]) +
                    select(sectionKey, 'bg_repeat', 'Repetición', [
                        ['no-repeat','No repetir'],
                        ['repeat','Repetir'],
                        ['repeat-x','Repetir horizontal'],
                        ['repeat-y','Repetir vertical']
                    ]) +

                    '<div class="ttfx-sd-title">Borde / cuadro</div>' +
                    input(sectionKey, 'border_color', 'Color borde', 'color') +
                    input(sectionKey, 'border_width', 'Grosor borde px', 'number') +
                    input(sectionKey, 'border_radius', 'Redondeo px', 'number') +

                    '<div class="ttfx-sd-title">Texto / fuente</div>' +
                    select(sectionKey, 'font_family', 'Fuente', [
                        ['inherit','Usar fuente global'],
                        ['inter','Inter'],
                        ['rajdhani','Rajdhani'],
                        ['space_grotesk','Space Grotesk'],
                        ['space_mono','Space Mono'],
                        ['montserrat','Montserrat'],
                        ['poppins','Poppins'],
                        ['orbitron','Orbitron'],
                        ['ibm_plex','IBM Plex Sans']
                    ]) +
                    input(sectionKey, 'title_size', 'Tamaño título px', 'number', 'Vacío = global') +
                    input(sectionKey, 'title_color', 'Color título', 'color') +
                    input(sectionKey, 'text_color', 'Color texto', 'color') +
                    input(sectionKey, 'accent_color', 'Color acento/palabra', 'color') +
                '</div>' +
            '</div>';
        }

        function titleToKey(text){
            text = clean(text);
            if (text.indexOf('hero') !== -1) return 'hero';
            if (text.indexOf('market') !== -1 || text.indexOf('live feed') !== -1) return 'market';
            if (text.indexOf('rutas') !== -1 || text.indexOf('tracks') !== -1) return 'tracks';
            if (text.indexOf('servicios') !== -1) return 'services';
            if (text.indexOf('edge') !== -1 || text.indexOf('ventajas') !== -1) return 'edge';
            if (text.indexOf('brokers') !== -1) return 'brokers';
            if (text.indexOf('proof') !== -1 || text.indexOf('credibilidad') !== -1) return 'proof';
            if (text.indexOf('planes') !== -1 || text.indexOf('precios') !== -1) return 'plans';
            if (text.indexOf('checkout') !== -1 || text.indexOf('compra') !== -1) return 'checkout';
            if (text.indexOf('campus') !== -1) return 'campus';
            if (text.indexOf('academy') !== -1 || text.indexOf('academia') !== -1 || text.indexOf('onboarding') !== -1) return 'academy';
            if (text.indexOf('recursos') !== -1 || text.indexOf('pdf') !== -1 || text.indexOf('plantillas') !== -1) return 'resources';
            if (text.indexOf('footer') !== -1 || text.indexOf('links') !== -1) return 'footer';
            return '';
        }

        function hexToRgba(hex, opacity){
            hex = String(hex || '#05080d').replace('#','');
            if (hex.length === 3) {
                hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];
            }
            var r = parseInt(hex.slice(0,2),16) || 5;
            var g = parseInt(hex.slice(2,4),16) || 8;
            var b = parseInt(hex.slice(4,6),16) || 13;
            var a = Math.max(0, Math.min(100, parseInt(opacity,10) || 0)) / 100;
            return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
        }

        function adminSelector(sectionKey){
            var entry = sections[sectionKey] || {};
            return entry.selector || '';
        }

        function getField(sectionKey, field){
            var el = document.querySelector('[name="' + CSS.escape(fieldName(sectionKey, field)) + '"]');
            if (!el) return '';
            if (el.type === 'checkbox') return el.checked ? '1' : '0';
            return el.value || '';
        }

        function buildPreviewCSS(){
            var css = '';
            Object.keys(sections).forEach(function(sectionKey){
                var selector = adminSelector(sectionKey);
                if (!selector) return;

                if (getField(sectionKey, 'enabled') === '1') {
                    var img = getField(sectionKey, 'image_url');
                    var bg = getField(sectionKey, 'bg_color') || '#05080d';
                    var overlay = hexToRgba(getField(sectionKey, 'overlay_color'), getField(sectionKey, 'overlay_opacity'));
                    var pos = getField(sectionKey, 'bg_position') || 'center center';
                    var size = getField(sectionKey, 'bg_size') || 'cover';
                    var rep = getField(sectionKey, 'bg_repeat') || 'no-repeat';

                    if (img) {
                        css += selector + '{background-image:linear-gradient(0deg,' + overlay + ',' + overlay + '),url("' + img.replace(/"/g,'') + '")!important;background-color:' + bg + '!important;background-position:' + pos + '!important;background-size:' + size + '!important;background-repeat:' + rep + '!important;}';
                    } else {
                        css += selector + '{background:' + bg + '!important;}';
                    }
                }

                if (getField(sectionKey, 'border_enabled') === '1') {
                    css += selector + '{border-style:solid!important;border-width:' + (parseInt(getField(sectionKey, 'border_width'),10) || 0) + 'px!important;border-color:' + (getField(sectionKey, 'border_color') || '#00e676') + '!important;border-radius:' + (parseInt(getField(sectionKey, 'border_radius'),10) || 0) + 'px!important;}';
                }

                if (getField(sectionKey, 'type_enabled') === '1') {
                    var title = getField(sectionKey, 'title_color') || '#fff';
                    var text = getField(sectionKey, 'text_color') || '#b2c8e8';
                    var accent = getField(sectionKey, 'accent_color') || '#00e676';
                    var sizeTitle = getField(sectionKey, 'title_size');

                    css += selector + ' h1,' + selector + ' h2,' + selector + ' h3,' + selector + ' .section-title{color:' + title + '!important;}';
                    if (sizeTitle) {
                        css += selector + ' h1,' + selector + ' h2,' + selector + ' .section-title{font-size:' + (parseInt(sizeTitle,10) || 48) + 'px!important;}';
                    }
                    css += selector + ' p,' + selector + ' li,' + selector + ' .description,' + selector + ' .hero-sub,' + selector + ' .track-desc{color:' + text + '!important;}';
                    css += selector + ' em,' + selector + ' .accent,' + selector + ' .eyebrow,' + selector + ' .num,' + selector + ' .up{color:' + accent + '!important;}';
                }
            });
            return css;
        }

        function applyPreview(){
            var frame = document.getElementById('ttfxLivePreviewFrame');
            if (!frame) return;

            try {
                var doc = frame.contentDocument || frame.contentWindow.document;
                if (!doc || !doc.head) return;

                var style = doc.getElementById('ttfx-section-design-preview-v1');
                if (!style) {
                    style = doc.createElement('style');
                    style.id = 'ttfx-section-design-preview-v1';
                    doc.head.appendChild(style);
                }
                style.textContent = buildPreviewCSS();
            } catch(e) {}
        }

        ready(function(){
            var wrap = document.querySelector('.ttfx-options-wrap');
            if (!wrap) return;

            wrap.querySelectorAll('.ttfx-section').forEach(function(section){
                var h2 = section.querySelector('h2');
                if (!h2) return;

                var key = titleToKey(h2.textContent);
                if (!key || section.querySelector('[data-section-design="' + key + '"]')) return;

                var label = sections[key] && sections[key].label ? sections[key].label : key;
                h2.insertAdjacentHTML('afterend', buildBox(key, label));
            });

            document.addEventListener('click', function(e){
                var mediaBtn = e.target.closest('.ttfx-sd-media');
                if (mediaBtn) {
                    e.preventDefault();

                    var target = document.getElementById(mediaBtn.getAttribute('data-target'));
                    if (!target || typeof wp === 'undefined' || !wp.media) return;

                    var frame = wp.media({
                        title: 'Seleccionar imagen de fondo',
                        button: { text: 'Usar esta imagen' },
                        multiple: false
                    });

                    frame.on('select', function(){
                        var attachment = frame.state().get('selection').first().toJSON();
                        target.value = attachment.url || '';
                        target.dispatchEvent(new Event('input', {bubbles:true}));
                        target.dispatchEvent(new Event('change', {bubbles:true}));
                        applyPreview();
                    });

                    frame.open();
                    return;
                }

                var clearBtn = e.target.closest('.ttfx-sd-clear');
                if (clearBtn) {
                    e.preventDefault();
                    var input = document.getElementById(clearBtn.getAttribute('data-target'));
                    if (input) {
                        input.value = '';
                        input.dispatchEvent(new Event('input', {bubbles:true}));
                        input.dispatchEvent(new Event('change', {bubbles:true}));
                        applyPreview();
                    }
                }
            });

            wrap.addEventListener('input', applyPreview);
            wrap.addEventListener('change', applyPreview);

            var previewFrame = document.getElementById('ttfxLivePreviewFrame');
            if (previewFrame) {
                previewFrame.addEventListener('load', function(){
                    setTimeout(applyPreview, 250);
                });
            }

            setTimeout(applyPreview, 600);
        });
    })();
    </script>
    <?php
}, 30);
'''
path = Path('/mnt/data/TTFX_SECTION_DESIGN_CONTROLS_DISABLED_V1_FUNCTIONS_PEGAR_FINAL.txt')
path.write_text(code, encoding='utf-8')
print(path)
/* ==========================================================
   TTFX REMOVE HERO BIG BLACK BOX V1
   Quita el cuadro negro grande del Hero y deja el fondo abierto
   Pegar al final de assets/css/main.css
   ========================================================== */

#hero,
.hero,
.ttfx-hero,
.ttfx-hero-section,
.hero-section{
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Quitar pseudo-capas que puedan estar creando el cuadro */
#hero::before,
#hero::after,
.hero::before,
.hero::after,
.ttfx-hero::before,
.ttfx-hero::after,
.ttfx-hero-section::before,
.ttfx-hero-section::after{
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Quitar marco de contenedores internos del hero */
#hero .hero-inner,
#hero .hero-wrap,
#hero .hero-shell,
#hero .hero-frame,
#hero .hero-card,
#hero .hero-panel,
#hero .hero-container,
#hero .ttfx-hero-inner,
#hero .ttfx-hero-wrap,
#hero .ttfx-hero-shell,
#hero .ttfx-hero-card,
.hero .hero-inner,
.hero .hero-wrap,
.hero .hero-shell,
.hero .hero-frame,
.hero .hero-card,
.hero .hero-panel,
.hero .hero-container{
    background: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Mantener el panel de mercado del hero visible */
#hero .desk-panel,
.hero .desk-panel,
#hero .market-panel,
.hero .market-panel,
#hero .ttfx-desk-panel,
.hero .ttfx-desk-panel{
    background: rgba(12, 13, 18, .72) !important;
    border: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.32) !important;
    border-radius: 22px !important;
}

/* Fondo general limpio detrás del hero */
body{
    background:
        radial-gradient(circle at 12% 18%, rgba(0,230,118,.16), transparent 34%),
        radial-gradient(circle at 84% 44%, rgba(41,121,255,.10), transparent 36%),
        radial-gradient(circle at 78% 62%, rgba(255,61,87,.07), transparent 32%),
        linear-gradient(135deg, #05080d 0%, #080d16 42%, #05070b 100%) !important;
}/* ==========================================================
   TTFX HEADER FULL WIDTH PRO V1
   Hace que el menú use casi todo el ancho de pantalla
   y separa mejor los apartados.
   Pegar al final de assets/css/main.css
   ========================================================== */

:root{
    --ttfx-header-max-width: 1880px;
    --ttfx-header-side-space: 28px;
    --ttfx-header-menu-gap: 18px;
    --ttfx-header-menu-font: 12px;
    --ttfx-header-logo-min-width: 245px;
    --ttfx-header-search-width: 230px;
}

@media (min-width: 1100px){

    body:not(.wp-admin) header,
    body:not(.wp-admin) .site-header,
    body:not(.wp-admin) .ttfx-header,
    body:not(.wp-admin) .ttfx-header-pro,
    body:not(.wp-admin) .ttfx-main-header,
    body:not(.wp-admin) .main-header{
        width:100% !important;
        max-width:none !important;
    }

    body:not(.wp-admin) header > *,
    body:not(.wp-admin) .site-header > *,
    body:not(.wp-admin) .ttfx-header > *,
    body:not(.wp-admin) .ttfx-header-pro,
    body:not(.wp-admin) .ttfx-header-wrap,
    body:not(.wp-admin) .ttfx-header-inner,
    body:not(.wp-admin) .ttfx-header-shell,
    body:not(.wp-admin) .ttfx-nav-wrap,
    body:not(.wp-admin) .ttfx-nav-shell,
    body:not(.wp-admin) .ttfx-main-header,
    body:not(.wp-admin) .main-header,
    body:not(.wp-admin) .nav-shell,
    body:not(.wp-admin) .navbar,
    body:not(.wp-admin) .main-nav{
        width:calc(100vw - (var(--ttfx-header-side-space) * 2)) !important;
        max-width:var(--ttfx-header-max-width) !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    /* Barra del menú más respirada */
    body:not(.wp-admin) header nav,
    body:not(.wp-admin) header .menu,
    body:not(.wp-admin) header .nav,
    body:not(.wp-admin) .ttfx-main-nav,
    body:not(.wp-admin) .main-nav,
    body:not(.wp-admin) .ttfx-menu{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:var(--ttfx-header-menu-gap) !important;
        flex:1 1 auto !important;
        min-width:0 !important;
        white-space:nowrap !important;
    }

    body:not(.wp-admin) header nav ul,
    body:not(.wp-admin) header .menu ul,
    body:not(.wp-admin) .ttfx-menu ul,
    body:not(.wp-admin) .main-nav ul{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:var(--ttfx-header-menu-gap) !important;
        flex-wrap:nowrap !important;
        white-space:nowrap !important;
    }

    body:not(.wp-admin) header nav a,
    body:not(.wp-admin) header .menu a,
    body:not(.wp-admin) .ttfx-menu a,
    body:not(.wp-admin) .main-nav a{
        white-space:nowrap !important;
        font-size:var(--ttfx-header-menu-font) !important;
        padding-left:4px !important;
        padding-right:4px !important;
    }

    /* Logo a la izquierda sin apretar el menú */
    body:not(.wp-admin) header .logo,
    body:not(.wp-admin) header .brand,
    body:not(.wp-admin) header .site-branding,
    body:not(.wp-admin) .ttfx-logo,
    body:not(.wp-admin) .ttfx-brand{
        flex:0 0 auto !important;
        min-width:var(--ttfx-header-logo-min-width) !important;
    }

    /* Buscador más controlado */
    body:not(.wp-admin) header input[type="search"],
    body:not(.wp-admin) header input[type="text"][placeholder*="Buscar"],
    body:not(.wp-admin) .ttfx-search input{
        width:var(--ttfx-header-search-width) !important;
        max-width:var(--ttfx-header-search-width) !important;
        min-width:180px !important;
    }

    /* Botones de la derecha sin comprimirse */
    body:not(.wp-admin) header a,
    body:not(.wp-admin) header button{
        flex-shrink:0 !important;
    }
}

/* Pantallas medianas: baja un poco separación para que no se rompa */
@media (min-width:1100px) and (max-width:1350px){
    :root{
        --ttfx-header-side-space: 18px;
        --ttfx-header-menu-gap: 10px;
        --ttfx-header-menu-font: 10.5px;
        --ttfx-header-logo-min-width: 190px;
        --ttfx-header-search-width: 180px;
    }
}/* ==========================================================
   TTFX HEADER + LIVE MARKET PRO V2
   ARCHIVO: assets/css/main.css
   PEGAR AL FINAL DEL ARCHIVO
   ========================================================== */

/* ---------- HEADER FULL WIDTH ---------- */
body:not(.wp-admin) .ttfx-wide-header-v2,
body:not(.wp-admin) header.ttfx-wide-header-v2,
body:not(.wp-admin) .ttfx-wide-header-v2.ttfx-header-pro,
body:not(.wp-admin) .ttfx-wide-header-v2.ttfx-main-header{
    width:calc(100vw - 32px)!important;
    max-width:1880px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    left:50%!important;
    right:auto!important;
    transform:translateX(-50%)!important;
    box-sizing:border-box!important;
}

body:not(.wp-admin) .ttfx-wide-header-v2 > *,
body:not(.wp-admin) .ttfx-wide-header-v2 .ttfx-header-inner,
body:not(.wp-admin) .ttfx-wide-header-v2 .ttfx-header-wrap,
body:not(.wp-admin) .ttfx-wide-header-v2 .ttfx-header-shell,
body:not(.wp-admin) .ttfx-wide-header-v2 .nav-shell,
body:not(.wp-admin) .ttfx-wide-header-v2 .navbar{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
}

body:not(.wp-admin) .ttfx-wide-header-v2 nav,
body:not(.wp-admin) .ttfx-wide-header-v2 .menu,
body:not(.wp-admin) .ttfx-wide-header-v2 .main-nav,
body:not(.wp-admin) .ttfx-wide-header-v2 .ttfx-menu,
body:not(.wp-admin) .ttfx-wide-header-v2 ul{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(10px, .95vw, 24px)!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
}

body:not(.wp-admin) .ttfx-wide-header-v2 a,
body:not(.wp-admin) .ttfx-wide-header-v2 button{
    flex-shrink:0!important;
    white-space:nowrap!important;
}

body:not(.wp-admin) .ttfx-wide-header-v2 nav a,
body:not(.wp-admin) .ttfx-wide-header-v2 .menu a,
body:not(.wp-admin) .ttfx-wide-header-v2 .main-nav a,
body:not(.wp-admin) .ttfx-wide-header-v2 .ttfx-menu a{
    font-size:clamp(10px, .58vw, 13px)!important;
    padding-left:2px!important;
    padding-right:2px!important;
}

body:not(.wp-admin) .ttfx-wide-header-v2 input[type="search"],
body:not(.wp-admin) .ttfx-wide-header-v2 input[type="text"][placeholder*="Buscar"],
body:not(.wp-admin) .ttfx-wide-header-v2 .search-field{
    width:clamp(160px, 12vw, 260px)!important;
    max-width:260px!important;
}

@media(max-width:1280px){
    body:not(.wp-admin) .ttfx-wide-header-v2{
        width:calc(100vw - 16px)!important;
    }
    body:not(.wp-admin) .ttfx-wide-header-v2 nav,
    body:not(.wp-admin) .ttfx-wide-header-v2 .menu,
    body:not(.wp-admin) .ttfx-wide-header-v2 .main-nav,
    body:not(.wp-admin) .ttfx-wide-header-v2 .ttfx-menu,
    body:not(.wp-admin) .ttfx-wide-header-v2 ul{
        gap:9px!important;
    }
}

/* ---------- LIVE MARKET PRO ---------- */
.ttfx-live-market-pro-v2{
    position:relative;
    width:min(1800px, calc(100vw - 72px));
    margin:80px auto;
    color:#f7fbff;
    font-family:inherit;
    isolation:isolate;
}

.ttfx-live-market-pro-v2 *,
.ttfx-live-market-pro-v2 *::before,
.ttfx-live-market-pro-v2 *::after{
    box-sizing:border-box;
}

.ttfx-live-market-pro-v2::before{
    content:"";
    position:absolute;
    inset:-70px -120px;
    z-index:-1;
    background:
        radial-gradient(circle at 15% 15%, rgba(0,230,118,.16), transparent 34%),
        radial-gradient(circle at 85% 60%, rgba(41,121,255,.10), transparent 34%),
        linear-gradient(135deg, rgba(0,230,118,.035), transparent 42%);
    pointer-events:none;
}

.ttfx-market-head-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.ttfx-market-kicker-v2{
    display:flex;
    align-items:center;
    gap:8px;
    color:#00e676;
    font-size:12px;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.ttfx-market-kicker-v2::after{
    content:"";
    width:8px;
    height:8px;
    border-radius:999px;
    background:#00e676;
    box-shadow:0 0 18px rgba(0,230,118,.95);
}

.ttfx-market-title-v2{
    margin:0;
    color:#fff;
    font-size:clamp(28px, 2.6vw, 50px);
    line-height:1;
    letter-spacing:-.04em;
}

.ttfx-market-status-v2{
    display:flex;
    align-items:center;
    gap:18px;
    color:#afbac8;
    font-size:13px;
    white-space:nowrap;
}

.ttfx-market-status-dot-v2{
    display:inline-flex;
    align-items:center;
    gap:8px;
}

.ttfx-market-status-dot-v2::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:50%;
    background:#00e676;
    box-shadow:0 0 20px rgba(0,230,118,.75);
}

.ttfx-market-cards-v2{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    gap:14px;
    margin-bottom:18px;
}

.ttfx-market-card-v2{
    position:relative;
    min-height:118px;
    padding:18px 18px 14px;
    overflow:hidden;
    border-radius:16px;
    background:linear-gradient(180deg, rgba(12,18,30,.86), rgba(5,8,13,.86));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 46px rgba(0,0,0,.22);
}

.ttfx-market-card-v2::after{
    content:"";
    position:absolute;
    right:14px;
    bottom:12px;
    width:92px;
    height:38px;
    opacity:.95;
    background:var(--ttfx-mini-spark, linear-gradient(135deg, transparent, rgba(0,230,118,.18)));
    clip-path:polygon(0 72%, 11% 52%, 21% 61%, 32% 38%, 43% 54%, 54% 25%, 66% 36%, 78% 16%, 90% 24%, 100% 8%, 100% 100%, 0 100%);
}

.ttfx-market-card-top-v2{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:13px;
    color:#e9eef8;
    font-size:13px;
    font-weight:900;
    letter-spacing:.02em;
}

.ttfx-market-icon-v2{
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
    font-size:14px;
}

.ttfx-market-price-v2{
    font-size:clamp(22px, 1.45vw, 31px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
    font-variant-numeric:tabular-nums;
}

.ttfx-market-change-v2{
    margin-top:8px;
    font-size:13px;
    font-weight:850;
    font-variant-numeric:tabular-nums;
}

.ttfx-up-v2{
    color:#00e676!important;
}

.ttfx-down-v2{
    color:#ff3d5a!important;
}

.ttfx-market-grid-v2{
    display:grid;
    grid-template-columns:minmax(0, 1fr) 460px;
    gap:18px;
    align-items:stretch;
}

.ttfx-chart-panel-v2,
.ttfx-order-panel-v2{
    background:linear-gradient(180deg, rgba(7,13,23,.88), rgba(5,8,13,.92));
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
    overflow:hidden;
}

.ttfx-chart-toolbar-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.015);
}

.ttfx-chart-left-v2,
.ttfx-chart-right-v2{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
}

.ttfx-symbol-pill-v2{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:8px 12px;
    border-radius:12px;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.08);
    font-weight:950;
}

.ttfx-tf-v2{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:32px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.035);
    color:#c8d1dd;
    font-size:12px;
    font-weight:900;
}

.ttfx-tf-v2.is-active{
    color:#00e676;
    border-color:rgba(0,230,118,.45);
    background:rgba(0,230,118,.10);
}

.ttfx-live-pill-v2{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#00e676;
    font-size:12px;
    font-weight:900;
}

.ttfx-live-pill-v2::before{
    content:"";
    width:8px;
    height:8px;
    border-radius:50%;
    background:#00e676;
    box-shadow:0 0 18px rgba(0,230,118,.9);
}

.ttfx-chart-meta-v2{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 18px;
    color:#bac6d5;
    font-size:13px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.ttfx-chart-meta-v2 strong{
    color:#fff;
}

.ttfx-chart-shell-v2{
    position:relative;
    height:520px;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        radial-gradient(circle at 50% 0%, rgba(0,230,118,.07), transparent 34%),
        #060c15;
    background-size:100% 54px, 92px 100%, auto, auto;
}

.ttfx-chart-canvas-v2{
    display:block;
    width:100%;
    height:100%;
}

.ttfx-chart-price-tag-v2{
    position:absolute;
    right:18px;
    top:120px;
    padding:7px 9px;
    border-radius:7px;
    background:#00e676;
    color:#00140b;
    font-size:12px;
    font-weight:950;
    font-variant-numeric:tabular-nums;
}

.ttfx-chart-footer-v2{
    display:grid;
    grid-template-columns:repeat(6, minmax(0, 1fr));
    border-top:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.018);
}

.ttfx-chart-stat-v2{
    padding:16px;
    border-right:1px solid rgba(255,255,255,.07);
    color:#9ba8b8;
    font-size:12px;
}

.ttfx-chart-stat-v2:last-child{
    border-right:0;
}

.ttfx-chart-stat-v2 strong{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:15px;
    font-weight:950;
    font-variant-numeric:tabular-nums;
}

.ttfx-order-panel-v2{
    padding:18px;
}

.ttfx-order-head-v2{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.ttfx-order-head-v2 h3{
    margin:0;
    color:#fff;
    font-size:18px;
    line-height:1;
}

.ttfx-order-select-v2{
    color:#dce6f3;
    background:rgba(255,255,255,.035);
    border:1px solid rgba(255,255,255,.10);
    border-radius:10px;
    padding:8px 12px;
    font-weight:900;
}

.ttfx-order-cols-v2,
.ttfx-order-row-v2{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
    align-items:center;
}

.ttfx-order-cols-v2{
    color:#9aa7b6;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
    padding:7px 0;
}

.ttfx-order-row-v2{
    position:relative;
    padding:5px 0;
    font-size:13px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}

.ttfx-order-row-v2 span{
    position:relative;
    z-index:1;
}

.ttfx-order-row-v2::after{
    content:"";
    position:absolute;
    right:0;
    top:3px;
    bottom:3px;
    width:var(--ttfx-depth, 40%);
    border-radius:5px;
    opacity:.22;
}

.ttfx-order-row-v2.ask-v2{
    color:#ff4d66;
}

.ttfx-order-row-v2.ask-v2::after{
    background:#ff3d5a;
}

.ttfx-order-row-v2.bid-v2{
    color:#00e676;
}

.ttfx-order-row-v2.bid-v2::after{
    background:#00e676;
}

.ttfx-order-mid-v2{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin:14px 0;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ttfx-order-current-v2{
    color:#00e676;
    font-size:28px;
    font-weight:950;
    line-height:1;
    font-variant-numeric:tabular-nums;
}

.ttfx-order-current-v2 small{
    display:block;
    margin-top:5px;
    font-size:13px;
}

.ttfx-depth-v2{
    position:relative;
    height:90px;
    margin-top:18px;
    border-radius:12px;
    overflow:hidden;
    background:linear-gradient(90deg, rgba(255,61,90,.20), rgba(0,230,118,.20));
    border:1px solid rgba(255,255,255,.08);
}

.ttfx-depth-v2::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(160deg, transparent 0 42%, rgba(255,61,90,.65) 43% 49%, transparent 50%),
        linear-gradient(20deg, transparent 0 48%, rgba(0,230,118,.70) 49% 55%, transparent 56%);
    opacity:.85;
}

@media(max-width:1280px){
    .ttfx-live-market-pro-v2{
        width:calc(100vw - 34px);
    }
    .ttfx-market-cards-v2{
        grid-template-columns:repeat(3, minmax(0,1fr));
    }
    .ttfx-market-grid-v2{
        grid-template-columns:1fr;
    }
}

@media(max-width:760px){
    .ttfx-market-head-v2{
        align-items:flex-start;
        flex-direction:column;
    }
    .ttfx-market-cards-v2{
        grid-template-columns:1fr;
    }
    .ttfx-chart-shell-v2{
        height:380px;
    }
    .ttfx-chart-footer-v2{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}css = r'''/* ==========================================================
   TTFX MARKET PRO SAFE V3 — CSS
   DÓNDE VA: /assets/css/main.css
   PEGAR AL FINAL
   ========================================================== */

body:not(.wp-admin) .ttfx-wide-header-safe-v3{
    width:calc(100vw - 28px)!important;
    max-width:1880px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

body:not(.wp-admin) .ttfx-wide-header-safe-v3 nav,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 .menu,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 .main-nav,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 .ttfx-menu,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 ul{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(10px, .85vw, 22px)!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
}

body:not(.wp-admin) .ttfx-wide-header-safe-v3 a,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 button{
    white-space:nowrap!important;
    flex-shrink:0!important;
}

.ttfx-market-pro-safe-v3{
    width:min(1780px, calc(100vw - 64px));
    margin:80px auto;
    color:#f7fbff;
    position:relative;
    isolation:isolate;
}

.ttfx-market-pro-safe-v3 *,
.ttfx-market-pro-safe-v3 *::before,
.ttfx-market-pro-safe-v3 *::after{
    box-sizing:border-box;
}

.ttfx-market-pro-safe-v3::before{
    content:"";
    position:absolute;
    inset:-80px -110px;
    z-index:-1;
    pointer-events:none;
    background:
        radial-gradient(circle at 12% 18%, rgba(0,230,118,.16), transparent 32%),
        radial-gradient(circle at 85% 50%, rgba(41,121,255,.10), transparent 34%),
        linear-gradient(135deg, rgba(0,230,118,.035), transparent 45%);
}

.ttfx-mp-head-v3{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.ttfx-mp-kicker-v3{
    color:#00e676;
    font-size:12px;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.ttfx-mp-kicker-v3::after{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    margin-left:8px;
    border-radius:50%;
    background:#00e676;
    box-shadow:0 0 18px rgba(0,230,118,.95);
}

.ttfx-mp-title-v3{
    margin:0;
    color:#fff;
    font-size:clamp(30px, 2.65vw, 52px);
    line-height:1;
    letter-spacing:-.045em;
}

.ttfx-mp-status-v3{
    display:flex;
    align-items:center;
    gap:18px;
    color:#afbac8;
    font-size:13px;
    white-space:nowrap;
}

.ttfx-mp-status-v3 strong{
    color:#00e676;
}

.ttfx-mp-cards-v3{
    display:grid;
    grid-template-columns:repeat(6, minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.ttfx-mp-card-v3{
    min-height:122px;
    padding:18px;
    border-radius:17px;
    background:linear-gradient(180deg, rgba(12,18,30,.88), rgba(5,8,13,.90));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 46px rgba(0,0,0,.24);
    cursor:pointer;
    overflow:hidden;
    position:relative;
}

.ttfx-mp-card-v3:hover{
    border-color:rgba(0,230,118,.38);
    transform:translateY(-1px);
}

.ttfx-mp-card-v3::after{
    content:"";
    position:absolute;
    right:14px;
    bottom:12px;
    width:92px;
    height:38px;
    opacity:.9;
    background:var(--spark, linear-gradient(135deg, transparent, rgba(0,230,118,.22)));
    clip-path:polygon(0 70%,12% 55%,22% 62%,34% 38%,45% 54%,56% 26%,67% 36%,78% 16%,90% 24%,100% 8%,100% 100%,0 100%);
}

.ttfx-mp-card-top-v3{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:13px;
    color:#e9eef8;
    font-size:13px;
    font-weight:900;
}

.ttfx-mp-icon-v3{
    width:26px;
    height:26px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.ttfx-mp-price-v3{
    font-size:clamp(23px,1.45vw,32px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
    font-variant-numeric:tabular-nums;
}

.ttfx-mp-change-v3{
    margin-top:8px;
    font-size:13px;
    font-weight:850;
    font-variant-numeric:tabular-nums;
}

.ttfx-up-v3{color:#00e676!important;}
.ttfx-down-v3{color:#ff3d5a!important;}

.ttfx-mp-grid-v3{
    display:grid;
    grid-template-columns:minmax(0,1fr) 455px;
    gap:18px;
}

.ttfx-mp-chart-panel-v3,
.ttfx-mp-book-v3{
    background:linear-gradient(180deg, rgba(7,13,23,.90), rgba(5,8,13,.94));
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
    overflow:hidden;
}

.ttfx-mp-toolbar-v3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ttfx-mp-left-v3,
.ttfx-mp-right-v3{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}

.ttfx-mp-symbol-v3,
.ttfx-mp-tf-v3{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:32px;
    padding:0 12px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.035);
    color:#c8d1dd;
    font-size:12px;
    font-weight:900;
}

.ttfx-mp-tf-v3.is-active{
    color:#00e676;
    border-color:rgba(0,230,118,.45);
    background:rgba(0,230,118,.10);
}

.ttfx-mp-live-v3{
    color:#00e676;
    font-weight:900;
    font-size:12px;
}

.ttfx-mp-meta-v3{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 18px;
    color:#bac6d5;
    font-size:13px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.ttfx-mp-meta-v3 strong{color:#fff;}

.ttfx-mp-chart-shell-v3{
    position:relative;
    height:530px;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        radial-gradient(circle at 50% 0%, rgba(0,230,118,.07), transparent 35%),
        #060c15;
    background-size:100% 54px, 92px 100%, auto, auto;
}

.ttfx-mp-canvas-v3{
    display:block;
    width:100%;
    height:100%;
}

.ttfx-mp-price-tag-v3{
    position:absolute;
    right:18px;
    top:116px;
    padding:7px 9px;
    border-radius:7px;
    background:#00e676;
    color:#00140b;
    font-size:12px;
    font-weight:950;
}

.ttfx-mp-stats-v3{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    border-top:1px solid rgba(255,255,255,.08);
}

.ttfx-mp-stat-v3{
    padding:16px;
    border-right:1px solid rgba(255,255,255,.07);
    color:#9ba8b8;
    font-size:12px;
}

.ttfx-mp-stat-v3:last-child{border-right:0;}

.ttfx-mp-stat-v3 strong{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:15px;
    font-weight:950;
}

.ttfx-mp-book-v3{
    padding:18px;
}

.ttfx-mp-book-head-v3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.ttfx-mp-book-head-v3 h3{
    margin:0;
    font-size:18px;
    color:#fff;
}

.ttfx-mp-book-cols-v3,
.ttfx-mp-row-v3{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
}

.ttfx-mp-book-cols-v3{
    color:#9aa7b6;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    padding:7px 0;
}

.ttfx-mp-row-v3{
    position:relative;
    padding:5px 0;
    font-size:13px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}

.ttfx-mp-row-v3 span{position:relative;z-index:1;}

.ttfx-mp-row-v3::after{
    content:"";
    position:absolute;
    right:0;
    top:3px;
    bottom:3px;
    width:var(--depth,40%);
    border-radius:5px;
    opacity:.22;
}

.ttfx-mp-ask-v3{color:#ff4d66;}
.ttfx-mp-ask-v3::after{background:#ff3d5a;}
.ttfx-mp-bid-v3{color:#00e676;}
.ttfx-mp-bid-v3::after{background:#00e676;}

.ttfx-mp-mid-v3{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin:14px 0;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ttfx-mp-current-v3{
    color:#00e676;
    font-size:28px;
    font-weight:950;
}

.ttfx-mp-current-v3 small{
    display:block;
    margin-top:5px;
    font-size:13px;
}

.ttfx-mp-depth-v3{
    height:90px;
    margin-top:18px;
    border-radius:12px;
    overflow:hidden;
    background:
        linear-gradient(160deg, transparent 0 42%, rgba(255,61,90,.62) 43% 49%, transparent 50%),
        linear-gradient(20deg, transparent 0 48%, rgba(0,230,118,.68) 49% 55%, transparent 56%),
        linear-gradient(90deg, rgba(255,61,90,.18), rgba(0,230,118,.18));
    border:1px solid rgba(255,255,255,.08);
}

@media(max-width:1280px){
    .ttfx-market-pro-safe-v3{width:calc(100vw - 34px);}
    .ttfx-mp-cards-v3{grid-template-columns:repeat(3,minmax(0,1fr));}
    .ttfx-mp-grid-v3{grid-template-columns:1fr;}
}

@media(max-width:760px){
    .ttfx-mp-head-v3{align-items:flex-start;flex-direction:column;}
    .ttfx-mp-cards-v3{grid-template-columns:1fr;}
    .ttfx-mp-chart-shell-v3{height:380px;}
    .ttfx-mp-stats-v3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
'''

js = r'''/* ==========================================================
   TTFX MARKET PRO SAFE V3 — JS
   DÓNDE VA: /assets/js/main.js
   PEGAR AL FINAL

   IMPORTANTE:
   Este JS NO busca secciones a ciegas.
   Solo corre si existe #ttfxMarketProV3 o #market.
   ========================================================== */

(function(){
    'use strict';

    function ready(fn){
        if (document.readyState !== 'loading') fn();
        else document.addEventListener('DOMContentLoaded', fn);
    }

    function money(v, d){
        return Number(v).toLocaleString('en-US', {
            minimumFractionDigits:d,
            maximumFractionDigits:d
        });
    }

    function pct(v){
        return (v >= 0 ? '+' : '') + v.toFixed(2) + '%';
    }

    function rand(min,max){
        return min + Math.random() * (max - min);
    }

    function headerFix(){
        var h = document.querySelector('header, .site-header, .ttfx-header, .ttfx-header-pro, .ttfx-main-header, .main-header');
        if (h) h.classList.add('ttfx-wide-header-safe-v3');
    }

    function mount(){
        var exact = document.getElementById('ttfxMarketProV3');
        if (exact) return exact;

        var byId = document.getElementById('market');
        if (byId) return byId;

        return null;
    }

    var assets = [
        {id:'BTC', icon:'₿', label:'BTC / USD', price:67952.77, decimals:2, vol:.0019, change:.36},
        {id:'ETH', icon:'◆', label:'ETH / USD', price:3198.50, decimals:2, vol:.0022, change:.39},
        {id:'EUR', icon:'€', label:'EUR / USD', price:1.08898, decimals:5, vol:.0009, change:-.01},
        {id:'GBP', icon:'£', label:'GBP / USD', price:1.27264, decimals:5, vol:.0008, change:.03},
        {id:'JPY', icon:'¥', label:'USD / JPY', price:149.066, decimals:3, vol:.0007, change:-.01},
        {id:'NQ', icon:'NQ', label:'NASDAQ 100', price:18753.21, decimals:2, vol:.0014, change:.38}
    ];

    var current = assets[0];
    var candles = [];
    var canvas = null;
    var ctx = null;

    function seedCandles(){
        candles = [];
        var base = current.price * .994;

        for (var i=0;i<110;i++){
            var drift = Math.sin(i/8) * current.price * .00055;
            var open = base + drift + rand(-1,1) * current.price * .00075;
            var close = open + rand(-1,1) * current.price * .0015;
            var high = Math.max(open,close) + rand(.0002,.0012) * current.price;
            var low = Math.min(open,close) - rand(.0002,.0012) * current.price;

            candles.push({open:open, high:high, low:low, close:close, volume:rand(.25,1)});
            base = close;
        }
    }

    function nextCandle(){
        var last = candles[candles.length - 1];
        var open = last.close;
        var close = open + rand(-1,1) * current.price * current.vol;
        var high = Math.max(open,close) + rand(.0002,.0011) * current.price;
        var low = Math.min(open,close) - rand(.0002,.0011) * current.price;

        candles.push({open:open, high:high, low:low, close:close, volume:rand(.25,1)});
        if (candles.length > 125) candles.shift();
        current.price = close;
    }

    function html(){
        var cards = assets.map(function(a){
            var up = a.change >= 0;
            return '<article class="ttfx-mp-card-v3" data-mp-card="' + a.id + '">' +
                '<div class="ttfx-mp-card-top-v3"><span class="ttfx-mp-icon-v3">' + a.icon + '</span><span>' + a.label + '</span></div>' +
                '<div class="ttfx-mp-price-v3 ' + (up ? 'ttfx-up-v3':'ttfx-down-v3') + '" data-mp-price="' + a.id + '">' + money(a.price,a.decimals) + '</div>' +
                '<div class="ttfx-mp-change-v3 ' + (up ? 'ttfx-up-v3':'ttfx-down-v3') + '" data-mp-change="' + a.id + '">' + pct(a.change) + '</div>' +
            '</article>';
        }).join('');

        return '<div class="ttfx-market-pro-safe-v3">' +
            '<div class="ttfx-mp-head-v3">' +
                '<div><div class="ttfx-mp-kicker-v3">Live Feed</div><h2 class="ttfx-mp-title-v3">Precios actuales de mercado</h2></div>' +
                '<div class="ttfx-mp-status-v3"><span><strong>●</strong> Mercados abiertos</span><span data-mp-clock>--:--:--</span></div>' +
            '</div>' +
            '<div class="ttfx-mp-cards-v3">' + cards + '</div>' +
            '<div class="ttfx-mp-grid-v3">' +
                '<section class="ttfx-mp-chart-panel-v3">' +
                    '<div class="ttfx-mp-toolbar-v3">' +
                        '<div class="ttfx-mp-left-v3"><span class="ttfx-mp-symbol-v3" data-mp-symbol>₿ BTC / USD</span><span class="ttfx-mp-tf-v3 is-active">1m</span><span class="ttfx-mp-tf-v3">5m</span><span class="ttfx-mp-tf-v3">15m</span><span class="ttfx-mp-tf-v3">1h</span><span class="ttfx-mp-tf-v3">4h</span></div>' +
                        '<div class="ttfx-mp-right-v3"><span class="ttfx-mp-live-v3">● En vivo</span><span>⚙ Ajustes</span></div>' +
                    '</div>' +
                    '<div class="ttfx-mp-meta-v3" data-mp-meta><strong>BTC / USD · 1 · LIVE</strong></div>' +
                    '<div class="ttfx-mp-chart-shell-v3"><canvas class="ttfx-mp-canvas-v3" data-mp-canvas></canvas><div class="ttfx-mp-price-tag-v3" data-mp-tag>--</div></div>' +
                    '<div class="ttfx-mp-stats-v3"><div class="ttfx-mp-stat-v3">Volumen 24H<strong>$28.45B <span class="ttfx-up-v3">+12.35%</span></strong></div><div class="ttfx-mp-stat-v3">Rango 24H<strong data-mp-range>--</strong></div><div class="ttfx-mp-stat-v3">Máximo 24H<strong data-mp-high>--</strong></div><div class="ttfx-mp-stat-v3">Mínimo 24H<strong data-mp-low>--</strong></div><div class="ttfx-mp-stat-v3">Dominancia BTC<strong>52.41%</strong></div><div class="ttfx-mp-stat-v3">Fear & Greed<strong class="ttfx-up-v3">74</strong></div></div>' +
                '</section>' +
                '<aside class="ttfx-mp-book-v3">' +
                    '<div class="ttfx-mp-book-head-v3"><h3>Libro de órdenes</h3><strong data-mp-book-symbol>BTC / USD</strong></div>' +
                    '<div class="ttfx-mp-book-cols-v3"><span>Precio</span><span>Cantidad</span><span>Total</span></div><div data-mp-asks></div>' +
                    '<div class="ttfx-mp-mid-v3"><div class="ttfx-mp-current-v3" data-mp-current>--</div><div>Spread<br><strong>0.23</strong></div></div>' +
                    '<div data-mp-bids></div><div class="ttfx-mp-depth-v3"></div>' +
                '</aside>' +
            '</div>' +
        '</div>';
    }

    function build(){
        var el = mount();
        if (!el || el.dataset.ttfxMarketProSafeV3 === '1') return;

        el.dataset.ttfxMarketProSafeV3 = '1';
        el.innerHTML = html();

        canvas = el.querySelector('[data-mp-canvas]');
        ctx = canvas ? canvas.getContext('2d') : null;

        seedCandles();
        resize();
        update();
        draw();

        window.addEventListener('resize', resize);

        el.querySelectorAll('[data-mp-card]').forEach(function(card){
            card.addEventListener('click', function(){
                var id = card.getAttribute('data-mp-card');
                var found = assets.find(function(a){return a.id === id;});
                if (!found) return;

                current = found;
                seedCandles();
                update();
                draw();
            });
        });

        setInterval(function(){
            tickAssets();
            nextCandle();
            update();
            draw();
        }, 1500);

        setInterval(clock, 1000);
        clock();
    }

    function resize(){
        if (!canvas) return;

        var rect = canvas.getBoundingClientRect();
        var dpr = window.devicePixelRatio || 1;

        canvas.width = Math.max(620, rect.width) * dpr;
        canvas.height = Math.max(360, rect.height) * dpr;

        ctx = canvas.getContext('2d');
        ctx.setTransform(dpr,0,0,dpr,0,0);

        draw();
    }

    function draw(){
        if (!canvas || !ctx || !candles.length) return;

        var w = canvas.clientWidth;
        var h = canvas.clientHeight;
        var padL = 18, padR = 72, padT = 22, padB = 82;
        var chartW = w - padL - padR;
        var priceH = h - padT - padB - 74;
        var volH = 56;

        ctx.clearRect(0,0,w,h);

        var max = Math.max.apply(null, candles.map(function(c){return c.high;}));
        var min = Math.min.apply(null, candles.map(function(c){return c.low;}));
        var range = max - min || 1;

        function y(p){return padT + ((max-p)/range) * priceH;}
        function x(i){return padL + i * (chartW/candles.length);}

        ctx.strokeStyle = 'rgba(255,255,255,.07)';
        ctx.lineWidth = 1;
        ctx.font = '12px system-ui, sans-serif';
        ctx.fillStyle = 'rgba(235,242,252,.72)';

        for (var gy=0; gy<=6; gy++){
            var yy = padT + gy * (priceH/6);
            ctx.beginPath(); ctx.moveTo(padL,yy); ctx.lineTo(w-padR+10,yy); ctx.stroke();
            ctx.fillText(money(max - gy*(range/6), current.decimals), w-padR+15, yy+4);
        }

        for (var gx=0; gx<=10; gx++){
            var xx = padL + gx * (chartW/10);
            ctx.beginPath(); ctx.moveTo(xx,padT); ctx.lineTo(xx,h-padB+10); ctx.stroke();
        }

        var last = candles[candles.length-1];
        var lastY = y(last.close);
        ctx.strokeStyle = 'rgba(0,230,118,.75)';
        ctx.setLineDash([3,4]);
        ctx.beginPath(); ctx.moveTo(padL,lastY); ctx.lineTo(w-padR+10,lastY); ctx.stroke();
        ctx.setLineDash([]);

        var cw = Math.max(4, chartW/candles.length*.56);

        candles.forEach(function(c,i){
            var up = c.close >= c.open;
            var col = up ? '#00e676' : '#ff3d5a';
            var xx = x(i) + chartW/candles.length*.5;
            var oy = y(c.open), cy = y(c.close), hy = y(c.high), ly = y(c.low);

            ctx.strokeStyle = col;
            ctx.lineWidth = 1.4;
            ctx.beginPath(); ctx.moveTo(xx,hy); ctx.lineTo(xx,ly); ctx.stroke();

            ctx.fillStyle = col;
            ctx.fillRect(xx-cw/2, Math.min(oy,cy), cw, Math.max(2, Math.abs(cy-oy)));

            var vh = c.volume * volH;
            ctx.globalAlpha = .42;
            ctx.fillRect(xx-cw/2, padT+priceH+18+(volH-vh), cw, vh);
            ctx.globalAlpha = 1;
        });
    }

    function tickAssets(){
        assets.forEach(function(a){
            var old = a.price;
            var delta = old * a.vol * rand(-.68,.86);
            a.price = Math.max(.00001, old + delta);
            a.change = ((a.price - old)/old)*100 + a.change*.78;
            a.change = Math.max(-1.8, Math.min(1.8, a.change));
        });
    }

    function update(){
        assets.forEach(function(a){
            var up = a.change >= 0;
            var price = document.querySelector('[data-mp-price="' + a.id + '"]');
            var change = document.querySelector('[data-mp-change="' + a.id + '"]');
            var card = document.querySelector('[data-mp-card="' + a.id + '"]');

            if (price){
                price.textContent = money(a.price,a.decimals);
                price.classList.toggle('ttfx-up-v3', up);
                price.classList.toggle('ttfx-down-v3', !up);
            }

            if (change){
                change.textContent = pct(a.change);
                change.classList.toggle('ttfx-up-v3', up);
                change.classList.toggle('ttfx-down-v3', !up);
            }

            if (card){
                card.style.setProperty('--spark', up ? 'linear-gradient(135deg, transparent, rgba(0,230,118,.22))' : 'linear-gradient(135deg, transparent, rgba(255,61,90,.22))');
            }
        });

        var last = candles[candles.length-1];
        if (!last) return;

        var meta = document.querySelector('[data-mp-meta]');
        var tag = document.querySelector('[data-mp-tag]');
        var sym = document.querySelector('[data-mp-symbol]');
        var bookSym = document.querySelector('[data-mp-book-symbol]');

        if (sym) sym.textContent = current.icon + ' ' + current.label;
        if (bookSym) bookSym.textContent = current.label;

        if (meta){
            meta.innerHTML = '<strong>' + current.label + ' · 1 · LIVE</strong><span>O ' + money(last.open,current.decimals) + '</span><span>H ' + money(last.high,current.decimals) + '</span><span>L ' + money(last.low,current.decimals) + '</span><span>C <span class="ttfx-up-v3">' + money(last.close,current.decimals) + '</span></span>';
        }

        if (tag) tag.textContent = money(last.close,current.decimals);

        var high = Math.max.apply(null, candles.map(function(c){return c.high;}));
        var low = Math.min.apply(null, candles.map(function(c){return c.low;}));

        var hi = document.querySelector('[data-mp-high]');
        var lo = document.querySelector('[data-mp-low]');
        var ra = document.querySelector('[data-mp-range]');

        if (hi) hi.textContent = money(high,current.decimals);
        if (lo) lo.textContent = money(low,current.decimals);
        if (ra) ra.textContent = money(low,current.decimals) + ' – ' + money(high,current.decimals);

        orderBook();
    }

    function orderBook(){
        var asks = document.querySelector('[data-mp-asks]');
        var bids = document.querySelector('[data-mp-bids]');
        var curr = document.querySelector('[data-mp-current]');
        if (!asks || !bids || !curr) return;

        var p = current.price;

        asks.innerHTML = Array.from({length:5}).map(function(_,i){
            var price = p + (5-i)*p*.000012;
            var qty = rand(.05,.38);
            return '<div class="ttfx-mp-row-v3 ttfx-mp-ask-v3" style="--depth:' + rand(25,95).toFixed(0) + '%"><span>' + money(price,current.decimals) + '</span><span>' + qty.toFixed(5) + '</span><span>' + money(qty*price,2) + '</span></div>';
        }).join('');

        bids.innerHTML = Array.from({length:5}).map(function(_,i){
            var price = p - (i+1)*p*.000012;
            var qty = rand(.05,.38);
            return '<div class="ttfx-mp-row-v3 ttfx-mp-bid-v3" style="--depth:' + rand(25,95).toFixed(0) + '%"><span>' + money(price,current.decimals) + '</span><span>' + qty.toFixed(5) + '</span><span>' + money(qty*price,2) + '</span></div>';
        }).join('');

        curr.innerHTML = money(p,current.decimals) + ' ↑<small>' + pct(Math.abs(current.change)) + '</small>';
    }

    function clock(){
        var el = document.querySelector('[data-mp-clock]');
        if (!el) return;
        el.textContent = new Date().toLocaleTimeString('en-US', {hour12:false}) + ' (local)';
    }

    ready(function(){
        headerFix();
        build();
        setTimeout(headerFix, 400);
        setTimeout(build, 700);
    });
})();
'''

php = r'''<?php
/* ==========================================================
   TTFX MARKET PRO SAFE V3 — CONTENEDOR OPCIONAL
   DÓNDE VA: functions.php
   USO: Solo si no tienes #market en la página.
   Pegar al final de functions.php.
   ========================================================== */

add_action('wp_footer', function () {
    if (is_admin()) {
        return;
    }

    ?>
    <script id="ttfx-market-pro-safe-v3-mount">
    (function(){
        if (document.getElementById('ttfxMarketProV3')) return;
        if (document.getElementById('market')) return;

        var main = document.querySelector('main, #content, .site-main, body');
        if (!main) return;

        var mount = document.createElement('section');
        mount.id = 'ttfxMarketProV3';
        main.appendChild(mount);
    })();
    </script>
    <?php
}, 9999);
/* ==========================================================
   TTFX MARKET PRO SAFE V3 — CSS
   DÓNDE VA: /assets/css/main.css
   PEGAR AL FINAL
   ========================================================== */

body:not(.wp-admin) .ttfx-wide-header-safe-v3{
    width:calc(100vw - 28px)!important;
    max-width:1880px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

body:not(.wp-admin) .ttfx-wide-header-safe-v3 nav,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 .menu,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 .main-nav,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 .ttfx-menu,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 ul{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(10px, .85vw, 22px)!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
}

body:not(.wp-admin) .ttfx-wide-header-safe-v3 a,
body:not(.wp-admin) .ttfx-wide-header-safe-v3 button{
    white-space:nowrap!important;
    flex-shrink:0!important;
}

.ttfx-market-pro-safe-v3{
    width:min(1780px, calc(100vw - 64px));
    margin:80px auto;
    color:#f7fbff;
    position:relative;
    isolation:isolate;
}

.ttfx-market-pro-safe-v3 *,
.ttfx-market-pro-safe-v3 *::before,
.ttfx-market-pro-safe-v3 *::after{
    box-sizing:border-box;
}

.ttfx-market-pro-safe-v3::before{
    content:"";
    position:absolute;
    inset:-80px -110px;
    z-index:-1;
    pointer-events:none;
    background:
        radial-gradient(circle at 12% 18%, rgba(0,230,118,.16), transparent 32%),
        radial-gradient(circle at 85% 50%, rgba(41,121,255,.10), transparent 34%),
        linear-gradient(135deg, rgba(0,230,118,.035), transparent 45%);
}

.ttfx-mp-head-v3{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:22px;
}

.ttfx-mp-kicker-v3{
    color:#00e676;
    font-size:12px;
    font-weight:900;
    letter-spacing:.22em;
    text-transform:uppercase;
    margin-bottom:8px;
}

.ttfx-mp-kicker-v3::after{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    margin-left:8px;
    border-radius:50%;
    background:#00e676;
    box-shadow:0 0 18px rgba(0,230,118,.95);
}

.ttfx-mp-title-v3{
    margin:0;
    color:#fff;
    font-size:clamp(30px, 2.65vw, 52px);
    line-height:1;
    letter-spacing:-.045em;
}

.ttfx-mp-status-v3{
    display:flex;
    align-items:center;
    gap:18px;
    color:#afbac8;
    font-size:13px;
    white-space:nowrap;
}

.ttfx-mp-status-v3 strong{
    color:#00e676;
}

.ttfx-mp-cards-v3{
    display:grid;
    grid-template-columns:repeat(6, minmax(0,1fr));
    gap:14px;
    margin-bottom:18px;
}

.ttfx-mp-card-v3{
    min-height:122px;
    padding:18px;
    border-radius:17px;
    background:linear-gradient(180deg, rgba(12,18,30,.88), rgba(5,8,13,.90));
    border:1px solid rgba(255,255,255,.10);
    box-shadow:0 18px 46px rgba(0,0,0,.24);
    cursor:pointer;
    overflow:hidden;
    position:relative;
}

.ttfx-mp-card-v3:hover{
    border-color:rgba(0,230,118,.38);
    transform:translateY(-1px);
}

.ttfx-mp-card-v3::after{
    content:"";
    position:absolute;
    right:14px;
    bottom:12px;
    width:92px;
    height:38px;
    opacity:.9;
    background:var(--spark, linear-gradient(135deg, transparent, rgba(0,230,118,.22)));
    clip-path:polygon(0 70%,12% 55%,22% 62%,34% 38%,45% 54%,56% 26%,67% 36%,78% 16%,90% 24%,100% 8%,100% 100%,0 100%);
}

.ttfx-mp-card-top-v3{
    display:flex;
    align-items:center;
    gap:9px;
    margin-bottom:13px;
    color:#e9eef8;
    font-size:13px;
    font-weight:900;
}

.ttfx-mp-icon-v3{
    width:26px;
    height:26px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:rgba(255,255,255,.08);
    border:1px solid rgba(255,255,255,.12);
}

.ttfx-mp-price-v3{
    font-size:clamp(23px,1.45vw,32px);
    line-height:1;
    font-weight:950;
    letter-spacing:-.04em;
    font-variant-numeric:tabular-nums;
}

.ttfx-mp-change-v3{
    margin-top:8px;
    font-size:13px;
    font-weight:850;
    font-variant-numeric:tabular-nums;
}

.ttfx-up-v3{color:#00e676!important;}
.ttfx-down-v3{color:#ff3d5a!important;}

.ttfx-mp-grid-v3{
    display:grid;
    grid-template-columns:minmax(0,1fr) 455px;
    gap:18px;
}

.ttfx-mp-chart-panel-v3,
.ttfx-mp-book-v3{
    background:linear-gradient(180deg, rgba(7,13,23,.90), rgba(5,8,13,.94));
    border:1px solid rgba(255,255,255,.10);
    border-radius:18px;
    box-shadow:0 24px 70px rgba(0,0,0,.28);
    overflow:hidden;
}

.ttfx-mp-toolbar-v3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ttfx-mp-left-v3,
.ttfx-mp-right-v3{
    display:flex;
    align-items:center;
    gap:9px;
    flex-wrap:wrap;
}

.ttfx-mp-symbol-v3,
.ttfx-mp-tf-v3{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:32px;
    padding:0 12px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.10);
    background:rgba(255,255,255,.035);
    color:#c8d1dd;
    font-size:12px;
    font-weight:900;
}

.ttfx-mp-tf-v3.is-active{
    color:#00e676;
    border-color:rgba(0,230,118,.45);
    background:rgba(0,230,118,.10);
}

.ttfx-mp-live-v3{
    color:#00e676;
    font-weight:900;
    font-size:12px;
}

.ttfx-mp-meta-v3{
    display:flex;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    padding:12px 18px;
    color:#bac6d5;
    font-size:13px;
    border-bottom:1px solid rgba(255,255,255,.07);
}

.ttfx-mp-meta-v3 strong{color:#fff;}

.ttfx-mp-chart-shell-v3{
    position:relative;
    height:530px;
    background:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
        radial-gradient(circle at 50% 0%, rgba(0,230,118,.07), transparent 35%),
        #060c15;
    background-size:100% 54px, 92px 100%, auto, auto;
}

.ttfx-mp-canvas-v3{
    display:block;
    width:100%;
    height:100%;
}

.ttfx-mp-price-tag-v3{
    position:absolute;
    right:18px;
    top:116px;
    padding:7px 9px;
    border-radius:7px;
    background:#00e676;
    color:#00140b;
    font-size:12px;
    font-weight:950;
}

.ttfx-mp-stats-v3{
    display:grid;
    grid-template-columns:repeat(6,minmax(0,1fr));
    border-top:1px solid rgba(255,255,255,.08);
}

.ttfx-mp-stat-v3{
    padding:16px;
    border-right:1px solid rgba(255,255,255,.07);
    color:#9ba8b8;
    font-size:12px;
}

.ttfx-mp-stat-v3:last-child{border-right:0;}

.ttfx-mp-stat-v3 strong{
    display:block;
    margin-top:6px;
    color:#fff;
    font-size:15px;
    font-weight:950;
}

.ttfx-mp-book-v3{
    padding:18px;
}

.ttfx-mp-book-head-v3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    margin-bottom:14px;
}

.ttfx-mp-book-head-v3 h3{
    margin:0;
    font-size:18px;
    color:#fff;
}

.ttfx-mp-book-cols-v3,
.ttfx-mp-row-v3{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:10px;
}

.ttfx-mp-book-cols-v3{
    color:#9aa7b6;
    font-size:11px;
    font-weight:900;
    text-transform:uppercase;
    padding:7px 0;
}

.ttfx-mp-row-v3{
    position:relative;
    padding:5px 0;
    font-size:13px;
    font-weight:800;
    font-variant-numeric:tabular-nums;
}

.ttfx-mp-row-v3 span{position:relative;z-index:1;}

.ttfx-mp-row-v3::after{
    content:"";
    position:absolute;
    right:0;
    top:3px;
    bottom:3px;
    width:var(--depth,40%);
    border-radius:5px;
    opacity:.22;
}

.ttfx-mp-ask-v3{color:#ff4d66;}
.ttfx-mp-ask-v3::after{background:#ff3d5a;}
.ttfx-mp-bid-v3{color:#00e676;}
.ttfx-mp-bid-v3::after{background:#00e676;}

.ttfx-mp-mid-v3{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:12px;
    margin:14px 0;
    padding:14px 0;
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
}

.ttfx-mp-current-v3{
    color:#00e676;
    font-size:28px;
    font-weight:950;
}

.ttfx-mp-current-v3 small{
    display:block;
    margin-top:5px;
    font-size:13px;
}

.ttfx-mp-depth-v3{
    height:90px;
    margin-top:18px;
    border-radius:12px;
    overflow:hidden;
    background:
        linear-gradient(160deg, transparent 0 42%, rgba(255,61,90,.62) 43% 49%, transparent 50%),
        linear-gradient(20deg, transparent 0 48%, rgba(0,230,118,.68) 49% 55%, transparent 56%),
        linear-gradient(90deg, rgba(255,61,90,.18), rgba(0,230,118,.18));
    border:1px solid rgba(255,255,255,.08);
}

@media(max-width:1280px){
    .ttfx-market-pro-safe-v3{width:calc(100vw - 34px);}
    .ttfx-mp-cards-v3{grid-template-columns:repeat(3,minmax(0,1fr));}
    .ttfx-mp-grid-v3{grid-template-columns:1fr;}
}

@media(max-width:760px){
    .ttfx-mp-head-v3{align-items:flex-start;flex-direction:column;}
    .ttfx-mp-cards-v3{grid-template-columns:1fr;}
    .ttfx-mp-chart-shell-v3{height:380px;}
    .ttfx-mp-stats-v3{grid-template-columns:repeat(2,minmax(0,1fr));}
}
/* ==========================================================
   TTFX MARKET + HERO INTERACTIVE V4 — CSS
   DÓNDE VA: /assets/css/main.css
   PEGAR AL FINAL
   ========================================================== */

/* ===== Market chart interactivity ===== */
body:not(.wp-admin) .ttfx-mp-chart-shell-v3{
    position:relative!important;
    cursor:crosshair!important;
    overflow:hidden!important;
}

body:not(.wp-admin) .ttfx-chart-crosshair-v4{
    position:absolute!important;
    inset:0!important;
    pointer-events:none!important;
    z-index:15!important;
    opacity:0!important;
    transition:opacity .12s ease!important;
}

body:not(.wp-admin) .ttfx-chart-crosshair-v4.is-visible{
    opacity:1!important;
}

body:not(.wp-admin) .ttfx-cross-vline-v4,
body:not(.wp-admin) .ttfx-cross-hline-v4{
    position:absolute!important;
    background:rgba(0,230,118,.70)!important;
    box-shadow:0 0 14px rgba(0,230,118,.32)!important;
}

body:not(.wp-admin) .ttfx-cross-vline-v4{
    top:0!important;
    bottom:0!important;
    width:1px!important;
}

body:not(.wp-admin) .ttfx-cross-hline-v4{
    left:0!important;
    right:0!important;
    height:1px!important;
}

body:not(.wp-admin) .ttfx-chart-tooltip-v4{
    position:absolute!important;
    z-index:20!important;
    min-width:210px!important;
    max-width:260px!important;
    padding:12px 13px!important;
    border-radius:13px!important;
    border:1px solid rgba(0,230,118,.38)!important;
    background:rgba(4,9,17,.94)!important;
    color:#eaf3ff!important;
    box-shadow:0 20px 60px rgba(0,0,0,.42), 0 0 34px rgba(0,230,118,.12)!important;
    backdrop-filter:blur(16px)!important;
    pointer-events:none!important;
    opacity:0!important;
    transform:translate(12px, 12px)!important;
    transition:opacity .12s ease!important;
    font-size:12px!important;
}

body:not(.wp-admin) .ttfx-chart-tooltip-v4.is-visible{
    opacity:1!important;
}

body:not(.wp-admin) .ttfx-chart-tooltip-v4 strong{
    display:block!important;
    color:#00e676!important;
    font-size:13px!important;
    margin-bottom:7px!important;
}

body:not(.wp-admin) .ttfx-chart-tooltip-v4 .ttfx-tip-grid-v4{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:6px 10px!important;
}

body:not(.wp-admin) .ttfx-chart-tooltip-v4 span{
    color:#aebacd!important;
}

body:not(.wp-admin) .ttfx-chart-tooltip-v4 b{
    color:#fff!important;
    font-variant-numeric:tabular-nums!important;
}

body:not(.wp-admin) .ttfx-chart-actionbar-v4{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    flex-wrap:wrap!important;
    margin-left:auto!important;
}

body:not(.wp-admin) .ttfx-chart-actionbar-v4 button{
    height:32px!important;
    padding:0 11px!important;
    border-radius:10px!important;
    border:1px solid rgba(255,255,255,.12)!important;
    background:rgba(255,255,255,.045)!important;
    color:#dce7f5!important;
    font-size:12px!important;
    font-weight:900!important;
    cursor:pointer!important;
}

body:not(.wp-admin) .ttfx-chart-actionbar-v4 button:hover,
body:not(.wp-admin) .ttfx-chart-actionbar-v4 button.is-active{
    color:#00140b!important;
    background:#00e676!important;
    border-color:#00e676!important;
}

body:not(.wp-admin) .ttfx-market-fullscreen-v4{
    position:fixed!important;
    inset:18px!important;
    z-index:999999!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding:24px!important;
    overflow:auto!important;
    border-radius:22px!important;
    background:
        radial-gradient(circle at 15% 10%, rgba(0,230,118,.16), transparent 36%),
        radial-gradient(circle at 85% 60%, rgba(47,128,237,.11), transparent 40%),
        #05080d!important;
    box-shadow:0 0 0 9999px rgba(0,0,0,.72), 0 32px 120px rgba(0,0,0,.60)!important;
}

body:not(.wp-admin) .ttfx-market-fullscreen-v4 .ttfx-mp-chart-shell-v3{
    height:calc(100vh - 430px)!important;
    min-height:520px!important;
}

/* ===== Hero professional calculator / tool ===== */
body:not(.wp-admin) .ttfx-hero-calculator-v4{
    margin-top:16px!important;
    padding:14px!important;
    border-radius:16px!important;
    border:1px solid rgba(0,230,118,.22)!important;
    background:
        linear-gradient(180deg, rgba(8,17,28,.88), rgba(3,8,14,.92))!important;
    box-shadow:0 18px 50px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04)!important;
}

body:not(.wp-admin) .ttfx-hero-calculator-v4 *{
    box-sizing:border-box!important;
}

body:not(.wp-admin) .ttfx-hero-calc-head-v4{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    margin-bottom:12px!important;
}

body:not(.wp-admin) .ttfx-hero-calc-head-v4 strong{
    color:#fff!important;
    font-size:13px!important;
    letter-spacing:.05em!important;
}

body:not(.wp-admin) .ttfx-hero-calc-head-v4 span{
    color:#00e676!important;
    font-size:11px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.12em!important;
}

body:not(.wp-admin) .ttfx-hero-calc-grid-v4{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
}

body:not(.wp-admin) .ttfx-hero-calc-field-v4 label{
    display:block!important;
    color:#91a0b4!important;
    font-size:10px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    margin-bottom:4px!important;
}

body:not(.wp-admin) .ttfx-hero-calc-field-v4 input{
    width:100%!important;
    height:36px!important;
    border-radius:10px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    background:rgba(255,255,255,.045)!important;
    color:#fff!important;
    font-weight:900!important;
    padding:0 10px!important;
    outline:none!important;
}

body:not(.wp-admin) .ttfx-hero-calc-field-v4 input:focus{
    border-color:rgba(0,230,118,.55)!important;
    box-shadow:0 0 0 3px rgba(0,230,118,.10)!important;
}

body:not(.wp-admin) .ttfx-hero-calc-output-v4{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:9px!important;
    margin-top:10px!important;
}

body:not(.wp-admin) .ttfx-hero-calc-result-v4{
    padding:10px!important;
    border-radius:12px!important;
    border:1px solid rgba(255,255,255,.08)!important;
    background:rgba(0,0,0,.28)!important;
}

body:not(.wp-admin) .ttfx-hero-calc-result-v4 span{
    display:block!important;
    color:#91a0b4!important;
    font-size:10px!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    margin-bottom:5px!important;
}

body:not(.wp-admin) .ttfx-hero-calc-result-v4 strong{
    display:block!important;
    color:#00e676!important;
    font-size:18px!important;
    line-height:1!important;
    font-weight:950!important;
    font-variant-numeric:tabular-nums!important;
}

body:not(.wp-admin) .ttfx-hero-calc-note-v4{
    margin-top:9px!important;
    color:#8d99aa!important;
    font-size:11px!important;
    line-height:1.45!important;
}

body:not(.wp-admin) .ttfx-hero-mini-line-v4{
    height:54px!important;
    margin-top:12px!important;
    border-radius:12px!important;
    overflow:hidden!important;
    border:1px solid rgba(47,128,237,.22)!important;
    background:
        linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
        #06101c!important;
    background-size:100% 18px, 28px 100%, auto!important;
    position:relative!important;
}

body:not(.wp-admin) .ttfx-hero-mini-line-v4::before{
    content:""!important;
    position:absolute!important;
    inset:9px 8px!important;
    background:linear-gradient(115deg, transparent 0 8%, #00e676 9% 11%, transparent 12% 19%, #35a7ff 20% 22%, transparent 23% 34%, #00e676 35% 38%, transparent 39% 49%, #ff3d5a 50% 53%, transparent 54% 64%, #00e676 65% 69%, transparent 70% 100%)!important;
    filter:drop-shadow(0 0 8px rgba(0,230,118,.45))!important;
    opacity:.9!important;
}

@media(max-width:680px){
    body:not(.wp-admin) .ttfx-hero-calc-grid-v4,
    body:not(.wp-admin) .ttfx-hero-calc-output-v4{
        grid-template-columns:1fr!important;
    }
}
/* =========================================================
   HERO: CALENDARIO FOREX + CALCULADORA
   ========================================================= */

body:not(.wp-admin) .hero-tools-panel {
  padding: 18px !important;
  gap: 14px !important;
  min-width: 0 !important;
  overflow: hidden !important;
  font-size: 14px !important;
}

/* Encabezado pequeño */

body:not(.wp-admin) .hero-tools-header {
  display: block !important;
  margin: 0 !important;
}

body:not(.wp-admin) .hero-tools-label {
  display: block !important;
  margin: 0 0 4px !important;
  color: #00e676 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: 1.5px !important;
}

body:not(.wp-admin) .hero-tools-header h2,
body:not(.wp-admin) .hero-tools-title {
  display: block !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body:not(.wp-admin) .hero-tools-description {
  display: block !important;
  margin-top: 4px !important;
  color: #91a3b8 !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}

/* Pestañas */

body:not(.wp-admin) .hero-tools-tabs {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 4px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 12px !important;
  background: rgba(0, 0, 0, 0.28) !important;
}

body:not(.wp-admin) .hero-tool-tab {
  min-width: 0 !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 6px !important;
  border: 1px solid transparent !important;
  border-radius: 9px !important;
  background: transparent !important;
  color: #9eacbd !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  text-align: center !important;
  white-space: normal !important;
  cursor: pointer !important;
}

body:not(.wp-admin) .hero-tool-tab.is-active {
  color: #00170c !important;
  border-color: #00e676 !important;
  background: #00e676 !important;
  box-shadow: 0 0 18px rgba(0, 230, 118, 0.22) !important;
}

/* Contenido de las pestañas */

body:not(.wp-admin) .hero-tool-pane {
  width: 100% !important;
  min-width: 0 !important;
}

body:not(.wp-admin) .hero-tool-pane[hidden] {
  display: none !important;
}

body:not(.wp-admin) .hero-tool-pane.is-active {
  display: block !important;
}

/* Título del calendario */

body:not(.wp-admin) .hero-calendar-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
}

body:not(.wp-admin) .hero-calendar-heading strong {
  display: block !important;
  margin: 0 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body:not(.wp-admin) .hero-calendar-heading div > span {
  display: block !important;
  margin-top: 3px !important;
  color: #91a3b8 !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}

body:not(.wp-admin) .calendar-live-badge {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  padding: 5px 8px !important;
  border: 1px solid rgba(0, 230, 118, 0.38) !important;
  border-radius: 999px !important;
  background: rgba(0, 230, 118, 0.1) !important;
  color: #00e676 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px !important;
}

/* Calendario de TradingView */

body:not(.wp-admin) .hero-calendar-widget,
body:not(.wp-admin) .tradingview-widget-container.hero-calendar-widget {
  width: 100% !important;
  min-width: 0 !important;
  max-height: 370px !important;
  overflow: hidden !important;
  border: 1px solid rgba(0, 230, 118, 0.16) !important;
  border-radius: 13px !important;
  background: #050a0f !important;
}

/* Calculadora */

body:not(.wp-admin) .risk-calculator {
  padding: 14px !important;
  border: 1px solid rgba(0, 230, 118, 0.2) !important;
  border-radius: 14px !important;
  background: rgba(3, 9, 15, 0.88) !important;
}

body:not(.wp-admin) .risk-calculator-heading strong {
  display: block !important;
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

body:not(.wp-admin) .risk-calculator-heading span {
  display: block !important;
  margin-top: 3px !important;
  color: #00e676 !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}

body:not(.wp-admin) .risk-calculator-fields {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin-top: 14px !important;
}

body:not(.wp-admin) .risk-calculator-fields label {
  display: block !important;
  margin: 0 !important;
  color: #9eacbd !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 800 !important;
}

body:not(.wp-admin) .risk-calculator-fields input {
  display: block !important;
  width: 100% !important;
  height: 38px !important;
  margin-top: 5px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 9px !important;
  outline: none !important;
  background: rgba(255, 255, 255, 0.05) !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

body:not(.wp-admin) .risk-calculator-fields input:focus {
  border-color: #00e676 !important;
  box-shadow: 0 0 0 3px rgba(0, 230, 118, 0.1) !important;
}

body:not(.wp-admin) .risk-calculator-error {
  min-height: 16px !important;
  margin: 7px 0 0 !important;
  color: #ff5f75 !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
}

body:not(.wp-admin) .risk-calculator-results {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin-top: 8px !important;
}

body:not(.wp-admin) .risk-calculator-results article {
  padding: 11px !important;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 11px !important;
  background: rgba(0, 0, 0, 0.3) !important;
}

body:not(.wp-admin) .risk-calculator-results span {
  display: block !important;
  color: #91a3b8 !important;
  font-size: 9px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

body:not(.wp-admin) .risk-calculator-results strong {
  display: block !important;
  margin-top: 6px !important;
  color: #00e676 !important;
  font-size: 17px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

body:not(.wp-admin) .risk-calculator-note {
  margin: 10px 0 0 !important;
  color: #7f8ea1 !important;
  font-size: 9px !important;
  line-height: 1.4 !important;
}

@media (max-width: 600px) {
  body:not(.wp-admin) .risk-calculator-fields,
  body:not(.wp-admin) .risk-calculator-results {
    grid-template-columns: 1fr !important;
  }
}