/* ==========================================================================
   INVESTORHOOD — VISUAL REDESIGN v2 (cinematic complet, identic cu App Beta)
   negru cinematic #050807 · verde-semnal #29C74A · Fraunces · Inter · JB Mono
   Se încarcă ultimul, după style.css și CSS-urile de pagină.
   Include: intro video, hero cinematic cu video, grain, //nn, reveal,
   sticky CTA mobil, toggle sunet — comportamentele sunt în
   investorhood-identity.js. Tokens: style.css :root.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. BAZĂ — fundal negru cinematic, selecție, focus
   -------------------------------------------------------------------------- */
html { overflow-x: clip; background: var(--background-primary); }

body {
  background: var(--background-primary) !important;
  color: var(--text-primary);
  font-family: var(--font-body);
  letter-spacing: -.01em;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}

#main-content, #et-main-area, .et_pb_section { background-color: transparent; }

::selection { background: var(--investorhood-green); color: var(--ivh-green-ink); }

:focus-visible {
  outline: 2px solid var(--investorhood-green) !important;
  outline-offset: 3px;
  border-radius: 4px;
}

#main-content img { max-width: 100%; height: auto; }

/* --------------------------------------------------------------------------
   2. TIPOGRAFIE EDITORIALĂ — Fraunces pe titluri, alb cinematic
   -------------------------------------------------------------------------- */
body :is(h1, h2, h3) {
  font-family: var(--font-display) !important;
  font-weight: 540;
  letter-spacing: -.018em !important;
  line-height: 1.12;
  text-wrap: balance;
  color: var(--text-primary);
}

body h1 {
  font-size: clamp(2.1rem, 1.2rem + 3.2vw, 3.9rem) !important;
  font-weight: 560;
  line-height: 1.07 !important;
  letter-spacing: -.02em !important;
}

body h2 {
  font-size: clamp(1.75rem, 1.15rem + 2.6vw, 3.2rem) !important;
  line-height: 1.1 !important;
}

body h3 { letter-spacing: -.015em !important; }

body :is(h4, h5, h6) {
  font-family: var(--font-body) !important;
  font-weight: 650;
  letter-spacing: -.01em;
  color: var(--text-primary);
}

body p, body li { color: var(--text-secondary); }

/* Vechiul gradient text-clip pe H2 → alb cinematic solid */
.secondary-heading h2 {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--text-primary) !important;
  line-height: 1.1 !important;
  letter-spacing: -.018em !important;
}

/* Accent italic subliniat verde (.b-know din referință) */
.ivh-know {
  position: relative;
  white-space: nowrap;
  font-style: italic;
  font-weight: 620;
  color: #EAFBEE;
}

.ivh-know::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: .02em;
  height: .09em;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--investorhood-green), rgba(41, 199, 74, .25));
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 1.1s var(--ivh-ease) .2s;
  box-shadow: 0 0 18px rgba(41, 199, 74, .55);
}

.ivh-hero[data-in="1"] .ivh-know::after, body.ivh-live .ivh-know::after { transform: scaleX(1); }

/* --------------------------------------------------------------------------
   3. KICKER //nn — etichete monospace (marcate de JS)
   -------------------------------------------------------------------------- */
.ivh-kicker, .ivh-kicker * {
  font-family: var(--font-mono) !important;
  font-size: .7rem !important;
  font-weight: 500 !important;
  letter-spacing: .28em !important;
  text-transform: uppercase !important;
  color: var(--text-faint) !important;
  line-height: 1.6 !important;
}

.ivh-kicker .ivh-num { color: var(--investorhood-green) !important; }

.et_pb_section[data-ivh-numbered] { position: relative; }

.et_pb_section[data-ivh-numbered]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(var(--container-width), calc(100% - 2.4rem));
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--border-color) 18%, var(--border-color) 82%, transparent);
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   4. BUTOANE & CTA — pill verde, shine sweep pe ::before, lift la hover
   -------------------------------------------------------------------------- */
body .et_pb_button,
body .contact-button-main,
body .absolute-element-button a,
body .absolute-element-button-2 a,
body .alte-intrebari-button a,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body #main-content button[type="submit"],
body #main-content input[type="submit"],
body .gform_button {
  position: relative;
  overflow: hidden;
  background: var(--investorhood-green) !important;
  color: var(--ivh-green-ink) !important;
  border: 0 !important;
  border-radius: var(--pill-radius) !important;
  font-family: var(--font-body) !important;
  font-weight: 650 !important;
  letter-spacing: .04em;
  box-shadow: 0 8px 26px rgba(41, 199, 74, .22);
  transition: transform .25s var(--ivh-ease), box-shadow .3s, background .3s, color .3s;
}

body .et_pb_button::before,
body .contact-button-main::before,
body .woocommerce a.button::before,
body .gform_button::before {
  content: "" !important;
  position: absolute;
  inset: 0;
  transform: translateX(-130%);
  background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, .5) 50%, transparent 70%);
  transition: transform .8s var(--ivh-ease);
  pointer-events: none;
  border: 0 !important;
  margin: 0 !important;
  opacity: 1 !important;
}

body .et_pb_button:hover,
body .contact-button-main:hover,
body .woocommerce a.button:hover,
body .woocommerce button.button:hover,
body #main-content input[type="submit"]:hover,
body .gform_button:hover {
  translate: 0 -2px; /* compus cu transformul existent (ex. centrarea translateX -50%) */
  box-shadow: 0 14px 36px rgba(41, 199, 74, .34);
  background: var(--investorhood-green) !important;
  color: var(--ivh-green-ink) !important;
  padding: inherit;
}

body .et_pb_button:hover::before,
body .contact-button-main:hover::before,
body .woocommerce a.button:hover::before,
body .gform_button:hover::before { transform: translateX(130%); }

/* Ghost — contur fin, săgeată care alunecă */
.ivh-cta-ghost, body .et_pb_button.ivh-cta-ghost {
  background: transparent !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
  box-shadow: none;
}

.ivh-cta-ghost:hover { border-color: rgba(41, 199, 74, .6) !important; color: var(--text-primary) !important; }

/* --------------------------------------------------------------------------
   5. CARDURI — panouri #121814, borduri fine, lift + bordură verde la hover
   -------------------------------------------------------------------------- */
.card-module,
.card-asistenta,
.card-studii-caz,
.content-box-testimonial,
.et_pb_blurb {
  background: var(--ivh-panel) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: var(--card-radius) !important;
  transition: border-color var(--transition-standard), transform .25s var(--ivh-ease), box-shadow .3s !important;
}

.card-module:hover,
.card-asistenta:hover,
.card-studii-caz:hover,
.content-box-testimonial:hover {
  border-color: rgba(41, 199, 74, .55) !important;
  translate: 0 -2px; /* compus cu transformul existent (ex. centrarea translateX -50%) */
  box-shadow: 0 12px 30px rgba(0, 0, 0, .35) !important;
}

.card-studii-caz-shadow { box-shadow: 0 12px 30px rgba(0, 0, 0, .35) !important; }

/* Prețuri — monospace verde */
body .price-container, body .woocommerce-Price-amount, body .price {
  font-family: var(--font-mono) !important;
  letter-spacing: -.01em;
}

body .woocommerce-Price-amount { color: var(--investorhood-green); font-weight: 600; }
body .price del .woocommerce-Price-amount, body .original-price { color: var(--text-faint) !important; font-weight: 400; }

/* Pastile / badge-uri */
.ivh-chip, body span.onsale {
  display: inline-block;
  font-family: var(--font-mono) !important;
  font-size: .62rem !important;
  letter-spacing: .16em !important;
  text-transform: uppercase;
  color: var(--investorhood-green) !important;
  background: var(--ivh-green-soft) !important;
  border: 1px solid rgba(41, 199, 74, .4) !important;
  border-radius: var(--pill-radius) !important;
  padding: .32rem .75rem !important;
  min-width: 0 !important;
  min-height: 0 !important;
  line-height: 1.4 !important;
}

#main-content :is(iframe, video), .et_pb_video { border-radius: var(--media-radius); overflow: hidden; }

/* --------------------------------------------------------------------------
   6. HEADER — .b-top: transparent peste hero, solid + blur după scroll
   -------------------------------------------------------------------------- */
body header.et-l--header,
body header.et-l--header .et_pb_section,
body header.et-l--header .et_pb_menu { background: transparent !important; color: var(--text-primary); }

