/* ============================================================
   StoryFuze — Brand theme "Duotone Motion"
   Scope: html[data-platform="storyfuze"] — NU global, nu afectează
   ifindspec/avocatescu. Definește doar variabilele de PLATFORMĂ
   (--primaryColor, --secondaryColor, ...) pe care le consumă deja
   assets/brand/_tokens/semantic.css (nivel 2, --ifs-*) și, prin el,
   primitive.css (nivel 1, scale/radius/shadow/typography --ifs-*).
   NU redefinește tokenii --ifs-* — doar îi alimentează cu valorile
   de brand StoryFuze, la fel cum generalCssFile.php face pt.
   ifindspec/avocatescu.

   Sursă paletă: recuperată din git (commit 05f2744f^, folderul
   creator-app șters ulterior) — ifindspec/web/test.ifindspec.com/
   creator-app/assets/css/{design-system.css,style.css}. Tema reală
   se numește "Duotone Motion": duotone cyan → orange pe fundal
   albastru-închis, tipografie Playfair Display (titluri) + Inter
   (corp text). Valorile de mai jos sunt aliniate 1:1 la tokenii
   --ds-* din design-system.css.
   ============================================================ */

/* StoryFuze — Brand theme "Duotone Motion"
   Scope: html[data-platform="storyfuze"] — NU global, nu afectează
   ifindspec/avocatescu. Definește doar variabilele de PLATFORMĂ
   (--primaryColor, --secondaryColor, ...) pe care le consumă deja
   assets/brand/_tokens/semantic.css (nivel 2, --ifs-*) și, prin el,
   primitive.css (nivel 1, scale/radius/shadow/typography --ifs-*).
   NU redefinește tokenii --ifs-* — doar îi alimentează cu valorile
   de brand StoryFuze, la fel cum generalCssFile.php face pt.
   ifindspec/avocatescu.

   Sursă paletă: recuperată din git (commit 05f2744f^, folderul
   creator-app șters ulterior) — ifindspec/web/test.ifindspec.com/
   creator-app/assets/css/{design-system.css,style.css}. Tema reală
   se numește "Duotone Motion": duotone cyan → orange pe fundal
   albastru-închis, tipografie Playfair Display (titluri) + Inter
   (corp text). Valorile de mai jos sunt aliniate 1:1 la tokenii
   --ds-* din design-system.css.

   TEMĂ (fix 04.09.2026): Duotone Motion e o temă ÎNTUNECATĂ prin
   design — valorile dark de mai jos se aplică pe "auto" (fără
   data-theme) și pe [data-theme="dark"]. Blocul separat de la
   sfârșit reia TOȚI tokenii de suprafață/text cu valori LIGHT
   pentru [data-theme="light"], ca pagina privată să nu rămână
   cu text alb pe fundal alb (bug raportat la QA).
   ============================================================ */

