/**
 * OPM Core — Design Tokens (base theme).
 *
 * The single source of truth for the front-end look. Theme Add-ons / clients
 * override ONLY these variables (globally on :root, or scoped to
 * [data-opm-brand="..."]) — never the component classes. Values extracted from
 * the v3 Figma (file N84frVkneKMe02NmR7jIDD).
 */

:root {
  /* Brand */
  --opm-color-default: #bababa;
  --opm-color-accent: var(--opm-color-default); /* category/investment colour when set; default fallback otherwise */
  --opm-color-on-accent: #ffffff;

  /* Feature palette (legend chips + row detail squares) */
  --opm-feat-1: rgba(186, 186, 186, 1);    /* parter/piętro */
  --opm-feat-2: rgba(186, 186, 186, 0.8);  /* segment */
  --opm-feat-3: rgba(186, 186, 186, 0.6);  /* ilość pokoi */
  --opm-feat-4: rgba(186, 186, 186, 0.4);  /* klimatyzacja */
  --opm-feat-5: rgba(186, 186, 186, 0.2);  /* ogród */
  --opm-feat-6: rgba(186, 186, 186, 1);    /* ogrzewanie podłogowe */
  --opm-feat-7: rgba(186, 186, 186, 0.8);  /* schowek */
  --opm-feat-8: rgba(186, 186, 186, 0.6);  /* balkon */
  --opm-feat-9: #000000;                   /* miejsce postojowe */

  /* Surfaces */
  --opm-color-bg: #ffffff;
  --opm-color-bg-muted: #f8f9fa;
  --opm-color-border: #000000;            /* table rules are solid black in design */
  --opm-color-border-soft: #e0e0e0;
  --opm-color-bg-overlay: rgba(0, 0, 0, 0.75);

  /* Status */
  --opm-status-available: #36b37e;
  --opm-status-reserved: #ecac21;
  --opm-status-contracted: #ff0000;
  --opm-status-sold: #6b7280;

  /* Text */
  --opm-color-ink: #000000;
  --opm-color-ink-muted: #6b7280;

  /* Typography */
  --opm-font-sans: "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --opm-font-num: "Poppins", var(--opm-font-sans);
  --opm-fw-regular: 400;
  --opm-fw-medium: 500;
  --opm-fw-bold: 700;
  --opm-fw-black: 900;
  --opm-fs-2xs: 10px;   /* column headers */
  --opm-fs-xs: 12px;    /* cells, legend */
  --opm-fs-sm: 14px;    /* price */
  --opm-fs-md: 16px;    /* unit code */
  --opm-fs-lg: 20px;
  --opm-fs-xl: 24px;

  /* Spacing (4px grid) */
  --opm-space-1: 4px;
  --opm-space-2: 8px;
  --opm-space-3: 12px;
  --opm-space-4: 16px;
  --opm-space-5: 20px;
  --opm-space-6: 24px;
  --opm-space-8: 32px;

  /* Radius */
  --opm-radius-sm: 4px;
  --opm-radius-md: 7px;
  --opm-radius-lg: 12px;
  --opm-radius-full: 9999px;

  /* Sizing */
  --opm-legend-chip: 43px;
  --opm-feat-square: 25px;
  --opm-status-dot: 15px;

  /* Shadows */
  --opm-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --opm-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --opm-shadow-lg: 0 12px 32px rgba(0, 0, 0, 0.12);

  /* Motion */
  --opm-duration: 200ms;
  --opm-ease: cubic-bezier(0.4, 0, 0.2, 1);

  /* Layout */
  --opm-content-max: 1280px;
}