body header.et-l--header {
  border-bottom: 1px solid transparent;
  transition: background .4s, border-color .4s, box-shadow .4s;
}

/* Pe homepage: header fix, transparent peste hero-ul video (ca .b-top) */
body.ivh-cinematic.home header.et-l--header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 110;
}

body.ivh-cinematic.home #page-container { padding-top: 0 !important; }
body.ivh-cinematic.home #main-content,
body.ivh-cinematic.home .entry-content { padding-top: 0 !important; }

body header.et-l--header.fixed-header,
body header.et-l--header[data-ivh-solid="1"] {
  background: rgba(6, 10, 8, .72) !important;
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-color: var(--border-color);
  box-shadow: 0 10px 40px rgba(0, 0, 0, .35);
}

body header.et-l--header .et_pb_menu__menu > nav > ul > li > a {
  color: var(--text-secondary) !important;
  font-family: var(--font-body) !important;
  font-size: .76rem !important;
  font-weight: 500;
  letter-spacing: .1em !important;
  text-transform: uppercase;
  transition: color var(--transition-standard);
}

body header.et-l--header .et_pb_menu__menu > nav > ul > li > a:hover,
body header.et-l--header li.current-menu-item > a,
body header.et-l--header li.current_page_item > a { color: var(--investorhood-white) !important; }

body header.et-l--header li.current-menu-item > a,
body header.et-l--header li.current_page_item > a { position: relative; }

body header.et-l--header li.current-menu-item > a::after,
body header.et-l--header li.current_page_item > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  border-radius: 2px;
  background: var(--investorhood-green);
  box-shadow: 0 0 10px rgba(41, 199, 74, .7);
}

body header.et-l--header .sub-menu {
  background: var(--ivh-panel) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .45) !important;
  padding: .4rem !important;
}

body header.et-l--header .sub-menu a { color: var(--text-secondary) !important; border-radius: 8px; }
body header.et-l--header .sub-menu a:hover { color: var(--investorhood-white) !important; background: var(--ivh-panel-2) !important; }

body header.et-l--header :is(p, span, .et_pb_text) { color: var(--text-secondary); }
body header.et-l--header a { color: var(--text-secondary); }

/* Logo-ul original de pe site (JPG pe fundal alb), inversat pentru negru:
   invert() întoarce culorile, hue-rotate(180deg) readuce verdele la verde,
   mix-blend-mode: screen face fundalul (devenit negru) transparent pe închis.
   Fișierul original rămâne neatins — inversarea e pur vizuală. */
/* Logo-ul: PNG transparent livrat în temă (swap JS). Dimensiune fixă, fără casetă. */
body header.et-l--header img.ivh-logo {
  filter: none !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
  flex-shrink: 0;
}

/* Fallback (PNG indisponibil): originalul inversat, la aceeași dimensiune fixă */
body header.et-l--header img[src*="LogoInvestorhood"]:not(.ivh-logo),
body header.et-l--header img[src*="ogoinvestorhood"]:not(.ivh-logo) {
  filter: invert(1) hue-rotate(180deg);
  background: transparent;
  padding: 0;
  border-radius: 10px;
  border: 0;
  height: 44px !important;
  width: auto !important;
  max-width: none !important;
  object-fit: contain;
  flex-shrink: 0;
}

/* Containerul logo-ului nu are voie să se comprime în header-ul pe o linie */
body header.et-l--header .et_pb_menu__logo-wrap,
body header.et-l--header .et_pb_menu__logo,
body header.et-l--header .et_pb_menu__logo-slot,
body header.et-l--header .et_pb_image,
body header.et-l--header .et_pb_column:first-child {
  flex-shrink: 0 !important;
  min-width: 0;
}

body header.et-l--header .et_mobile_menu {
  background: rgba(8, 12, 10, .96) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  border: 1px solid var(--border-color) !important;
  border-radius: 0 0 18px 18px;
}

body header.et-l--header .et_mobile_menu li a { color: var(--text-primary) !important; border-color: var(--border-color) !important; }
body header.et-l--header .et_mobile_menu li a:hover { color: var(--investorhood-green) !important; background: var(--ivh-panel-2) !important; }

/* Toggle sunet (injectat de JS, ca în referință) */
.ivh-snd {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  cursor: pointer;
  padding: .35rem;
  border-radius: 50%;
  color: #E5484D; /* OFF: difuzor roșu, tăiat */
  transition: color .3s, transform .25s var(--ivh-ease);
}

.ivh-snd::before { content: none; }

.ivh-snd svg { display: block; width: 21px; height: 21px; }

.ivh-snd[aria-pressed="true"] {
  color: var(--investorhood-green); /* ON: difuzor verde cu unde */
  filter: drop-shadow(0 0 8px rgba(41, 199, 74, .55));
}

.ivh-snd:hover { transform: translateY(-1px); }

/* --------------------------------------------------------------------------
   7. FOOTER — negru, etichete monospace, cipuri albe pentru logo-uri JPG/PNG
   -------------------------------------------------------------------------- */
body footer.et-l--footer,
body footer.et-l--footer .et_pb_section,
body .footer-menu-row { background: var(--background-primary) !important; color: var(--text-secondary); }

body footer.et-l--footer { border-top: 1px solid var(--border-color); }

body footer.et-l--footer :is(h1, h2, h3, h4, h5, h6),
body .footer-menu-row :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-mono) !important;
  font-size: .66rem !important;
  font-weight: 500 !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--text-faint) !important;
}

body footer.et-l--footer :is(p, li, span),
body .footer-menu-row :is(p, li, span) { color: var(--text-secondary); font-size: .88rem; line-height: 1.65; }

body footer.et-l--footer a, body .footer-menu-row a {
  color: var(--text-secondary) !important;
  text-decoration: none;
  transition: color var(--transition-standard);
}

body footer.et-l--footer a:hover, body .footer-menu-row a:hover { color: var(--investorhood-white) !important; }

body footer.et-l--footer img.ivh-logo,
body .footer-menu-row img.ivh-logo {
  filter: none !important;
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  height: 48px !important;
  width: auto !important;
  object-fit: contain;
}

body footer.et-l--footer img[src*="LogoInvestorhood"]:not(.ivh-logo),
body .footer-menu-row img[src*="LogoInvestorhood"]:not(.ivh-logo) {
  filter: invert(1) hue-rotate(180deg);
  background: transparent !important;
  padding: 0 !important;
  border-radius: 10px !important;
  height: 48px !important;
  width: auto !important;
  object-fit: contain;
}

body footer.et-l--footer img:not([src$=".svg"]):not([src*="LogoInvestorhood"]),
body .footer-menu-row img:not([src$=".svg"]):not([src*="LogoInvestorhood"]) { background: #FFFFFF; padding: 6px 10px; border-radius: 10px; }

/* --------------------------------------------------------------------------
   8. FAQ / ACORDEOANE — panouri închise, activ verde
   -------------------------------------------------------------------------- */
body .et_pb_toggle {
  background: var(--ivh-panel) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: var(--card-radius) !important;
  transition: border-color var(--transition-standard);
}

body .et_pb_toggle:hover { border-color: rgba(41, 199, 74, .5) !important; }
body .et_pb_toggle.et_pb_toggle_open { border-color: rgba(41, 199, 74, .55) !important; box-shadow: 0 0 0 1px rgba(41, 199, 74, .2); }
body .et_pb_toggle_title { color: var(--text-primary) !important; transition: color var(--transition-standard); }
body .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title { color: var(--investorhood-green) !important; }
body .et_pb_toggle_content { color: var(--text-secondary) !important; }

/* --------------------------------------------------------------------------
   9. FORMULARE + TABELE — câmpuri închise, focus verde
   -------------------------------------------------------------------------- */
#main-content input[type="text"],
#main-content input[type="email"],
#main-content input[type="tel"],
#main-content input[type="number"],
#main-content input[type="password"],
#main-content select,
#main-content textarea,
body .woocommerce input.input-text,
body .gform_wrapper input:not([type="submit"]),
body .gform_wrapper textarea {
  background: var(--ivh-panel) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-strong) !important;
  border-radius: 12px !important;
  font-family: var(--font-body) !important;
  transition: border-color var(--transition-standard), box-shadow var(--transition-standard);
}

#main-content ::placeholder { color: var(--text-faint); }