/* ── TEMA DEFAULT (auto) + DARK: paleta Duotone Motion originală ── */
html[data-platform="storyfuze"]:not([data-theme="light"]),
html[data-platform="storyfuze"][data-theme="dark"] {
  /* Tema implicită e dark → semnalăm și widget-urilor native (finding C audit) */
  color-scheme: dark;

  /* ── Brand / acțiuni (consumate de semantic.css → --ifs-primary/--ifs-accent) ── */
  --primaryColor: #46e0e8;
  --primaryColorRgb: 70, 224, 232;
  --secondaryColor: #ff7a2e;
  --accentColor: #ff7a2e;
  --accentColorRgb: 255, 122, 46;
  --accentSoft: rgba(255, 122, 46, 0.12);
  --accentGlow: rgba(255, 122, 46, 0.28);
  --hoverLinkColor: #46e0e8;

  /* ── Suprafață / text ── */
  --pageBackgroundColor: #0d1420;
  --textColor: #f2f4f8;
  --fadeText: #9aa5b5;
  --bordersColor: rgba(255, 255, 255, 0.08);
  --white: #101827; /* alias istoric folosit ca "surface întunecată" (= --ds-bg-alt) */
  --colo: #000000;

  --surfaceBg: #101827;
  --surfaceHoverBg: #131c2b;
  --surfaceBorder: rgba(255, 255, 255, 0.08);

  /* ── Formulare ── */
  --inputBackgroundColor: rgba(255, 255, 255, 0.06);
  --inputBorderColor: rgba(255, 255, 255, 0.12);

  /* ── Navigație ── */
  --navBg: #0d1420;
  --navText: #9aa5b5;
  --navTextHover: #ffffff;
  --navBorder: rgba(255, 255, 255, 0.08);
  --navBrandFilter: none;
  --navTogglerFilter: none;
  --menuBck: #0d1420;

  /* ── Footer ── */
  --footerBg: #0d1420;
  --footerText: rgba(154, 165, 181, 0.9);
  --footerLinkHover: #46e0e8;
  --footerBorderTop: 1px solid rgba(255, 255, 255, 0.08);

  /* ── Butoane (btn-fill original = fundal orange, text pe fundal închis) ── */
  --btnPrimaryBg: #ff7a2e;
  --btnPrimaryText: #0d1420;
  --btnPrimaryHoverBg: #ff8f52;
  --btnSecondaryBg: rgba(255, 255, 255, 0.06);
  --btnSecondaryHoverBg: rgba(255, 255, 255, 0.09);
  --btnSecondaryText: #f2f4f8;
  --btnOutlineBorder: #46e0e8;
  --btnOutlineText: #46e0e8;
  --btnOutlineHoverBg: rgba(70, 224, 232, 0.08);
  --btnSuccessBg: #1f6b4a;
  --btnSuccessHoverBg: #26805a;
  --btnInfoBg: rgba(255, 255, 255, 0.06);

  /* ── Popover / chat ── */
  --popoverBg: #101827;
  --popoverText: rgba(242, 244, 248, 0.9);
  --popoverBorder: rgba(255, 255, 255, 0.1);
  --chatBg: #101827;
  --chatBorderColor: rgba(255, 255, 255, 0.08);
  --chatFooterBg: #101827;
  --chatGptMsgBg: #131c2b;
  --chatGptMsgText: rgba(242, 244, 248, 0.9);
  --chatContactHoverBg: #131c2b;
  --chatContactBorder: rgba(255, 255, 255, 0.08);
  --chatContactNameColor: rgba(242, 244, 248, 0.9);

  /* ── Scrollbar / loader ── */
  --scrollbarTrack: #101827;
  --scrollbarThumb: #46e0e8;
  --loaderGradient1: #46e0e8;
  --loaderGradient2: #ff7a2e;
}

/* ── Override .PrincipalContent (specificitate mai mare decât regula
   generalCssFile.php :root[data-theme="dark"] .PrincipalContent, care
   altfel suprascrie paleta Duotone cu paleta gri IFindSpec în interiorul
   modulelor private). Redeclarăm EXACT aceiași tokeni ca acolo, cu
   valorile Duotone de mai sus. ── */
html[data-platform="storyfuze"][data-theme="dark"] .PrincipalContent {
  --pageBackgroundColor: #0d1420;
  --white: #101827;
  --textColor: #f2f4f8;
  --bordersColor: rgba(255, 255, 255, 0.08);
  --inputBackgroundColor: rgba(255, 255, 255, 0.06);
  --inputBorderColor: rgba(255, 255, 255, 0.12);
  --fadeText: #9aa5b5;
  --surfaceBg: #101827;
  --surfaceHoverBg: #131c2b;
  --surfaceBorder: rgba(255, 255, 255, 0.08);
  --hoverLinkColor: #46e0e8;
  --popoverBg: #101827;
  --popoverText: rgba(242, 244, 248, 0.9);
  --popoverBorder: rgba(255, 255, 255, 0.1);
  --btnSecondaryBg: rgba(255, 255, 255, 0.06);
  --btnSecondaryHoverBg: rgba(255, 255, 255, 0.09);
  --btnSecondaryText: #f2f4f8;
  --btnInfoBg: rgba(255, 255, 255, 0.06);
  --menuBck: #0d1420;
  --chatBg: #101827;
  --chatBorderColor: rgba(255, 255, 255, 0.08);
  --chatFooterBg: #101827;
  --chatGptMsgBg: #131c2b;
  --chatGptMsgText: rgba(242, 244, 248, 0.9);
  --chatContactHoverBg: #131c2b;
  --chatContactBorder: rgba(255, 255, 255, 0.08);
  --chatContactNameColor: rgba(242, 244, 248, 0.9);
  --scrollbarTrack: #101827;
  background-color: #0d1420 !important;
}

/* ── Tema LIGHT: aceiași tokeni cu valori light (fix QA 04.09.2026) ──
   Fără acest bloc, pagina privată storyfuze pe data-theme="light" ar
   moșteni valorile dark de mai sus → text alb pe fundal alb. */
