/**
 * FrenchLink CURRENT visual foundations.
 *
 * Passive contract only: these variables mirror the legacy runtime and are not
 * consumed by component selectors yet. Keep values synchronized with
 * docs/design/frenchlink-tokens.json.
 */

:root {
  /* Typography: _head.tpl, style.css and _publisher.tpl */
  --fl-font-family-body: Poppins, Helvetica, "sans-serif";
  --fl-font-family-publisher: "Plus Jakarta Sans", sans-serif;
  --fl-font-family-rtl: Tajawal, sans-serif;
  --fl-font-size-action-small: 11px;
  --fl-font-size-caption: 12px;
  --fl-font-size-compact: 13px;
  --fl-font-size-body: 15px;
  --fl-font-size-header-search: 16px;
  --fl-font-weight-regular: 400;
  --fl-font-weight-medium: 500;
  --fl-font-weight-semibold: 600;
  --fl-font-weight-bold: 700;
  --fl-font-weight-extrabold: 800;

  /* Light runtime: style.css and _publisher.tpl */
  --fl-color-canvas: #f0f2f5;
  --fl-color-surface: #ffffff;
  --fl-color-text-primary: #111111;
  --fl-color-text-secondary: #555555;
  --fl-color-text-muted: #798ea4;
  --fl-color-link: #5e72e4;
  --fl-color-link-hover: #4d61cf;
  --fl-color-border: #e6ecf5;
  --fl-color-header-search: #f2f2f2;
  --fl-color-header-search-text: #222222;
  --fl-color-header-search-placeholder: #999999;
  --fl-color-publisher-control: #d9d9d9;
  --fl-color-publisher-control-text: #7a7a7a;

  /* Buttons and actions: style.css, directory.tpl and menuGeoExplorer.tpl */
  --fl-color-action-secondary: #f7fafc;
  --fl-color-action-secondary-hover: #f1f4f6;
  --fl-color-action-secondary-text: #212529;
  --fl-color-action-light: #f2f2f2;
  --fl-color-action-light-hover: #a5adb4;
  --fl-color-action-light-text: #363853;
  --fl-color-action-success-hover: #2bc080;
  --fl-color-action-danger-hover: #eb3357;
  --fl-color-directory-action: #00a2b7;
  --fl-color-directory-action-hover: #018da0;
  --fl-color-directory-action-soft: #f7fbfc;
  --fl-color-directory-action-soft-hover: #eef9fb;
  --fl-color-directory-action-text: #017f90;
  --fl-color-directory-action-neutral: #405466;
  --fl-color-geography-action-glass: rgba(255,255,255,0.14);
  --fl-color-geography-action-glass-hover: rgba(255,255,255,0.22);
  --fl-color-geography-action-border: rgba(255,255,255,0.42);

  /* Profile controls: profil/_headerprofil/entity.tpl and runtime forms */
  --fl-color-profile-action-return: #c8d7d9;
  --fl-color-profile-action-delete: #be2828;
  --fl-color-profile-control-overlay: rgba(0,0,0,0.6);
  --fl-color-profile-field-background: #ffffff;

  /* Shared form roles: Bootstrap 5.3.5 and style.css */
  --fl-color-form-border: #dee2e6;
  --fl-color-form-text: #212529;
  --fl-color-form-label: #525f7f;
  --fl-color-form-placeholder: rgba(33,37,41,0.75);
  --fl-color-form-disabled: #e9ecef;
  --fl-color-form-focus-border: #86b7fe;
  --fl-color-form-focus-ring: rgba(13,110,253,0.25);
  --fl-color-form-selected: #0d6efd;
  --fl-color-form-valid: #198754;
  --fl-color-form-invalid: #dc3545;

  /* Navigation and selection: Bootstrap, style.css and directory.tpl */
  --fl-color-navigation-active: #0d6efd;
  --fl-color-navigation-active-surface: #f6f9fc;
  --fl-color-navigation-divider: #f4f4f4;
  --fl-color-directory-chip-surface: #eef9fb;
  --fl-color-directory-chip-text: #146273;
  --fl-color-directory-breadcrumb-link: #01a2b7;
  --fl-color-directory-breadcrumb-current: #617385;

  /* Dark runtime: style.css */
  --fl-color-dark-canvas: #1e252b;
  --fl-color-dark-surface: #262d34;
  --fl-color-dark-text: #c1d4e3;
  --fl-color-dark-border: #2e3f4d;
  --fl-color-dark-hover: #2b3843;
  --fl-color-dark-input: #1e252b;
  --fl-color-dark-input-text: #eaeaea;
  --fl-color-dark-placeholder: #72879a;
  --fl-color-dark-mobile-surface: #1c1e21;
  --fl-color-dark-mobile-border: #2c2f33;

  /* Semantic runtime: style.css */
  --fl-color-feedback-success: #2dce89;
  --fl-color-feedback-info: #11cdef;
  --fl-color-feedback-warning: #fb6340;
  --fl-color-feedback-danger: #f5365c;
  --fl-color-feedback-danger-icon: #cb2027;
  --fl-color-focus: #5e72e4;
  --fl-color-alert-primary: #7889e8;
  --fl-color-alert-secondary: #f6f7f8;
  --fl-color-alert-success: #4fd69c;
  --fl-color-alert-info: #37d5f2;
  --fl-color-alert-warning: #fc7c5f;
  --fl-color-alert-danger: #f75676;
  --fl-color-empty-surface: #f7f7f7;
  --fl-color-status-info: #0dcaf0;
  --fl-color-status-warning: #ffc107;
  --fl-color-status-success: #198754;
  --fl-color-status-danger: #dc3545;
  --fl-color-status-counter-danger: #ff5e3a;
  --fl-color-status-counter-info: #38a9ff;
  --fl-color-status-counter-accent: #7c5ac2;
  --fl-color-tooltip-surface: rgba(0,0,0,0.9);
  --fl-color-overlay-backdrop: rgba(0,0,0,0.5);
  --fl-color-overlay-border: rgba(0,0,0,0.175);
  --fl-color-loader-strong: #545a6a;
  --fl-color-loader-soft: #d4d4db;

  /* Canonical profile identities: template_categorie_color */
  --fl-color-entity-enseignement-fonce: #aa4eb1;
  --fl-color-entity-enseignement-clair: #c07dc5;
  --fl-color-entity-presse-fonce: #f59b35;
  --fl-color-entity-presse-clair: #fdbb73;
  --fl-color-entity-entreprise-fonce: #1b118d;
  --fl-color-entity-entreprise-clair: #726ad3;
  --fl-color-entity-etat-fonce: #df4b4b;
  --fl-color-entity-etat-clair: #f27a7a;
  --fl-color-entity-professionliberale-fonce: #f16bc3;
  --fl-color-entity-professionliberale-clair: #faa7df;
  --fl-color-entity-association-fonce: #ffc107;
  --fl-color-entity-association-clair: #ffd600;
  --fl-color-entity-collectivite-fonce: #0fc990;
  --fl-color-entity-collectivite-clair: #47e7b2;
  --fl-color-entity-particulier-fonce: #63dbeb;
  --fl-color-entity-particulier-clair: #00a2b7;
  --fl-color-entity-particulierpro-fonce: #7acbff;
  --fl-color-entity-particulierpro-clair: #198fd8;

  /* Recurrent spacing values in style.css */
  --fl-space-2: 2px;
  --fl-space-4: 4px;
  --fl-space-6: 6px;
  --fl-space-8: 8px;
  --fl-space-10: 10px;
  --fl-space-12: 12px;
  --fl-space-14: 14px;
  --fl-space-16: 16px;
  --fl-space-20: 20px;
  --fl-space-24: 24px;
  --fl-space-action-sm-x: 26px;
  --fl-space-28: 28px;
  --fl-space-action-md-x: 29.6px;
  --fl-space-30: 30px;
  --fl-space-32: 32px;
  --fl-space-40: 40px;
  --fl-space-48: 48px;

  /* Recurrent radii in style.css and _publisher.tpl */
  --fl-radius-2: 2px;
  --fl-radius-3: 3px;
  --fl-radius-4: 4px;
  --fl-radius-6: 6px;
  --fl-radius-8: 8px;
  --fl-radius-10: 10px;
  --fl-radius-12: 12px;
  --fl-radius-13: 13px;
  --fl-radius-14: 14px;
  --fl-radius-16: 16px;
  --fl-radius-20: 20px;
  --fl-radius-30: 30px;
  --fl-radius-38: 38px;
  --fl-radius-full: 999px;

  /* Shell, publisher and shared data-row dimensions */
  --fl-size-header-height: 70px;
  --fl-size-mobile-navigation-height: 70px;
  --fl-size-top-bar-height: 50px;
  --fl-size-header-search-height: 44px;
  --fl-size-header-action: 44px;
  --fl-size-publisher-avatar: 56px;
  --fl-size-publisher-tool: 76px;
  --fl-size-publisher-button-height: 40px;
  --fl-size-publisher-submit-height: 32px;
  --fl-size-publisher-privacy-width: 201px;
  --fl-size-publisher-submit-width: 130px;
  --fl-size-directory-action-height: 44px;
  --fl-size-directory-result-action-height: 34px;
  --fl-size-directory-action-icon: 30px;
  --fl-size-geography-trigger-height: 34px;
  --fl-size-profile-action-height: 32px;
  --fl-size-profile-action-icon: 27px;
  --fl-size-profile-field-height: 38px;
  --fl-size-profile-avatar-control-desktop: 32px;
  --fl-size-profile-avatar-control-mobile: 24px;
  --fl-size-dropdown-min-width: 260px;
  --fl-size-dropdown-widget-min-width: 380px;
  --fl-size-user-popover-width: 400px;
  --fl-size-user-popover-min-height: 180px;
  --fl-size-loader-small: 10px;
  --fl-size-loader-default: 20px;
  --fl-size-loader-medium: 25px;
  --fl-size-loader-large: 40px;
  --fl-size-data-row-default: 56px;
  --fl-size-data-row-compact: 46px;
  --fl-size-data-row-avatar-default: 40px;
  --fl-size-data-row-avatar-compact: 30px;
  --fl-border-width-default: 1px;
  --fl-opacity-action-disabled: 0.65;

  /* Layering and motion */
  --fl-z-third-party-launcher: 998;
  --fl-z-mobile-navigation: 999;
  --fl-z-header: 1001;
  --fl-z-modal: 99999;
  --fl-duration-instant: 100ms;
  --fl-duration-fast: 150ms;
  --fl-duration-standard: 200ms;
  --fl-duration-medium: 300ms;
  --fl-duration-slow: 500ms;

  /* Legacy elevations */
  --fl-shadow-dropdown: rgb(0 0 0 / 10%) 0 10px 15px -3px, rgb(0 0 0 / 10%) 0 4px 6px -4px;
  --fl-shadow-button: 0 4px 6px rgb(50 50 93 / 11%), 0 1px 3px rgb(0 0 0 / 8%);
  --fl-shadow-header-dark: 0 1px 4px rgb(0 0 0 / 20%);
  --fl-shadow-popover: 0 1px 12px rgba(0,0,0,0.2);
}