#main-content :is(input, select, textarea):focus,
body .woocommerce input.input-text:focus,
body .gform_wrapper :is(input, textarea):focus {
  border-color: var(--investorhood-green) !important;
  box-shadow: 0 0 0 3px var(--ivh-green-soft) !important;
  outline: none !important;
}

#main-content table {
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  background: var(--ivh-panel);
}

#main-content table th {
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text-faint);
}

#main-content table :is(td, th) { border-color: var(--border-color) !important; }

/* --------------------------------------------------------------------------
   10. INTRO CINEMATIC — overlay video (construit de JS pe homepage)
   Identic cu .b-intro din beta.css.
   -------------------------------------------------------------------------- */
.ivh-intro { position: fixed; inset: 0; z-index: 220; background: var(--background-primary); display: none; overflow: hidden; }
.ivh-intro[data-on="1"] { display: block; }
.ivh-intro video, .ivh-intro .ivh-intro-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ivh-intro .ivh-intro-poster { background: center/cover no-repeat; }
.ivh-intro::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(120% 90% at 50% 42%, transparent 55%, rgba(0, 0, 0, .5));
}

.ivh-beats { position: absolute; left: clamp(1.2rem, 7vw, 7rem); bottom: clamp(4.5rem, 16vh, 9rem); z-index: 2; }

.ivh-beat {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  font-family: var(--font-display);
  font-weight: 520;
  font-size: clamp(1.45rem, 1rem + 2.4vw, 2.8rem);
  line-height: 1.12;
  letter-spacing: -.015em;
  color: var(--text-primary);
  text-shadow: 0 2px 30px rgba(0, 0, 0, .6);
  white-space: nowrap;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .65s var(--ivh-ease), transform .65s var(--ivh-ease);
}

.ivh-beat.on { opacity: 1; transform: none; }
.ivh-beat.off { opacity: 0; transform: translateY(-12px); }

.ivh-intro-bar {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  background: var(--investorhood-green);
  width: 100%;
  transform-origin: 0 50%;
  transform: scaleX(0);
  z-index: 3;
}

.ivh-skipintro {
  position: absolute;
  right: clamp(1.1rem, 4vw, 3rem);
  bottom: clamp(1.2rem, 4vh, 2.2rem);
  z-index: 4;
  background: rgba(10, 16, 12, .4);
  border: 1px solid var(--border-color);
  border-radius: var(--pill-radius);
  color: var(--text-secondary);
  font: inherit;
  font-family: var(--font-mono);
  font-size: .76rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .6rem 1.2rem;
  cursor: pointer;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  transition: color .3s, border-color .3s;
}

.ivh-skipintro:hover { color: var(--text-primary); border-color: var(--investorhood-green); }

.ivh-intro.ivh-out { transition: opacity .7s var(--ivh-ease), transform .85s var(--ivh-ease); opacity: 0; transform: scale(1.04); }

/* --------------------------------------------------------------------------
   11. HERO CINEMATIC — video în loop + gradient + grain (montat de JS)
   Identic cu .b-hero din beta.css.
   -------------------------------------------------------------------------- */
.ivh-hero { position: relative; min-height: 100svh; display: grid; align-items: center; overflow: clip; padding-top: 4.5rem; }

.ivh-hero-media {
  position: absolute;
  inset: -3% 0 0 0;
  z-index: 0;
  transform: translate3d(calc(var(--mx, 0) * 10px), calc(var(--my, 0) * 7px), 0) scale(1.04);
}

.ivh-hero-media video, .ivh-hero-media .ivh-hposter {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 30% 40%;
  border-radius: 0 !important;
}

.ivh-hposter { background: 30% 40% / cover no-repeat; }

.ivh-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(5, 8, 7, .9), rgba(5, 8, 7, .62) 36%, rgba(5, 8, 7, .18) 60%),
    linear-gradient(180deg, rgba(5, 8, 7, .55), transparent 24%, transparent 60%, rgba(5, 8, 7, .92));
}

.ivh-grain {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  opacity: .45;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

.ivh-hero > .et_pb_row, .ivh-hero .ivh-hero-content { position: relative; z-index: 4; }

.ivh-hero :is(h1, h2, p) { color: var(--text-primary); }
.ivh-hero p { color: var(--text-secondary); }

/* --------------------------------------------------------------------------
   12. ANIMAȚII — reveal cu stagger + plutire
   -------------------------------------------------------------------------- */
html.ivh-js [data-ivh-anim] {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity .9s var(--ivh-ease), transform .9s var(--ivh-ease);
  transition-delay: var(--d, 0s);
  will-change: opacity, transform;
}

html.ivh-js [data-ivh-anim].ivh-in { opacity: 1; transform: none; }

.ivh-float { animation: ivhFloat 7s ease-in-out infinite; }

@keyframes ivhFloat {
  0%, 100% { translate: 0 0; }
  50% { translate: 0 -10px; }
}

/* --------------------------------------------------------------------------
   13. STICKY CTA MOBIL — bara fixă de jos (montată de JS, ca .b-stickycta)
   -------------------------------------------------------------------------- */
.ivh-stickycta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  display: none;
  padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom));
  background: rgba(6, 10, 8, .9);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-top: 1px solid var(--border-color);
}

.ivh-stickycta a { width: 100%; justify-content: center; display: inline-flex; }

@media (max-width: 760px) { .ivh-stickycta[data-on="1"] { display: block; } }

/* --------------------------------------------------------------------------
   14. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width: 980px) {
  body header.et-l--header .et_pb_menu__menu > nav > ul > li > a { font-size: .74rem !important; }
}

@media (max-width: 768px) {
  body h1 { font-size: clamp(1.9rem, 8.4vw, 2.6rem) !important; }
  .ivh-kicker, .ivh-kicker * { letter-spacing: .22em !important; }
  body .et_pb_button, body .contact-button-main, body .woocommerce a.button { min-height: 44px; }
  .ivh-hero { padding-top: 5.2rem; }
  .ivh-hero-media video, .ivh-hero-media .ivh-hposter { object-position: 24% 36%; }
}

@media (max-width: 430px) {
  body h2 { font-size: clamp(1.5rem, 7.4vw, 1.9rem) !important; }
  #main-content table { font-size: .84rem; }
  :root { --card-radius: 12px; --media-radius: 16px; }
}

/* --------------------------------------------------------------------------
   15. REDUCED MOTION
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html.ivh-js [data-ivh-anim] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .ivh-float { animation: none; }
  .ivh-hero-media { transform: none; }
  .ivh-know::after { transition: none; }
  .ivh-beat { transition: none; }
  body .et_pb_button::before, body .contact-button-main::before,
  body .woocommerce a.button::before, body .gform_button::before { display: none; }
}

/* --------------------------------------------------------------------------
   16. TELEFONUL CU APLICAȚIA (DeviceStage) — portat 1:1 din beta.css
   Montat de JS în hero-ul homepage-ului, în locul vizual al GIF-ului.
   -------------------------------------------------------------------------- */
.ivh-stagewrap { position: relative; display: grid; justify-items: center; }
.ivh-stagewrap[data-nosnippet] { /* demo vizual, exclus din snippets */ }

.ivh-devfloat {
  animation: ivhFloat 7s ease-in-out infinite;
  transform: translate3d(calc(var(--mx, 0) * -10px), calc(var(--my, 0) * -7px), 0);
}

.ivh-device {
  position: relative;
  width: min(300px, 72vw);
  aspect-ratio: 9 / 19;
  border-radius: 42px;
  background: linear-gradient(160deg, #1A211C, #0A0F0C 60%);
  border: 1px solid rgba(232, 240, 234, .14);
  box-shadow: 0 40px 90px rgba(0, 0, 0, .6), 0 10px 30px rgba(41, 199, 74, .08),
    inset 0 1px 0 rgba(255, 255, 255, .08);
  transform: rotateX(calc(var(--my, 0) * 3deg)) rotateY(calc(var(--mx, 0) * -4deg));
  transform-style: preserve-3d;
  transition: transform .1s linear;
}

.ivh-device::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 42px;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .07) 50%, transparent 58%);
}

.ivh-notch {
  position: absolute;
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  width: 34%;
  height: 22px;
  border-radius: 999px;
  background: #05080766;
  border: 1px solid rgba(232, 240, 234, .1);
  z-index: 5;
}

