/* Dunsters Farm theme */
:root {
  /* Brand primary — the Dunsters Farm lockup blue (#194A9A), read off the
     vector artwork their own site serves. Feeds primary buttons/links/rings
     and the derived page-builder --palette-* tokens. */
  --primary: #194a9a;
  --primary-foreground: oklch(0.985 0 0);
  --ring: #194a9a;
  --brand-accent: #194a9a;

  /* Search pill — fully rounded, no resting outline (Mike, 2026-09-08). The
     fill stays the platform grey (`--search-field` unset), which is what
     carries the shape once the border is gone; dropping BOTH would leave an
     invisible field on the white header. 9999px rather than Tailwind's
     `calc(infinity * 1px)`: the browser clamps radius to half the box either
     way, and a plain length needs no support caveat.

     The border only goes at REST. InputGroup sets its focus border through a
     `has-[…:focus-visible]:border-ring` variant, which outranks this on
     specificity, so the field still announces focus. */
  /* White utility strip instead of the default --muted grey. No seam rule
     here (unlike the KitWave tenants), so the strip and the header band below
     it are now one continuous white — the two are distinguished by their
     contents alone. */
  --top-bar: var(--background);

  /* The platform grey at FULL strength, not the default's 50% over white
     (~L 0.985), which is too faint to read as a field once the outline is
     gone. --muted is the same 0.97 the header chips (`bg-muted`,
     header-chips.ts) and the sidebar nav items (--sidebar-accent) already
     use, so the pill sits on the grey the rest of the chrome is built from
     rather than a value of its own. The token, not its value: it tracks
     light/dark, and it stays correct if the neutral ramp ever moves. */
  --search-field: var(--muted);
  /* Taller than the 2.5rem/40px default. 3rem/48px matches this tenant's
     --store-logo-height exactly, so the pill and the lockup read as one row
     rather than the search sitting low beside a taller mark, and it leaves
     12px either side in the 72px header. */
  --search-field-height-desktop: 3rem;
  --search-field-radius: 9999px;
  /* Insets the controls off the cap curve. The geometric answer is +12px —
     the pill is 48px tall, so its radius is 24px and the flat edge starts
     24px in, while the leading addon's `pl-3` sits the magnifier at 12px.
     8px by eye instead (Mike, 2026-09-08): the magnifier is a round glyph, not
     a square, so aligning its bounding box to the intersection pushed it
     visually past it. Optical, not geometric. */
  --search-field-inset-x: 0.5rem;
  --search-field-border: transparent;

  /* Was on the 1.25rem/20px platform default, which is wrong for this mark
     for a reason the aspect ratio alone doesn't show. Dunsters is not a
     single-line wordmark like Barry Group or Turner Price — it is a STACKED
     arched badge, "DUNSTERS" curved over "FARMS", so the token height is
     split across two lines of type plus the arch. At 20px that left each
     line around 8px and "FARMS" barely resolved.

     2rem/32px is where both lines first read cleanly; 3rem/48px is the
     chosen size, which also puts Dunsters level with the other tall marks
     (tolchards, total, westcountry) rather than exceeding any of them. The
     artwork fills 95.3% of its 227.58x111.06 viewBox (measured with
     sharp().trim(), not eyeballed), so unlike Creed there is no padding to
     compensate for — the token maps almost directly onto glyphs, and 48px
     of box is close to 48px of mark.

     That is 67% of the 72px (h-18) header row, leaving 12px of clearance
     above and below. TREAT THIS AS THE CEILING for the token on its own:
     past here the badge stops sitting inside the row and starts setting its
     height, so anything taller is a change to the header row, not to this
     value. */
  --store-logo-height: 3rem;
}

.dark {
  /* Storefront currently forces light mode; kept for parity with the other
     tenant themes. Same blue hue/chroma, lightened so it reads on dark. */
  --primary: oklch(from #194a9a 0.72 c h);
  --primary-foreground: oklch(0.2 0 0);
  --ring: oklch(from #194a9a 0.72 c h);
  --brand-accent: oklch(from #194a9a 0.72 c h);
}
