
:root{

  /* =====================================================================
   * 1. EXISTING TOKENS — consumed by snippets 7793, 7823, 8900, 8903,
   *    8904, 7884 (161 var() references). Names kept as-is: renaming
   *    would require editing all 161 call sites, including one in the
   *    site footer.
   * ===================================================================== */

  /* CHANGED — sheet specifies the primary ramp's darkest step */
  --solas-blue:         #0B2349;   /* was #346CAC */
  /* CHANGED — sheet specifies the page wash */
  --solas-bg:           #F4F8FF;   /* was #F4F8FD */
  /* CHANGED — sheet specifies 4px corner radius */
  --solas-radius:       4px;       /* was 20px */

  /* UNCHANGED — sheet is silent on these roles */
  --solas-navy:         #1E4574;   /* mixed: text, shadow, fill */
  --solas-bright:       #4A85C5;   /* no sheet equivalent */
  --solas-accent:       #A0C3DE;   /* on-dark text — NEVER remap, see §8.2 */
  --solas-ink:          #16243A;   /* body/heading text */
  --solas-muted:        #5A6B80;   /* blue-grey text; sheet's greys are not substitutes */
  --solas-line:         rgba(46, 91, 154, 0.16);
  --solas-shadow:       0 10px 30px rgba(30, 69, 116, 0.08);

  /* =====================================================================
   * 2. BRAND SHEET PALETTE — every value verbatim from the owner's sheet.
   *    Palette names describe the SWATCH, not the job. Do not reference
   *    these from snippets; reference the roles in section 3.
   * ===================================================================== */

  /* Primary ramp — one navy at five depths, used as button states */
  --solas-primary-900:  #0B2349;   /* button default fill / darkest */
  --solas-primary-700:  #1D3E72;   /* button hover */
  --solas-primary-500:  #385E9B;   /* button pressed */
  --solas-primary-100:  #D3E4FF;   /* outline-button pressed fill; tints */
  --solas-primary-050:  #F4F8FF;   /* page wash */

  /* Neutrals — UI furniture only. NOT body text. */
  --solas-grey-mid:     #ABABAB;   /* disabled text, placeholder */
  --solas-grey-light:   #EDEDED;   /* disabled fill, input border */
  --solas-grey-wash:    #F8F8F8;   /* panel background */

  /* Functional — borders and icons */
  --solas-success:      #16A34A;
  --solas-warning:      #EA580C;
  --solas-danger:       #FF1B1B;

  /* Functional message fills — notice components only */
  --solas-success-fill: #B5FFCF;
  --solas-success-tint: #E0FFEB;
  --solas-warning-fill: #FFBC97;
  --solas-warning-tint: #FFE0CF;
  --solas-danger-fill:  #FF8A8A;
  --solas-danger-tint:  #FFE0E0;

  /* Sheet-specified geometry */
  --solas-radius-brand: 4px;
  --solas-btn-pad-lg:   16px 24px;   /* O8 large: 24 across, 16 tall */
  --solas-btn-pad-sm:   12px 16px;   /* O8 small: 16 across, 12 tall */

  /* =====================================================================
   * 3. ROLE ALIASES  (v2.0.0 — added)
   *    THIS is the layer snippets reference. Each maps 1:1 to a rule in
   *    CONTEXT §6, so the classifier emits these names directly.
   *    To change a colour in future: edit ONE line in section 2, or
   *    re-point ONE alias here. Never touch the database again.
   * ===================================================================== */

  /* Buttons */
  --solas-btn-fill:       var(--solas-primary-900);  /* R1  — default fill      */
  --solas-btn-hover:      var(--solas-primary-700);  /* R2  — :hover            */
  --solas-btn-pressed:    var(--solas-primary-500);  /* R3  — pressed/active    */
  --solas-btn-default:    var(--solas-primary-900);  /* legacy alias of -fill   */
  --solas-btn-border:     var(--solas-primary-900);  /* O6  — outline borders   */

  /* Type */
  --solas-text:           var(--solas-primary-900);  /* R11 — navy headings/body */
  --solas-link:           var(--solas-primary-500);  /* O1  — links, titles, prices */

  /* Surfaces */
  --solas-wash:           var(--solas-primary-050);  /* R4, O5 — page & panel wash */
  --solas-tint:           var(--solas-primary-100);  /* sheet tints             */
  --solas-panel:          var(--solas-grey-wash);    /* sheet panel background  */
  --solas-surface-dark:   var(--solas-primary-900);  /* O2  — dark navy sections */

  /* Form furniture */
  --solas-input-border:   var(--solas-grey-light);   /* R5, R7 */
  --solas-disabled-text:  var(--solas-grey-mid);     /* R6     */
  --solas-disabled-fill:  var(--solas-grey-light);   /* R7     */

  /* Geometry role */
  --solas-radius-rect:    var(--solas-radius-brand); /* O7 — rectangles only.
                                                        Pills (100px/999px) and
                                                        circles (50%) keep shape. */

  /* =====================================================================
   * 4. ROLES THE SHEET IS SILENT ON — tokenised at their CURRENT values
   *    so they stop being hardcoded duplicates, WITHOUT changing pixels.
   *    Per §3 these values do not change; they just gain a single home.
   * ===================================================================== */

  --solas-hairline:       var(--solas-line);         /* O3 — leave value */
  --solas-focus-ring:     var(--solas-bright);       /* O4 — leave value */
  --solas-ondark-text:    var(--solas-accent);       /* §8.2 — lightness >=60%, never remap */
  --solas-elevation:      var(--solas-shadow);
  --solas-promo:          #B31942;                   /* sheet silent; stays until ruled on */
}