.ivh-dscreen {
  position: absolute;
  inset: 8px;
  border-radius: 34px;
  overflow: hidden;
  background: linear-gradient(180deg, #0A100C, #070C09);
}

.ivh-demo-badge {
  position: absolute;
  top: 14px;
  right: 12px;
  z-index: 6;
  font-family: var(--font-mono);
  font-size: .52rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ivh-green-ink);
  background: var(--investorhood-green);
  border-radius: 999px;
  padding: .22rem .55rem;
  opacity: .92;
}

.ivh-screens { position: absolute; inset: 0; bottom: 56px; }

.ivh-scr {
  position: absolute;
  inset: 0;
  padding: 52px 16px 12px;
  display: flex;
  flex-direction: column;
  gap: .7rem;
  opacity: 0;
  transform: translateX(26px);
  transition: opacity .45s var(--ivh-ease), transform .45s var(--ivh-ease);
  pointer-events: none;
  overflow: hidden;
}

.ivh-scr[data-on="1"] { opacity: 1; transform: none; pointer-events: auto; }
.ivh-scr[data-dir="l"] { transform: translateX(-26px); }
.ivh-scr[data-on="1"][data-dir="l"] { transform: none; }

.ivh-hi { font-family: var(--font-display); font-weight: 560; font-size: 1.05rem; letter-spacing: -.01em; color: var(--text-primary); margin: 0; }
.ivh-mut { color: var(--text-faint); font-size: .62rem; font-family: var(--font-mono); letter-spacing: .16em; text-transform: uppercase; margin: 0; }

.ivh-dcard { background: var(--ivh-panel); border: 1px solid var(--border-color); border-radius: 14px; padding: .7rem .8rem; }
.ivh-dcard h4 { font-size: .78rem !important; font-weight: 650; letter-spacing: -.01em; margin: 0; font-family: var(--font-body) !important; }
.ivh-dcard p { font-size: .66rem; color: var(--text-secondary); margin: .25rem 0 0; line-height: 1.45; }

.ivh-tag {
  display: inline-block;
  font-family: var(--font-mono);
  font-size: .52rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--investorhood-green);
  margin-bottom: .3rem;
}

.ivh-prog { height: 4px; border-radius: 4px; background: rgba(232, 240, 234, .1); overflow: hidden; margin-top: .5rem; }
.ivh-prog i { display: block; height: 100%; width: 38%; background: var(--investorhood-green); border-radius: 4px; box-shadow: 0 0 8px rgba(41, 199, 74, .7); }

.ivh-chat { display: flex; flex-direction: column; gap: .5rem; overflow: hidden; }
.ivh-bub { max-width: 86%; border-radius: 13px; padding: .55rem .7rem; font-size: .66rem; line-height: 1.5; margin: 0; }
.ivh-bub.u { align-self: flex-end; background: var(--investorhood-green); color: var(--ivh-green-ink); font-weight: 550; border-bottom-right-radius: 4px; }
.ivh-bub.h { align-self: flex-start; background: var(--ivh-panel-2); border: 1px solid var(--border-color); color: var(--text-primary); border-bottom-left-radius: 4px; }

.ivh-dinput {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: .5rem;
  background: var(--ivh-panel);
  border: 1px solid var(--border-color);
  border-radius: 999px;
  padding: .5rem .8rem;
  font-size: .64rem;
  color: var(--text-faint);
}

.ivh-dinput i { font-style: normal; color: var(--investorhood-green); }

.ivh-ev { display: flex; gap: .6rem; align-items: flex-start; background: var(--ivh-panel); border: 1px solid var(--border-color); border-radius: 12px; padding: .55rem .65rem; }
.ivh-ev time { font-family: var(--font-mono); font-size: .56rem; color: var(--text-faint); white-space: nowrap; padding-top: .15rem; }
.ivh-ev h5 { font-size: .68rem !important; font-weight: 650; margin: 0; font-family: var(--font-body) !important; }

.ivh-imp { display: inline-flex; gap: 2px; margin-top: .25rem; }
.ivh-imp i { width: 10px; height: 3px; border-radius: 2px; background: rgba(232, 240, 234, .16); }
.ivh-imp i.on { background: var(--investorhood-green); box-shadow: 0 0 6px rgba(41, 199, 74, .6); }

.ivh-bottomnav {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  height: 52px;
  z-index: 6;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  border-radius: 0 0 30px 30px;
  background: rgba(8, 12, 10, .92);
  border-top: 1px solid var(--border-color);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.ivh-tab {
  display: grid;
  justify-items: center;
  gap: 2px;
  background: none;
  border: 0;
  cursor: pointer;
  color: var(--text-faint);
  font-family: inherit;
  padding: .3rem 0;
  transition: color .25s;
}

.ivh-tab s { font-size: .72rem; text-decoration: none; line-height: 1; }
.ivh-tab b { font-size: .5rem; font-weight: 600; letter-spacing: .06em; }
.ivh-tab[data-active="1"] { color: var(--investorhood-green); }

.ivh-devnote {
  margin-top: 1rem;
  font-family: var(--font-mono);
  font-size: .6rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text-faint);
  text-align: center;
}

/* GIF-ul de animație din hero — ascuns vizual când telefonul e montat */
.ivh-hero .ivh-replaced { display: none !important; }

@media (max-width: 760px) { .ivh-device { width: min(258px, 74vw); } }

@media (prefers-reduced-motion: reduce) {
  .ivh-devfloat { animation: none; transform: none; }
  .ivh-device { transform: none; }
  .ivh-scr { transition: none; }
}

/* --------------------------------------------------------------------------
   17. VARIANTA COMPACTĂ A TELEFONULUI (.ivh-sm) — hero: doar ecranul Hoody
   -------------------------------------------------------------------------- */
.ivh-device.ivh-sm { width: min(225px, 56vw); border-radius: 34px; }
.ivh-device.ivh-sm::before { border-radius: 34px; }
.ivh-device.ivh-sm .ivh-dscreen { inset: 6px; border-radius: 28px; }
.ivh-device.ivh-sm .ivh-notch { top: 9px; height: 17px; }
.ivh-device.ivh-sm .ivh-demo-badge { top: 11px; right: 10px; font-size: .48rem; padding: .18rem .45rem; }
.ivh-device.ivh-sm .ivh-scr { padding: 40px 12px 10px; gap: .5rem; }
.ivh-device.ivh-sm .ivh-hi { font-size: .92rem; }
.ivh-device.ivh-sm .ivh-mut { font-size: .56rem; }
.ivh-device.ivh-sm .ivh-bub { font-size: .6rem; padding: .48rem .6rem; }
.ivh-device.ivh-sm .ivh-dinput { font-size: .58rem; padding: .42rem .7rem; }
.ivh-device.ivh-sm .ivh-screens { bottom: 44px; }
.ivh-device.ivh-sm .ivh-bottomnav { height: 44px; border-radius: 0 0 24px 24px; }
.ivh-device.ivh-sm .ivh-tab s { font-size: .62rem; }
.ivh-device.ivh-sm .ivh-tab b { font-size: .44rem; }
.ivh-device.ivh-sm .ivh-tab[disabled] { cursor: default; }
.ivh-device.ivh-sm + .ivh-devnote, .ivh-sm ~ .ivh-devnote { font-size: .54rem; }

@media (max-width: 760px) { .ivh-device.ivh-sm { width: min(190px, 52vw); } }


/* --------------------------------------------------------------------------
   18. CTA HEADER + HOVER — peste stilurile Divi generate din baza de date
   Pastilă verde plină, text ink, fără outline la hover, fără cercul vechi.
   Specificitate ridicată intenționat (html body + #page-container).
   -------------------------------------------------------------------------- */
html body li.contact-button > a,
html body .et_pb_menu li.contact-button a,
html body header.et-l--header a.et_pb_button {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: var(--investorhood-green) !important;
  color: var(--ivh-green-ink) !important;
  border: 0 !important;
  border-radius: var(--pill-radius) !important;
  padding: .62rem 1.2rem !important;
  font-family: var(--font-body) !important;
  font-weight: 650 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase;
  box-shadow: 0 8px 26px rgba(41, 199, 74, .22);
  transition: transform .25s var(--ivh-ease), box-shadow .3s;
}

html body li.contact-button > a span,
html body .et_pb_menu li.contact-button a span,
html body .header-coll ul li.contact-button a,
html body .header-coll ul li:last-child a span {
  color: var(--ivh-green-ink) !important;
  font-family: var(--font-body) !important;
}