html[data-platform="storyfuze"][data-theme="light"] {
  color-scheme: light;

  /* Brand / acțiuni — identice (accentul brandului nu depinde de temă) */
  --primaryColor: #46e0e8;
  --primaryColorRgb: 70, 224, 232;
  --secondaryColor: #ff7a2e;
  --accentColor: #ff7a2e;
  --accentColorRgb: 255, 122, 46;
  --accentSoft: rgba(255, 122, 46, 0.12);
  --accentGlow: rgba(255, 122, 46, 0.28);
  --hoverLinkColor: #0e8a91;

  /* Suprafață / text — LIGHT */
  --pageBackgroundColor: #f4f7fb;
  --textColor: #1f2937;
  --fadeText: #5b6b7c;
  --bordersColor: rgba(15, 30, 45, 0.12);
  --white: #ffffff;
  --colo: #000000;

  --surfaceBg: #ffffff;
  --surfaceHoverBg: #eef3f8;
  --surfaceBorder: rgba(15, 30, 45, 0.1);

  /* Formulare */
  --inputBackgroundColor: #ffffff;
  --inputBorderColor: rgba(15, 30, 45, 0.2);

  /* Navigație */
  --navBg: #ffffff;
  --navText: #4b5b6c;
  --navTextHover: #0d1420;
  --navBorder: rgba(15, 30, 45, 0.08);
  --navBrandFilter: none;
  --navTogglerFilter: none;
  --menuBck: #ffffff;

  /* Footer */
  --footerBg: #ffffff;
  --footerText: rgba(75, 91, 108, 0.9);
  --footerLinkHover: #0e8a91;
  --footerBorderTop: 1px solid rgba(15, 30, 45, 0.08);

  /* Butoane */
  --btnPrimaryBg: #ff7a2e;
  --btnPrimaryText: #ffffff;
  --btnPrimaryHoverBg: #ff8f52;
  --btnSecondaryBg: #eef3f8;
  --btnSecondaryHoverBg: #e2eaf1;
  --btnSecondaryText: #1f2937;
  --btnOutlineBorder: #0e8a91;
  --btnOutlineText: #0e8a91;
  --btnOutlineHoverBg: rgba(70, 224, 232, 0.15);
  --btnSuccessBg: #1f8a5f;
  --btnSuccessHoverBg: #1a7450;
  --btnInfoBg: #eef3f8;

  /* Popover / chat */
  --popoverBg: #ffffff;
  --popoverText: rgba(31, 41, 55, 0.9);
  --popoverBorder: rgba(15, 30, 45, 0.1);
  --chatBg: #ffffff;
  --chatBorderColor: rgba(15, 30, 45, 0.08);
  --chatFooterBg: #f4f7fb;
  --chatGptMsgBg: #eef3f8;
  --chatGptMsgText: rgba(31, 41, 55, 0.9);
  --chatContactHoverBg: #eef3f8;
  --chatContactBorder: rgba(15, 30, 45, 0.08);
  --chatContactNameColor: rgba(31, 41, 55, 0.9);

  /* Scrollbar / loader */
  --scrollbarTrack: #e2eaf1;
  --scrollbarThumb: #46e0e8;
  --loaderGradient1: #46e0e8;
  --loaderGradient2: #ff7a2e;
}

/* ── Tipografie de brand + tokeni Duotone (comune ambelor teme) ── */
html[data-platform="storyfuze"] {
  /* Tipografie de brand (Duotone Motion: Playfair Display + Inter) —
     Suprascrie direct tokenii de nivel 1 (--ifs-font-*) doar în
     scope-ul StoryFuze; fonturile sunt încărcate din storyfuze.css. */
  --ifs-font-heading: 'Playfair Display', Georgia, serif;
  --ifs-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Duotone Motion — tokeni specifici StoryFuze (namespace --sf-*,
     NU ating --ifs-* din _tokens) */
  --sf-duotone-gradient: linear-gradient(135deg, var(--primaryColor) 0%, var(--secondaryColor) 100%);
  --sf-duotone-gradient-soft: linear-gradient(180deg, rgba(13, 20, 32, 0) 0%, var(--pageBackgroundColor) 100%);
  --sf-motion-fast: 160ms;
  --sf-motion-base: 280ms;
  --sf-motion-slow: 560ms;
  --sf-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --sf-ease-in-out: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Respectă preferința de reducere a mișcării — dezactivează tranzițiile
   custom de brand fără a atinge alte platforme. */
@media (prefers-reduced-motion: reduce) {
  html[data-platform="storyfuze"] {
    --sf-motion-fast: 0ms;
    --sf-motion-base: 0ms;
    --sf-motion-slow: 0ms;
  }
}
