/* Bi·Homes · base de marca: tipografías autoalojadas + tokens.
   Para páginas independientes que no cargan fluxor.css. */

/* ── Tipografías autoalojadas (Fontshare) ── */
@font-face { font-family: 'Clash Display'; src: url('/static/fonts/ClashDisplay-300.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('/static/fonts/ClashDisplay-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('/static/fonts/ClashDisplay-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Clash Display'; src: url('/static/fonts/ClashDisplay-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('/static/fonts/GeneralSans-300.woff2') format('woff2'); font-weight: 300; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('/static/fonts/GeneralSans-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('/static/fonts/GeneralSans-500.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('/static/fonts/GeneralSans-600.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'General Sans'; src: url('/static/fonts/GeneralSans-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }


/* ── Tokens ──
   Nombres antiguos conservados (los usan las plantillas) + semánticos nuevos.
   Paleta Brandbook p.46 y rampas derivadas de interfaz. */
:root {
  /* Paleta de marca */
  --bi-night:      #071821;
  --bi-starlight:  #EFEEE6;
  --bi-graphite:   #31383B;
  --bi-control:    #446B82;
  --bi-horizon:    #ACCBE0;
  --bi-stone:      #B4AAA0;
  --bi-sand:       #D5C9B9;

  /* Superficies (contenido claro, plano: la profundidad la dan las líneas de 1 px) */
  --bg:        #EFEEE6;              /* página · Starlight */
  --bg-nav:    #071821;              /* navbar y rail · Bi·Night */
  --bg-card:   #FBFAF7;              /* panel · starlight-050 */
  --bg-card2:  #F5F4EF;              /* panel hundido · starlight-100 */
  --border:    #D4D1C5;              /* hairline · starlight-400 */
  --border-soft: #E3E1D7;            /* filas de tabla · starlight-300 */

  /* Texto */
  --text:      #071821;
  --text-dim:  #454D50;              /* graphite-500 */
  --text-faint:#828A8C;              /* graphite-300 */

  /* Acción y acento — el azul informa y orienta, no viste */
  --accent:        #3A5C71;          /* blue-600 · texto/iconos acento */
  --accent-dk:     #446B82;          /* Control Blue */
  --action-accent:       #446B82;
  --action-accent-hover: #3A5C71;
  --action-accent-active:#2E4C5D;
  --action-primary:      #071821;
  --action-primary-hover:#132F3E;
  --text-on-accent: #EFEEE6;
  --accent-soft:   #EAF1F7;

  /* Estados técnicos, apagados (nunca semáforo SaaS) */
  --ok:        #4C6B57;  --ok-soft:     #E2E9E1;
  --warn:      #8C7231;  --warn-soft:   #F0E9D8;
  --danger:    #8A4335;  --danger-soft: #F1E1DC;

  /* Rail oscuro */
  --rail-border: rgba(239,238,230,0.18);
  --rail-line:   rgba(239,238,230,0.08);
  --rail-text:   rgba(239,238,230,0.60);
  --rail-text-hi:#EFEEE6;

  /* Sistema cuadrado: radio 0; 2 px es la excepción rara */
  --radius:    0;
  --radius-sm: 0;

  --shadow-panel:   0 12px 32px rgba(7,24,33,0.14);
  --shadow-overlay: 0 24px 64px rgba(7,24,33,0.22);
  --focus-ring: 0 0 0 2px var(--bg), 0 0 0 4px var(--bi-control);

  --font-head: 'Clash Display', sans-serif;
  --font-body: 'General Sans', sans-serif;
}