html body li.contact-button > a:hover,
html body .et_pb_menu li.contact-button a:hover,
html body header.et-l--header a.et_pb_button:hover,
html body #page-container .et_pb_button:hover {
  background: var(--investorhood-green) !important;
  color: var(--ivh-green-ink) !important;
  border: 0 !important;
  translate: 0 -2px; /* compus cu transformul existent (ex. centrarea translateX -50%) */
  box-shadow: 0 14px 36px rgba(41, 199, 74, .34);
  padding: .62rem 1.2rem !important;
}

html body #page-container .et_pb_button:hover {
  padding: inherit !important;
}

html body li.contact-button > a:hover span,
html body .et_pb_menu li.contact-button a:hover span {
  color: var(--ivh-green-ink) !important;
}

/* Cercul decorativ vechi și iconul implicit Divi de pe butoane — eliminate */
html body .contact-button::after,
html body .contact-button:hover::after,
html body li.contact-button > a::after,
html body #page-container .et_pb_button::after,
html body #page-container .et_pb_button:hover::after {
  display: none !important;
  content: none !important;
}

/* Divi mută padding-ul la hover pentru icon — anulat */
html body #page-container .et_pb_button,
html body #page-container .et_pb_button:hover {
  padding-left: 1.2rem !important;
  padding-right: 1.2rem !important;
}

/* --------------------------------------------------------------------------
   19. HEADER PE O SINGURĂ LINIE — nav-ul nu se mai rupe pe rândul doi
   Ordinea: linkuri → START NOW → Sunet (Sound la dreapta CTA-ului).
   -------------------------------------------------------------------------- */
body header.et-l--header .et_pb_menu__wrap,
body header.et-l--header .et_pb_menu__menu {
  flex-wrap: nowrap !important;
}

body header.et-l--header .et_pb_menu__menu > nav > ul {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
}

body header.et-l--header .et_pb_menu__menu > nav > ul > li {
  white-space: nowrap;
}

/* CTA-ul și Sound: spațiere compactă ca totul să încapă pe un rând */
html body .et_pb_menu__menu li.contact-button {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

body header.et-l--header .ivh-snd {
  padding-left: 4px;
  white-space: nowrap;
}

/* Sub 1200px strângem ușor spațierea linkurilor ca să nu forțăm ruperea */
@media (max-width: 1200px) {
  body header.et-l--header .et_pb_menu__menu > nav > ul > li {
    padding: 0 10px !important;
  }

  body header.et-l--header .et_pb_menu__menu > nav > ul > li > a {
    font-size: .7rem !important;
    letter-spacing: .07em !important;
  }
}

/* Pe mobil, meniul Divi colapsează oricum în hamburger — fără constrângeri */
@media (max-width: 980px) {
  body header.et-l--header .et_pb_menu__menu > nav > ul {
    flex-wrap: wrap !important;
  }
}

/* --------------------------------------------------------------------------
   20. GRILA DE 4 PACHETE — toate cursurile pe un rând, carduri compacte
   Clasa .ivh-cards-4 e aplicată de JS pe rândul de carduri când al 4-lea
   pachet (Mentorship) e montat din datele live ale magazinului.
   -------------------------------------------------------------------------- */
.ivh-cards-4 {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: stretch;
}

.ivh-cards-4 > * {
  flex: 1 1 0 !important;
  min-width: 230px;
  max-width: 100% !important;
  width: auto !important;
  margin: 0 !important;
}

/* Varianta compactă a cardurilor în grila de 4 */
.ivh-cards-4 .card-module { padding: 1rem 1.05rem !important; }
.ivh-cards-4 .card-module h3,
.ivh-cards-4 h3 { font-size: .95rem !important; line-height: 1.3 !important; }
.ivh-cards-4 .card-module p,
.ivh-cards-4 p { font-size: .8rem !important; line-height: 1.55 !important; }
.ivh-cards-4 .woocommerce-Price-amount,
.ivh-cards-4 .price { font-size: 1.1rem !important; }
.ivh-cards-4 .ivh-chip { font-size: .56rem !important; padding: .26rem .6rem !important; }
.ivh-cards-4 .et_pb_button { font-size: .78rem !important; padding: .6rem 1.1rem !important; }

@media (max-width: 1100px) {
  .ivh-cards-4 > * { flex: 1 1 calc(50% - .5rem) !important; }
}

@media (max-width: 640px) {
  .ivh-cards-4 > * { flex: 1 1 100% !important; }
}

/* Butonul „See more" din secțiunea de pachete — ascuns când sunt toate 4 */
.ivh-seemore-hidden { display: none !important; }

/* --------------------------------------------------------------------------
   21. SUPRASCRIERI PENTRU STILURILE INLINE ORIGINALE (doar pe .com)
   Fisierele PHP raman originale (pentru .ro); pe .com, gradientele vechi
   de verde din pagina de autor si cipul de valuta primesc identitatea.
   !important e necesar: stilurile inline se tiparesc dupa acest fisier.
   -------------------------------------------------------------------------- */
/* Gradientul vechi e tiparit pe selectori simpli h1/h2 in pagina de autor;
   specificitatea body+element il bate indiferent de ordinea de incarcare. */
body h1,
body h2 {
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
  color: var(--text-primary);
}

.span_currency_2 {
  color: var(--investorhood-green) !important;
  border-color: var(--border-strong) !important;
}

/* --------------------------------------------------------------------------
   22. FINISAJ POST-LANSARE — corecții din QA-ul pe site-ul live (.com)
   -------------------------------------------------------------------------- */

/* 22a. TEXTELE CU GRADIENT VECHI -> culoare solidă (începeau cu negru,
   deci prima parte devenea invizibilă pe fundalul închis). */
body :is(h1, h2, h3, h4, h5, h6) {
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
  color: var(--text-primary) !important;
}

.moto p,
.text-box h1,
.special-row-video-ec .title-special-video-section,
.text-box-card-section h2,
.title_popup,
.woocommerce-customer-details .woocommerce-column__title,
.woocommerce-order-details__title {
  -webkit-text-fill-color: currentColor !important;
  background-image: none !important;
  color: var(--text-primary) !important;
}

.text-box-card-section p { -webkit-text-fill-color: currentColor !important; background-image: none !important; color: var(--text-secondary) !important; }
.text-box-card-section a { -webkit-text-fill-color: currentColor !important; background-image: none !important; color: var(--investorhood-green) !important; }

/* 22b. BUTOANELE VECHI CU IMAGINE (pastila-SVG cu cerc alb + glow) ->
   pastila identității: verde plin, text ink, fără cerc, fără glow difuz. */
#main-content .contact-button-main a,
#main-content .contact-button-main #button2 a,
#main-content .contact-button-main #button3_sty a {
  background: var(--investorhood-green) !important;
  background-image: none !important;
  border-radius: 999px !important;
  padding: .85rem 1.7rem !important;
  width: max-content !important;
  height: auto !important;
  color: var(--ivh-green-ink) !important;
  font-family: var(--font-body) !important;
  font-weight: 650 !important;
  letter-spacing: .02em;
  box-shadow: 0 10px 30px rgba(41, 199, 74, .22) !important;
  filter: none !important;
  text-shadow: none !important;
  transition: transform .25s var(--ivh-ease), box-shadow .3s;
}

#main-content .contact-button-main a span,
#main-content .contact-button-main a bdi { color: var(--ivh-green-ink) !important; }

#main-content .contact-button-main a::after,
#main-content .contact-button-main a::before { display: none !important; content: none !important; }

#main-content .contact-button-main a:hover {
  box-shadow: 0 16px 40px rgba(41, 199, 74, .34) !important;
}

#main-content .contact-button-main { padding-top: 0 !important; margin-top: 1.75rem !important; filter: none !important; }

/* 22c. TICKER-UL TRADINGVIEW (iframe cu tema deschisă) -> inversat în dark */
iframe[src*="tradingview"] {
  filter: invert(.92) hue-rotate(180deg) saturate(1.15);
  border-radius: 12px;
}

/* 22d. RITMUL VERTICAL — secțiunile vechi aveau înălțimi/spații uriașe
   gândite pentru fundal alb; pe negru golul devine strident. Plafonăm. */
body.home #main-content .et_pb_section,
body.home #main-content .et_pb_row {
  min-height: 0 !important;
  height: auto !important;
}

body.home #main-content .et_pb_section:not(:first-child) {
  padding-top: clamp(48px, 7vw, 96px) !important;
  padding-bottom: clamp(48px, 7vw, 96px) !important;
}

body.home #main-content .et_pb_row {
  padding-top: clamp(0px, 2vw, 28px) !important;
  padding-bottom: clamp(0px, 2vw, 28px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* 22e. ICONURILE SOCIALE (SVG închise, invizibile pe negru) -> albe */
img[src*="social-"],
img[src*="linkedin"],
img[src*="video-2"],
img[src*="youtube-2"] {
  filter: brightness(0) invert(1);
  opacity: .82;
  transition: opacity .25s;
}

a:hover > img[src*="social-"],
a:hover > img[src*="linkedin"],
a:hover > img[src*="video-2"],
a:hover > img[src*="youtube-2"] { opacity: 1; }

/* 22f. BADGE-UL COȘULUI — lizibil: verde cu text ink, compact */

/* --------------------------------------------------------------------------
   23. FINISAJ RUNDA 2 — corecții din al doilea QA pe live
   -------------------------------------------------------------------------- */

/* 23a. BUTOANELE DIVI — pe lățimea conținutului, nu întinse pe coloană */
body.home #main-content .et_pb_button,
#main-content a.et_pb_button {
  display: inline-flex !important;
  align-items: center;
  width: max-content !important;
  min-width: 0 !important;
  max-width: 100%;
  padding: .85rem 2rem !important;
}

/* 23b. HERO COMPACT — kicker-ul INVESTORHOOD lipit de subtitlu și titlu,
   fără golul uriaș dintre ele (secțiunea 1 avea padding de fundal alb) */
body.home #main-content .et_pb_section:first-child {
  padding-top: 12px !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

body.home #main-content .et_pb_section:first-child .et_pb_row,
body.home .ivh-hero .et_pb_row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home .ivh-hero { padding-top: clamp(40px, 6vw, 80px) !important; }

body.home .ivh-hero h1 { margin-top: .35em !important; margin-bottom: .3em !important; }

/* 23c. IFRAME-URILE (Vimeo/YouTube) — nu mai ies din carduri */
#main-content iframe {
  max-width: 100% !important;
  border-radius: 12px;
}

.content-box-testimonial,
.testimoniale-section .et_pb_column {
  overflow: hidden;
  border-radius: var(--card-radius, 14px);
}

/* 23d. NIMIC NU MAI DEPĂȘEȘTE ORIZONTAL (ilustrații poziționate în afară) */
html, body { overflow-x: clip !important; }

#main-content .et_pb_section { overflow-x: clip; }

/* 23e. Titlurile de secțiune non-heading rămase gri -> alb editorial */
.moto p, .special-row-video-ec .title-special-video-section { color: var(--text-primary) !important; }

/* --------------------------------------------------------------------------
   24. PRECIZIE PE MARKUP-UL REAL (inspectat live pe .com original)
   Secțiuni: banner-home, marquee-section, card-section, section-asistenta,
   beneficii-sect, testimoniale-section, section-reels-podcast, faq-section.
   CTA-urile (Start now / See More) = <a> fără clasă în .contact-button-main.
   -------------------------------------------------------------------------- */

/* CTA-urile principale — specificitate cu ID, peste orice regulă page-id */
html body #main-content .contact-button-main a,
html body #main-content .contact-button-main p > a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: max-content !important;
  min-width: 0 !important;
  background: var(--investorhood-green) !important;
  background-image: none !important;
  border-radius: 999px !important;
  padding: .85rem 1.9rem !important;
  color: var(--ivh-green-ink) !important;
  font-family: var(--font-body) !important;
  font-weight: 650 !important;
  box-shadow: 0 10px 30px rgba(41, 199, 74, .22) !important;
}

html body #main-content .contact-button-main p {
  display: flex;
  justify-content: inherit;
  margin: 0;
}

/* Hero (banner-home): ordine compactă eyebrow → subtitlu → H1 → CTA */
body .banner-home .et_pb_row { align-items: center; }
body .banner-home h1 { margin: .3em 0 .35em !important; }
body .banner-home .contact-button-main { margin-top: 1.4rem !important; }

/* Ticker-ul (marquee-section) — plafonat pe înălțime, fundal curat */
body .marquee-section { padding: 10px 0 !important; background: transparent !important; min-height: 0 !important; }

/* FAQ: coloana stângă (faq-col-1, doar ilustrația) — aliniată jos, fără gol strident */
body .faq-section .faq-col-1 { display: flex; flex-direction: column; justify-content: flex-end; }

/* Secțiunile-container (cardurile albe din original) — panouri discrete pe dark */
/* (eliminat la QA: user a cerut flow flat, ca in preview — fara panouri pe secțiuni) */

/* 24b. (verificat live) Pastila veche era pictată pe MODULUL .contact-button-main
   (background + radius 999px din stilurile remapate) — modulul devine transparent,
   pastila rămâne doar pe ancoră. See More se centrează în secțiunea lui. */
html body #main-content .contact-button-main,
html body #main-content .contact-button-main .et_pb_text_inner {
  background: none !important;
  background-image: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* (eliminat: See more se aliniaza stanga) */

/* --------------------------------------------------------------------------
   25. FINISAJ VERIFICAT LIVE ÎN BROWSER (header, iconografie, chip-uri)
   -------------------------------------------------------------------------- */

/* 25a. CTA-ul Contact: li-ul purta încă imaginea-SVG a pastilei vechi */
html body li.contact-button {
  background: none !important;
  background-image: none !important;
  border-radius: 0 !important;
  padding: 0 14px !important;
}

/* 25c. Iconografia veche (GIF/SVG-urile line-art din modulele de cod) — ascunsă;
   kicker-ele //nn și chip-urile de nivel preiau rolul, ca în referință */
body img.element-img-gif,
body img.element-target { display: none !important; }

/* 25d. Eticheta de nivel a cardurilor (Advanced/Beginner) -> chip identitar */
body .text-box-card p {
  display: inline-flex !important;
  align-items: center;
  width: max-content;
  font-family: var(--font-mono) !important;
  font-size: .62rem !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--investorhood-green) !important;
  border: 1px solid rgba(41, 199, 74, .35);
  border-radius: 999px;
  padding: .32rem .75rem !important;
  background: rgba(41, 199, 74, .07);
  margin: 0 !important;
}

/* 25e. Pagina de cursuri: cardul Bestseller purta gradientul alb->verde vechi
   (text alb ilizibil). Devine panou identitar evidențiat, cu accent verde. */
html body .courses-box.best-seller-box {
  background: linear-gradient(180deg, rgba(41, 199, 74, .14), rgba(18, 24, 20, .6) 55%) !important;
  border: 1px solid rgba(41, 199, 74, .38) !important;
  box-shadow: 0 18px 50px rgba(41, 199, 74, .12);
}

/* Rândul de etichetă al cardurilor de curs: aliniat curat după ascunderea iconului */
body .before-title-txt p { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

/* 25f. Butoanele WooCommerce (Return to shop, Apply coupon, Update cart etc.)
   — pastila identității, fără cercul-imagine vechi */
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button,
html body a.checkout-button {
  background: var(--investorhood-green) !important;
  background-image: none !important;
  color: var(--ivh-green-ink) !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: .8rem 1.6rem !important;
  font-family: var(--font-body) !important;
  font-weight: 650 !important;
  width: max-content;
  box-shadow: 0 10px 28px rgba(41, 199, 74, .2);
}

html body .woocommerce a.button::before,
html body .woocommerce a.button::after { content: none !important; display: none !important; }

/* --------------------------------------------------------------------------
   26. PARITY CU PREVIEW-UL (verificat live): flat, ritm strâns, tipografie
   -------------------------------------------------------------------------- */
body.home #main-content .et_pb_section { background: transparent !important; border: 0 !important; }
body.home #main-content .et_pb_section:not(:first-child) {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}
body.home .faq-section .et_pb_row { background: transparent !important; }

/* Titlurile-P ale secțiunilor Testimoniale și Social — serif editorial alb */
.et_pb_text_25 p,
.et_pb_text_28 p {
  font-family: var(--font-display) !important;
  font-weight: 560;
  font-size: clamp(34px, 3.6vw, 50px) !important;
  line-height: 1.08 !important;
  color: var(--text-primary) !important;
  letter-spacing: -.01em;
}

/* Toate kicker-ele .text-before-title — mono, uniform (numerotate de JS) */
body .text-before-title p {
  font-family: var(--font-mono) !important;
  font-size: 12px !important;
  letter-spacing: .24em !important;
  text-transform: uppercase !important;
  color: var(--text-faint) !important;
  font-weight: 500 !important;
}

/* --------------------------------------------------------------------------
   27. PARITY FINALĂ CU PREVIEW-UL (rundă verificată integral live)
   -------------------------------------------------------------------------- */

/* Iconurile din header: sunetul pe aceeași axă cu coșul/căutarea, cu aer la dreapta */
.et-l--header .ivh-snd { transform: translateY(-5px); margin-right: 10px !important; }

/* Cardurile de curs: fără ilustrațiile vechi; descrierea se întinde,
   prețul și Buy now cad pe aceeași linie orizontală în toate cardurile */
.card-row .et_pb_image { display: none !important; }
.card-row .et_pb_column { display: flex !important; flex-direction: column !important; }
.card-row .card-module-text { flex: 1 1 auto !important; }

/* Mentorship: coloana-ilustrație eliminată, grila 2x2 pe toată lățimea.
   Inclusiv duplicatul de mobil al ilustrației (.img-sm-size) — altfel
   desktopul și mobilul nu erau în concordanță (imaginea apărea doar pe mobil). */
.section-asistenta .asistenta-col2 { display: none !important; }
.section-asistenta .asistenta-col1 { width: 100% !important; }
#main-content .section-asistenta .img-sm-size,
#main-content .asistenta-row-1 .img-sm-size { display: none !important; }

/* FAQ: heading-ul rămâne (col-1 full-width, doar ilustrațiile ascunse),
   lista centrată; corectat după verificarea live */
.faq-section .faq-col-1 {
  display: block !important;
  width: 100% !important;
  float: none !important;
  min-height: 0 !important;
  margin-bottom: 0 !important;
}

.faq-section .faq-col-1 img,
.faq-section .faq-col-1 .et_pb_image,
.faq-section .faq-col-1 > *:nth-child(n+3) { display: none !important; }

.faq-section .faq-col-1 .et_pb_text { padding-bottom: 0 !important; margin-bottom: 0 !important; }

.faq-section .faq-col-2 {
  max-width: 980px;
  width: 100% !important;
  float: none !important;
  margin: 8px auto 0 !important;
}

/* See more — aliniat stânga, la marginea conținutului (ca în referință) */
#main-content .contact-button-main p { justify-content: flex-start !important; }

/* Footer compact; logo-urile partenerilor integrate în dark (fără cipuri albe) */
.et-l--footer .et_pb_row { padding-top: 14px !important; padding-bottom: 14px !important; margin: 0 auto !important; }
.et-l--footer .et_pb_section { padding-top: 44px !important; padding-bottom: 28px !important; }

footer.et-l--footer img:not(.ivh-logo):not([src$=".svg"]),
.et-l--footer .footer-menu-row img:not(.ivh-logo):not([src$=".svg"]) {
  background: transparent !important;
  padding: 0 !important;
  border-radius: 6px;
  filter: grayscale(1) brightness(1.8) opacity(.5);
  transition: filter .25s;
}

.et-l--footer a:hover img { filter: none !important; }

/* --------------------------------------------------------------------------
   28. RUNDA 4 — verificată integral live (header, badges, reels, FAQ, social)
   -------------------------------------------------------------------------- */

/* Iconurile pe centrul vertical al butonului Contact (măsurat: +5px) */
.et-l--header .ivh-snd { transform: none !important; margin-right: 10px !important; }

/* Badge-urile Advanced/Beginner mai sus, lipite de marginea cardului */
.card-row .text-box-card { margin: 0 0 12px !important; }

/* Rândurile-fantomă din secțiunea social (reels/video goale, dar cu padding) */
.section-reels-podcast .reels-podcast-row,
.section-reels-podcast .video-section-row,
.section-reels-podcast .reels-podcast-row-2 { display: none !important; }

.section-reels-podcast { padding-bottom: 40px !important; }
.faq-section { padding-top: 48px !important; }

/* FAQ: textul final + Contact us — stânga, spațiere strânsă */
.faq-section .et_pb_text_inner { text-align: left !important; }
.faq-section .contact-button-main { margin-top: .6rem !important; }

/* Social: la hover, cercul primește culoarea reală a brandului, glifa albă */
a[href*="facebook"]:hover { background: #1877F2 !important; }
a[href*="linkedin"]:hover { background: #0A66C2 !important; }
a[href*="instagram"]:hover { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important; }
a[href*="tiktok"]:hover { background: #FE2C55 !important; }
a[href*="youtube"]:hover { background: #FF0000 !important; }

.section-reels-podcast a:hover img,
footer a:hover img[src$=".svg"] { filter: brightness(0) invert(1) !important; opacity: 1 !important; }

footer a[href*="facebook"], footer a[href*="linkedin"], footer a[href*="instagram"],
footer a[href*="tiktok"], footer a[href*="youtube"] {
  border-radius: 50%;
  padding: 8px;
  display: inline-flex;
  transition: background .25s;
}

/* Partenerii: culorile reale ale logo-urilor, direct pe fundalul închis */
footer.et-l--footer img:not(.ivh-logo):not([src$=".svg"]) {
  filter: none !important;
  background: transparent !important;
  border-radius: 10px;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   29. RUNDA 5 — cele 16 corecții din QA (verificate live prin injecție)
   -------------------------------------------------------------------------- */

/* 1-2. Hover-ul butoanelor: efectul rămâne ÎN buton (overflow), fără lift tăiat */
#main-content .contact-button-main a,
html body li.contact-button > a,
html body .woocommerce a.button {
  position: relative;
  overflow: hidden !important;
  transform: none !important;
}

#main-content .contact-button-main a:hover,
html body li.contact-button > a:hover,
html body .woocommerce a.button:hover { transform: none !important; filter: brightness(1.08); }

#main-content .contact-button-main::before,
#main-content .contact-button-main::after,
#main-content .contact-button-main p::before,
#main-content .contact-button-main p::after { display: none !important; content: none !important; }

/* 3-6. See more — stânga reală: modul la stânga, rândul-cu-coloană-de-mijloc devine block */
#main-content .contact-button-main,
#main-content .contact-button-main .et_pb_text_inner { text-align: left !important; }
#main-content .contact-button-main { margin-left: 0 !important; margin-right: auto !important; }
#main-content [class*="position-in"] { margin-left: 0 !important; margin-right: auto !important; }
.card-button-section { display: block !important; }
.card-button-section .et_pb_column { width: 100% !important; float: none !important; margin: 0 !important; }

/* 7. Rânduri uniforme pe homepage — aceeași margine stângă în toate secțiunile */
body.home #main-content .et_pb_row {
  max-width: 1180px !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* 8. Ritm mai strâns + fără divider-ele vechi */
body.home #main-content .et_pb_section:not(:first-child) { padding-top: 56px !important; padding-bottom: 56px !important; }
body.home .et_pb_divider { display: none !important; }

/* 9-10. FAQ — lista și CTA-ul la stânga (fără centrare) */
.faq-section .faq-col-2 { margin: 8px 0 0 !important; max-width: 100% !important; }

/* 11. Social — iconuri mai mari, cerc uniform, brand color la hover (toate) */
/* (rescris in sectiunea 30) */

/* 12. Parteneri — Libra la aceeași înălțime cu tbi; Stripe schimbă locul cu SOL */
/* (rescris in sectiunea 30) */

.et-l--footer .et_pb_image:has(img[src*="pictograma-anpc"]) { order: 1; }
.et-l--footer .et_pb_image:has(img[src*="Stripe"]) { order: 2; }
.et-l--footer .et_pb_image:has(img[src*="SOL-1"]) { order: 3; }

/* 13. Meniu: item activ = subliniat verde (nu tăiat); titluri allcourses la scară */
.et-l--header li a { text-decoration: none !important; }
.et-l--header .current-menu-item > a,
.et-l--header .current_page_item > a { border-bottom: 2px solid var(--investorhood-green); padding-bottom: 5px; }
.grid-allcourses h2, .courses-box h2 { font-size: clamp(26px, 2.4vw, 34px) !important; line-height: 1.15 !important; }

/* 14. Dropdown-ul About us — panou închis, text alb */
.et-l--header .sub-menu, .et-l--header ul ul {
  background-color: var(--ivh-panel) !important;
  border: 1px solid var(--border-color) !important;
  border-radius: 12px;
}
.et-l--header .sub-menu a, .et-l--header ul ul a { color: var(--text-primary) !important; }
.et-l--header .sub-menu a:hover, .et-l--header ul ul a:hover { color: var(--investorhood-green) !important; }

/* 15. Media appearances — contururile verzi stridente devin hairline, input aerisit */
#main-content div[class*="search"], #main-content form[class*="search"],
#main-content div[class*="filter"], #main-content div[class*="recent"] { border-color: rgba(232, 240, 234, .14) !important; }
#main-content input[type="search"], #main-content input[name="s"] { padding-left: 14px !important; }

/* --------------------------------------------------------------------------
   30. RUNDA 6 — verificată live: CTA pe rail, footer social, parteneri, hero
   -------------------------------------------------------------------------- */

/* CTA-urile mutate de JS pe railul de conținut — stânga strictă, fără umbre-cutii */
.ivh-cta-row { max-width: 1180px; width: 100%; margin: 1.2rem auto 0; }
.ivh-cta-row, .ivh-cta-row * { text-align: left !important; }
.ivh-cta-row .contact-button-main { margin: 0 !important; }
.ivh-cta-row .et_pb_text { margin: 0 0 .6rem !important; }
.ivh-cta-row .contact-button-main p { justify-content: flex-start !important; }

#main-content .contact-button-main,
#main-content .contact-button-main .et_pb_text_inner,
#main-content .contact-button-main p {
  box-shadow: none !important;
  filter: none !important;
  background: transparent !important;
}

/* Telefonul din hero — mai sus, cu aer față de textul de sub el */
.banner-home .ivh-stagewrap { margin-top: -44px; }

/* Footer social — cercuri reale (aspect 1:1), glife albe, brand color la hover */
footer a[href*="facebook"], .et-l--footer a[href*="facebook"],
footer a[href*="linkedin"], .et-l--footer a[href*="linkedin"],
footer a[href*="instagram"], .et-l--footer a[href*="instagram"],
footer a[href*="tiktok"], .et-l--footer a[href*="tiktok"],
footer a[href*="youtube"], .et-l--footer a[href*="youtube"] {
  width: 42px !important;
  height: 42px !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1;
  padding: 0 !important;
  margin: 0 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(232, 240, 234, .07) !important;
  overflow: hidden;
  transition: background .25s;
}

footer a[href*="facebook"] img, .et-l--footer a[href*="facebook"] img,
footer a[href*="linkedin"] img, .et-l--footer a[href*="linkedin"] img,
footer a[href*="instagram"] img, .et-l--footer a[href*="instagram"] img,
footer a[href*="tiktok"] img, .et-l--footer a[href*="tiktok"] img,
footer a[href*="youtube"] img, .et-l--footer a[href*="youtube"] img {
  width: 18px !important;
  height: 18px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

/* --------------------------------------------------------------------------
   31. RUNDA 7 — header fără strike, submeniu lizibil, social-footer blindat
   -------------------------------------------------------------------------- */

/* Header: NICIO decorațiune pe linkuri (nici strike, nici underline nativ);
   itemul activ păstrează doar sublinierea verde prin border-bottom */
html body .et-l--header a,
html body .et-l--header a span,
html body .et-l--header nav a { text-decoration: none !important; }

/* Submeniul (About us → Our story / Our team): panou închis, text alb */
html body ul.sub-menu,
html body .et-l--header ul ul {
  background: #121814 !important;
  border: 1px solid rgba(232, 240, 234, .12) !important;
  border-radius: 12px !important;
  padding: 6px 0 !important;
}

html body ul.sub-menu li a,
html body .et-l--header ul ul li a {
  color: #F4F7F4 !important;
  opacity: 1 !important;
  background: transparent !important;
}

html body ul.sub-menu li a:hover,
html body .et-l--header ul ul li a:hover { color: var(--investorhood-green) !important; }

/* Social-footer (.social-footer): cercuri 42px reale, imposibil de strivit */
html body .social-footer {
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 12px;
}

html body .social-footer a {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  flex: 0 0 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: rgba(232, 240, 234, .07) !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden;
  transition: background .25s;
}

html body .social-footer a img {
  width: 18px !important;
  height: 18px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 1 !important;
}

html body .social-footer a[href*="facebook"]:hover { background: #1877F2 !important; }
html body .social-footer a[href*="linkedin"]:hover { background: #0A66C2 !important; }
html body .social-footer a[href*="instagram"]:hover { background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%) !important; }
html body .social-footer a[href*="tiktok"]:hover { background: #FE2C55 !important; }
html body .social-footer a[href*="youtube"]:hover { background: #FF0000 !important; }

/* --------------------------------------------------------------------------
   32. FAQ — lista de întrebări și CTA-ul final centrate;
   kicker-ul //04 și titlul rămân pe railul stâng, neatinse.
   -------------------------------------------------------------------------- */
html body .faq-section .faq-col-2 {
  max-width: 980px !important;
  width: 100% !important;
  margin: 8px auto 0 !important;
  float: none !important;
}

html body .faq-section .ivh-cta-row,
html body .faq-section .ivh-cta-row * { text-align: center !important; }

html body .faq-section .ivh-cta-row .contact-button-main p { justify-content: center !important; }

html body .faq-section .ivh-cta-row .et_pb_text { margin: 0 0 .8rem !important; }

/* 32b. (verificat live: pagină 817 / listă 817 / buton 817 — centrare exactă)
   Stilul vechi împingea coloana FAQ cu margin-left:200px (layout pe 2 coloane);
   specificitate cu ID ca să batem regulile per page-id. */
html body #main-content .faq-section .faq-col-2 {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 8px !important;
}

html body #main-content .faq-section .ivh-cta-row .contact-button-main {
  width: max-content !important;
  margin: 0 auto !important;
}

html body #main-content .faq-section .ivh-cta-row .contact-button-main p { justify-content: center !important; }

/* 32c. (verificat live: pagină 817 / text 817 / buton 817)
   Modulul "Do you have any more questions?" avea lățime fixă din builder
   (1027px) și se lipea de stânga — întins la 100%, textul cade pe ax. */
html body #main-content .faq-section .ivh-cta-row .et_pb_text {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto .8rem !important;
}

/* 32d. Lățimea coloanei FAQ, blindată cu ID pe TOATE breakpoint-urile
   (regulile vechi pe media query dădeau width ~58% la anumite lățimi
   de fereastră, dezaxând lista față de text și buton). */
html body #main-content .faq-section .faq-col-2 {
  width: 100% !important;
  max-width: 980px !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
}

html body #main-content .faq-section .faq-col-2 .et_pb_toggle {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 32e. Și RÂNDUL .faq-row, pinuit cu ID — regulile vechi îl redimensionau
   (width:93% la ≤1200, paddings) și deviau întreaga zonă față de ax. */
html body #main-content .et_pb_row.faq-row,
html body #main-content .faq-section .et_pb_row {
  width: 100% !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  display: block !important;
  float: none !important;
}

/* 33. Header la scroll: logo-ul nu mai atinge muchia de jos (verificat live: gap 12px) */
html body header.et-l--header .et_pb_section { padding-bottom: 12px !important; }

/* --------------------------------------------------------------------------
   35. HEADER — fără linia prin mijlocul textului la itemul activ/hover.
   Cauza (măsurată live): pseudo-ul de subliniere al meniului Divi este
   repoziționat de core, în varianta „--with-logo", cu top:50% !important —
   deci linia animată trece prin mijlocul literelor, iar accentul verde
   (acum corect, din globals) o face vizibilă. O eliminăm pe itemii simpli;
   itemii cu submeniu (About Us) își păstrează săgeata, care e alt ::after.
   Sublinierea verde a itemului activ rămâne cea prin border-bottom (§31).
   -------------------------------------------------------------------------- */
html body .et-l--header .et_pb_menu__menu > nav > ul > li:not(.menu-item-has-children) > a::after,
html body .et-l--header .et-menu > li:not(.menu-item-has-children) > a::after {
  display: none !important;
  content: none !important;
}
