GravityView Theme: CSS Design Tokens
Every visual aspect of a GravityView 3.0 View is controlled by a --gv-* CSS custom property (design token). Override them to theme your Views without touching GravityView's stylesheet.
How theming works
- Tokens are scoped to
.gv-themed, which GravityView stamps on each opted-in View container, so only themed Views are restyled. - Defaults are declared at zero specificity (
:where(.gv-themed)inside@layer gravitykit-base), so any unlayered rule on the container or a descendant wins without a specificity war. - Browser floor:
@layerrequires Chromium 99+, Firefox 97+, Safari 15.4+.@propertytyping enhances progressively above that.
Override on the container, never on :root
Set tokens on the View container (or a descendant selector). Overrides on :root lose to the container-level defaults and silently do nothing.
/* Works: targets a descendant of the themed container. */
body .gv-container { --gv-color-primary: #7a1f1f; }
/* Works: one View by ID. */
.gv-container-123 { --gv-color-primary: #7a1f1f; }
/* Does NOT work: :root loses to the container-level default. */
:root { --gv-color-primary: #7a1f1f; }Target a View with placeholders
When you enter rules in GravityView's Custom CSS field (the Custom Code tab of the View editor's Settings box), GravityView swaps four placeholders for that View's own values as the page loads, so you can target a single View without hardcoding its container ID:
| Placeholder | Replaced with | Example output |
|---|---|---|
VIEW_SELECTOR | A high-specificity CSS selector targeting only this View | .gv-container.gv-container-123 |
VIEW_WRAPPER | A CSS selector targeting the View's outer wrapper, including widget areas | [id^="gv-view-123-"] |
VIEW_ID | The View's ID number | 123 |
GF_FORM_ID | The connected Gravity Forms form ID | 5 |
Prefer VIEW_SELECTOR for token overrides: its double-class selector (.gv-container.gv-container-123) outranks the layered defaults, so your values win without !important and without pinning the View ID by hand.
/* In GravityView's Custom CSS field. VIEW_SELECTOR resolves to this View. */
VIEW_SELECTOR { --gv-color-primary: #7a1f1f; }Placeholders resolve only inside a View's Custom CSS/JavaScript field, not in your theme's stylesheet. Developers can add or change them with the gk/gravityview/custom-code/placeholders filter. See Adding Custom CSS to Your Website for the full walkthrough.
Using the tokens as data
The same tokens are published as JSON, in the Design Tokens (DTCG) format, if you want to pull them into Style Dictionary, Terrazzo, Tokens Studio or Figma. See Design Tokens (JSON).
Token reference
| CSS variable | Default | Control | Description |
|---|---|---|---|
--gv-color-primarythemeable | #204ce5 | color | Submit buttons, active pagination, links, accent borders. |
--gv-color-primary-hoverthemeable | #1c44ce | color | Hover variant of Primary, derived via OKLCh L−10%. |
--gv-color-primary-subtle | #c3d9ff | color | Tint for soft hovers on light surfaces. Not a focus-ring color (1.43:1 vs white fails SC 1.4.11). |
--gv-color-on-primarythemeable | #ffffff | color | Text and icons that sit on top of the Primary color. |
--gv-color-textthemeable | #112337 | color | Default text color across the View. |
--gv-color-text-hover | #112337 | color | Text color when hovering an entry card. |
--gv-color-text-secondarythemeable | #54667a | color | Captions, sub-titles, search-widget labels, and supporting copy. |
--gv-color-text-mutedthemeable | #5b6470 | color | Small helper text: captions, descriptions. |
--gv-color-text-disabledthemeable | #a1a8b1 | color | Text on disabled controls. Derived from text-muted blended toward surface-disabled. |
--gv-color-on-disabledthemeable | #a1a8b1 | color | Foreground color used on surface-disabled. Mirrors text-disabled. |
--gv-color-placeholderthemeable | #5f6772 | color | Empty-state hint text inside search fields. |
--gv-color-linkthemeable | #204ce5 | color | Color of clickable links in entries and content. Decoupled from Primary so brand-recolor cannot silently drop link contrast below AA. |
--gv-color-link-hoverthemeable | #1c44ce | color | Color of links when the cursor hovers them. |
--gv-color-link-visitedthemeable | #7c3aed | color | Color of links the visitor has already clicked. |
--gv-color-link-activethemeable | #0c1f7a | color | Color of links during the click: the brief frame between mousedown and mouseup. |
--gv-field-label-colorthemeable | #5b6470 | color | The small header above each field value when "Show Label" is on. |
--gv-control-bgthemeable | #ffffff | color | Inside of search fields and dropdown selects. |
--gv-control-border-color | #6b7280 | color | Border color of inputs, selects, and other form controls. |
--gv-control-bg-disabledthemeable | #edeef0 | color | Background of disabled inputs and selects. |
--gv-control-border-color-disabledthemeable | #888888 | color | Border color of disabled inputs and selects. |
--gv-control-text-disabledthemeable | #a1a8b1 | color | Text color inside disabled inputs and selects. |
--gv-button-bg | #204ce5 | color | Background of primary buttons. Aliases Primary by default. |
--gv-button-color | #ffffff | color | Text color of primary buttons. |
--gv-button-bg-hover | #1c44ce | color | Background of primary buttons on hover. |
--gv-button-bg-disabledthemeable | #edeef0 | color | Background of primary buttons when disabled. |
--gv-button-color-disabledthemeable | #a1a8b1 | color | Text color of primary buttons when disabled. |
--gv-color-surfacethemeable | #ffffff | color | Default background for entry cards, list items, pagination, and panels. |
--gv-color-surface-hoverthemeable | #fafafa | color | Background when hovering an entry card or list item. |
--gv-color-surface-altthemeable | #f2f3f5 | color | Search-bar surface and edit-entry section panels. |
--gv-color-surface-errorthemeable | #fbe2dc | color | Background of error notices and invalid Edit Entry fields. |
--gv-color-surface-successthemeable | #dcf2df | color | Background of success notices. |
--gv-color-surface-warningthemeable | #fef0d6 | color | Background of warning notices. |
--gv-color-surface-infothemeable | #cffafe | color | Background of informational notices. |
--gv-color-surface-disabledthemeable | #edeef0 | color | Background of disabled controls. |
--gv-color-header-bgthemeable | #f2f3f5 | color | Background of the table header row. |
--gv-color-header-bg-hover | #f2f3f5 | color | Background when hovering the table header row. |
--gv-color-header-textthemeable | #5b6470 | color | Color of the column header text in tables. |
--gv-color-header-text-hover | #5b6470 | color | Text color when hovering the table header. |
--gv-color-zebra-bgthemeable | #ffffff | color | Background of every other row in a table for zebra striping. |
--gv-color-borderthemeable | #888888 | color | Form input borders and table footer rule. |
--gv-color-border-strongthemeable | #6b7280 | color | Default outline color for form controls (4.74:1 vs surface; clears SC 1.4.11). |
--gv-color-border-light | #e5e7eb | color | Decorative dividers and hairline separators only. Never the sole outline of an interactive control. |
--gv-color-row-dividerthemeable | #e5e7eb | color | Border between repeating rows in a table or list. |
--gv-color-entry-border | #e5e7eb | color | Alias that wires `--gv-entry-border-color` to Border Light. |
--gv-color-errorthemeable | #c02b0a | color | Invalid Edit Entry input borders, validation messages, and required-field markers. |
--gv-color-error-hoverthemeable | #922008 | color | OKLCh-derived hover variant of Error. |
--gv-color-on-errorthemeable | #ffffff | color | Foreground (text/icon) used on solid error surfaces. |
--gv-color-successthemeable | #23692f | color | Success notices and confirmation indicators. |
--gv-color-success-hoverthemeable | #1a4f23 | color | OKLCh-derived hover variant of Success. |
--gv-color-on-successthemeable | #ffffff | color | Foreground used on solid success surfaces. |
--gv-color-warning | #febc48 | color | Decorative-only warning hue. Never emitted as bare text; only as backgrounds or inside .gv-status mixin. |
--gv-color-warning-icon | #b07000 | color | Icon-stroke color for .gv-status--warning. Decorative; paired with text per SC 1.4.1. Must keep ≥ 3:1 vs surface-warning. |
--gv-color-infothemeable | #0e7490 | color | Informational notices. Teal/cyan, distinct from Primary blue. |
--gv-color-info-hoverthemeable | #0a5e74 | color | OKLCh-derived hover variant of Info. |
--gv-color-on-infothemeable | #ffffff | color | Foreground used on solid info surfaces. |
--gv-focus-ring-colorthemeable | #2563eb | color | Color of the focus-visible indicator. 5.17:1 vs surface; clears SC 1.4.11 non-text. |
--gv-entry-bg | #ffffff | color | Background color of entry cards. |
--gv-color-row-hover-bg | var(--gv-color-surface-hover) | text | |
--gv-color-row-hover-text | var(--gv-color-text-hover) | text | |
--gv-entry-bg-hover | var(--gv-entry-bg) | text | |
--gv-table-cell-border-color | var(--gv-color-border-light) | text | |
--gv-button-border-color | var(--gv-button-bg) | text | |
--gv-button-border-color-hover | var(--gv-button-bg-hover) | text | |
--gv-button-secondary-bg | transparent | text | |
--gv-button-secondary-color | var(--gv-color-text) | text | |
--gv-button-secondary-border-color | var(--gv-color-border) | text | |
--gv-button-secondary-bg-hover | var(--gv-color-surface-alt) | text | |
--gv-button-secondary-color-hover | var(--gv-color-text) | text | |
--gv-button-secondary-border-color-hover | var(--gv-color-text) | text | |
--gv-button-danger-bg | transparent | text | |
--gv-button-danger-color | var(--gv-color-error) | text | |
--gv-button-danger-border-color | var(--gv-color-error) | text | |
--gv-button-danger-bg-hover | var(--gv-color-surface-error) | text | |
--gv-button-danger-color-hover | var(--gv-color-error-hover) | text | |
--gv-button-danger-border-color-hover | var(--gv-color-error-hover) | text | |
--gv-pagination-button-bg | var(--gv-color-surface) | text | |
--gv-pagination-button-color | var(--gv-color-text) | text | |
--gv-pagination-button-bg-hover | color-mix(in oklch, var(--gv-color-surface) 90%, #000) | text | |
--gv-pagination-button-color-hover | var(--gv-color-text) | text | |
--gv-pagination-button-bg-active | var(--gv-color-primary) | text | |
--gv-pagination-button-color-active | var(--gv-color-on-primary) | text | |
--gv-font-familythemeable | inherit | select options: inherit | system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif | Georgia, "Times New Roman", serif | "SF Mono", Monaco, Consolas, "Liberation Mono", monospace | Typeface used across the View. "Inherit" follows the page theme. |
--gv-font-size-basethemeable | 1rem | number units: px, rem, em, min 1, step 1 | Body-text size. Other sizes (small, large) scale proportionally. |
--gv-font-size-xs | calc(var(--gv-font-size-base) * 0.75) | number | Scale step 0.75×: small captions and chips. |
--gv-font-size-sm | calc(var(--gv-font-size-base) * 0.875) | number | Scale step 0.875×: secondary text. |
--gv-font-size-md | calc(var(--gv-font-size-base) * 1.125) | number | Scale step 1.125×: small headings. |
--gv-font-size-lg | calc(var(--gv-font-size-base) * 1.25) | number | Scale step 1.25×: medium headings. |
--gv-font-size-xl | calc(var(--gv-font-size-base) * 1.5) | number | Scale step 1.5×: large headings. |
--gv-font-size-2xl | calc(var(--gv-font-size-base) * 1.875) | number | Scale step 1.875×: hero headings. |
--gv-font-weight-lightthemeable | 300 | number min 100, max 900, step 100 | Optional emphasis-down weight (300). |
--gv-font-weight-normalthemeable | 400 | number min 100, max 900, step 100 | Body text weight (400). |
--gv-font-weight-medium | 500 | number min 100, max 900, step 100 | Medium-emphasis weight (500). |
--gv-font-weight-semibold | 600 | number min 100, max 900, step 100 | Field labels and other strong-emphasis weight (600). |
--gv-font-weight-boldthemeable | 700 | number min 100, max 900, step 100 | Headings and strong emphasis (700). |
--gv-line-height-tight | 1.25 | number | Tight line-height: 1.25. |
--gv-line-height-normalthemeable | 1.5 | select options: 1.25 | 1.5 | 1.75 | Vertical rhythm of body text. Higher values are airier. |
--gv-line-height-relaxed | 1.75 | number | Relaxed line-height: 1.75. |
--gv-line-height-cjk | 1.85 | number | Line height for stacked-diacritic scripts (Thai, Burmese, Devanagari, etc.). |
--gv-field-label-font-sizethemeable | calc(var(--gv-font-size-base) * 0.75) | number units: px, rem, em, min 1, step 1 | Size of the small header above each field value when "Show Label" is on. |
--gv-field-label-font-weight | 600 | number | Font weight used for field labels. |
--gv-field-label-text-transformthemeable | none | select options: none | uppercase | capitalize | lowercase | Casing applied to field labels. Default `none` is SC 1.4.12 text-spacing safe. |
--gv-field-label-letter-spacingthemeable | 0.05em | text | Letter-spacing applied to field labels (only relevant when transform is uppercase). |
--gv-field-label-direction | column | text | |
--gv-button-font-size | var(--gv-font-size-sm) | text | |
--gv-button-font-weight | var(--gv-font-weight-medium) | text | |
--gv-space-1 | 4px | number | 4px base spacing increment. |
--gv-space-2 | 8px | number | 8px base spacing increment. |
--gv-space-3 | 12px | number | 12px base spacing increment. |
--gv-space-4 | 16px | number | 16px base spacing increment. |
--gv-space-5 | 20px | number | 20px base spacing increment. |
--gv-space-6 | 24px | number | 24px base spacing increment. |
--gv-space-8 | 32px | number | 32px base spacing increment. |
--gv-space-10 | 40px | number | 40px base spacing increment. |
--gv-space-12 | 48px | number | 48px base spacing increment. |
--gv-space-16 | 64px | number | 64px base spacing increment. |
--gv-entry-padding-topthemeable | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-rightthemeable | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-bottomthemeable | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-leftthemeable | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-block-start | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-block-end | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-inline-start | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-entry-padding-inline-end | 24px | number units: px, rem, em, %, min 0, step 2 | Inner padding of entry cards on one side. |
--gv-widget-padding-blockthemeable | 20px | number units: px, rem, em, %, min 0, step 2 | Padding inside the search bar and widget areas. |
--gv-widget-padding-inlinethemeable | 16px | number units: px, rem, em, %, min 0, step 2 | Padding inside the search bar and widget areas. |
--gv-widget-margin-block-end | 32px | number | Bottom spacing between widget areas. |
--gv-search-field-min-width | clamp(140px, 50vw, 200px) | text | Minimum inline-size of each search field. Clamps on narrow viewports. |
--gv-search-row-gap | 16px | number | Vertical gap between rows of search fields. |
--gv-search-col-gap | 16px | number | Horizontal gap between side-by-side search fields. |
--gv-toolbar-gap | 8px | number | Gap between toolbar children. |
--gv-toolbar-padding | 16px | number | Inner padding of toolbar containers. |
--gv-toolbar-margin-block-end | 16px | number | Bottom spacing of toolbar containers. |
--gv-pagination-gap | 4px | number | Gap between pagination buttons. |
--gv-pagination-button-size | 36px | number | Pagination button width / height. 36px meets SC 2.5.8 AA (24px floor) but not SC 2.5.5 AAA (44px). |
--gv-checkbox-size | 16px | number | Width and height of checkboxes / radios. |
--gv-map-marker-size | 18px | number | Width and height of map cluster markers and SVG indicators. |
--gv-entry-field-gap | var(--gv-space-3) | text | |
--gv-field-label-margin-block-end | var(--gv-space-1) | text | |
--gv-button-padding-block | var(--gv-space-2) | text | |
--gv-button-padding-inline | var(--gv-space-5) | text | |
--gv-button-min-height | 0 | text | |
--gv-radius-xsthemeable | 2px | number units: px, rem, em, min 0, step 1 | 2px corner-radius step. |
--gv-radius-sm | 4px | number units: px, rem, em, min 0, step 1 | 4px corner-radius step. |
--gv-radius-md | 6px | number units: px, rem, em, min 0, step 1 | 6px corner-radius step. |
--gv-radius-lg | 8px | number units: px, rem, em, min 0, step 1 | 8px corner-radius step. |
--gv-radius-xlthemeable | 12px | number units: px, rem, em, min 0, step 1 | 12px corner-radius step. |
--gv-radius-full | 9999px | number units: px, rem, em, min 0, step 1 | 9999px corner-radius step. |
--gv-border-width-0 | 0 | number | 0 border-width step. |
--gv-border-width-1 | 1px | number | 1px border-width step. |
--gv-border-width-2 | 2px | number | 2px border-width step. |
--gv-border-width-3 | 3px | number | 3px border-width step. |
--gv-border-width-4 | 4px | number | 4px border-width step. |
--gv-border-width-8 | 8px | number | 8px border-width step. |
--gv-widget-border-radius | 8px | number | Corner radius of widget containers. |
--gv-pagination-button-radius | 6px | number | Corner radius of pagination buttons. |
--gv-control-border-widththemeable | 1px | number units: px, min 0, step 1 | Border width of form controls. |
--gv-control-radiusthemeable | 6px | number units: px, rem, em, %, min 0, step 1 | Corner roundness of search inputs, the search button, pagination buttons, and edit-entry inputs. |
--gv-focus-ring-widththemeable | 2px | number units: px, min 1, step 1 | Width of the focus-visible ring. |
--gv-focus-ring-offsetthemeable | 2px | number units: px, min 0, step 1 | Distance from element edge to ring inner edge. |
--gv-focus-ring-stylethemeable | solid | select options: solid | dashed | dotted | Outline style of the focus-visible ring. |
--gv-entry-radiusthemeable | 8px | number units: px, rem, em, %, min 0, step 1 | How rounded the corners of entry cards are. |
--gv-entry-border-widththemeable | 1px | number | Card border component. |
--gv-entry-border-width-hoverthemeable | 1px | number | Hover variant of card border component. |
--gv-entry-border-stylethemeable | solid | select options: solid | dashed | dotted | double | none | Card border component. |
--gv-entry-border-style-hoverthemeable | solid | select options: solid | dashed | dotted | double | none | Hover variant of card border component. |
--gv-entry-border-colorthemeable | #e5e7eb | color | Card border component. |
--gv-entry-border-color-hoverthemeable | #e5e7eb | color | Hover variant of card border component. |
--gv-table-cell-border-width | var(--gv-border-width-0) | text | |
--gv-table-cell-border-style | solid | text | |
--gv-button-border-width | var(--gv-border-width-1) | text | |
--gv-button-secondary-border-width | var(--gv-border-width-1) | text | |
--gv-button-danger-border-width | var(--gv-border-width-1) | text | |
--gv-button-radius | var(--gv-radius-md) | text | |
--gv-shadow-xs | 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | text | Composed shadow value derived from shadow color + alpha. |
--gv-shadow-sm | 0 1px 4px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 78%), transparent) | text | Composed shadow value derived from shadow color + alpha. |
--gv-shadow-md | 0 1px 3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | text | Composed shadow value derived from shadow color + alpha. |
--gv-shadow-lg | 0 4px 6px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 2px 4px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | text | Composed shadow value derived from shadow color + alpha. |
--gv-shadow-xl | 0 10px 15px -3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 4px 6px -2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | text | Composed shadow value derived from shadow color + alpha. |
--gv-shadow-colorthemeable | #121961 | color | Color every shadow level is tinted with. Set it to a brand color for a non-blue palette. |
--gv-shadow-alphathemeable | 0.1 | number min 0, max 1, step 0.05 | Base alpha multiplier shared by every shadow level. |
--gv-shadow-focus | 0 0 0 var(--gv-focus-ring-width) var(--gv-focus-ring-color) | text | Composed box-shadow value derived from focus-ring width + color. |
--gv-entry-shadowthemeable | 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | select options: none | 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | 0 1px 3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | 0 4px 6px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 2px 4px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | 0 10px 15px -3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 4px 6px -2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | Drop-shadow depth applied to entry cards at rest. |
--gv-entry-shadow-hoverthemeable | 0 4px 6px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 2px 4px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | select options: none | 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | 0 1px 3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | 0 4px 6px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 2px 4px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | 0 10px 15px -3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 4px 6px -2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | Drop-shadow depth applied to entry cards on hover. |
--gv-opacity-0 | 0 | number | Opacity step 0. |
--gv-opacity-10 | 0.1 | number | Opacity step 0.1. |
--gv-opacity-20 | 0.2 | number | Opacity step 0.2. |
--gv-opacity-30 | 0.3 | number | Opacity step 0.3. |
--gv-opacity-40 | 0.4 | number | Opacity step 0.4. |
--gv-opacity-50 | 0.5 | number | Opacity step 0.5. |
--gv-opacity-60 | 0.6 | number | Opacity step 0.6. |
--gv-opacity-70 | 0.7 | number | Opacity step 0.7. |
--gv-opacity-80 | 0.8 | number | Opacity step 0.8. |
--gv-opacity-90 | 0.9 | number | Opacity step 0.9. |
--gv-opacity-100 | 1 | number | Opacity step 1. |
--gv-z-base | 0 | number min 0, step 1 | Z-index scale step. |
--gv-z-raised | 10 | number min 0, step 1 | Z-index scale step. |
--gv-z-dropdownthemeable | 100 | number min 0, step 1 | Z-index scale step. |
--gv-z-popoverthemeable | 200 | number min 0, step 1 | Z-index scale step. |
--gv-z-sticky | 300 | number min 0, step 1 | Z-index scale step. |
--gv-z-overlay | 400 | number min 0, step 1 | Z-index scale step. |
--gv-z-modalthemeable | 100000 | number min 0, step 1 | Z-index scale step. |
--gv-z-toastthemeable | 600 | number min 0, step 1 | Z-index scale step. |
--gv-grid-columns | 1 | number min 1, max 6, step 1 | Number of columns in card-grid layouts (1–6). |
--gv-grid-columns-lg | (unset) | number | Responsive cap for grid columns at the large breakpoint. |
--gv-grid-columns-md | (unset) | number | Responsive cap for grid columns at the medium breakpoint. |
--gv-grid-gap | 24px | number | Gap between cards in the grid. |
--gv-grid-align | stretch | select options: stretch | start | Card alignment within the grid track. |
--gv-card-min-width | 0px | number | Minimum card width before reflow. |
--gv-single-entry-label-inline-size | 30% | text | Logical inline-size of the label column in single-entry view. RTL-correct. |
--gv-single-entry-label-width | 30% | text | Legacy physical-side alias for single-entry label width. |
--gv-list-media-inline-size | 33.33% | text | Logical inline-size of the media column in list layouts. |
--gv-list-media-width | 33.33% | text | Legacy physical-side alias for list media width. |
--gv-map-infowindow-max-width | min(320px, calc(100vw - 2 * var(--gv-space-4))) | text | Maximum width of map infowindows. |
--gv-map-infowindow-image-max-width | 100px | number | Maximum width of images inside map infowindows. |
--gv-size-touch-target | 44px | number | Minimum inline/block size for interactive elements (SC 2.5.5 AAA). |
--gv-drag-handle-size | 44px | number | Minimum size of drag handles. Pairs with click-to-pick alternative per SC 2.5.7. |
--gv-drag-handle-color | #5b6470 | color | Color of drag-handle iconography. |
--gv-scrollbar-thumb-color | #888888 | color | Color of scrollbar thumbs (browsers that support `scrollbar-color`). |
--gv-scrollbar-track-color | #f2f3f5 | color | Color of scrollbar tracks. |
--gv-auto-advance-paused | 0 | number | SC 2.2.2 pause flag: set to 1 to halt auto-rotating widgets. |
--gv-table-header-background | #f2f3f5 | color | Background of table header rows. |
--gv-table-header-font-size | calc(var(--gv-font-size-base) * 0.75) | text | Font size of table header text. |
--gv-table-cell-padding-blockthemeable | 12px | number units: px, rem, em, min 0, step 0.1 | Vertical padding inside table cells. |
--gv-table-cell-padding-inlinethemeable | 16px | number units: px, rem, em, min 0, step 0.1 | Horizontal padding inside table cells. |
--gv-widget-border-color | #e5e7eb | color | Border color of widget containers. |
--gv-pagination-button-border-color | #6b7280 | color | Border color of pagination buttons. Defaults to border-strong (4.74:1 vs surface). |
--gv-self-containedthemeable | 0 | toggle | Paint a backdrop around the entire View so contrast is guaranteed regardless of host theme. Trade-off: View looks like a discrete container rather than integrating with the host page. |
--gv-view-wrapper-radius | 0 | number units: px, rem, min 0, step 1 | Border radius applied to the outer View wrapper when Self-Contained Mode is enabled. Presets may override. |
--gv-view-wrapper-shadow | none | select options: none | 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | 0 1px 3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 1px 2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | 0 4px 6px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 2px 4px -1px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 60%), transparent) | 0 10px 15px -3px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 100%), transparent), 0 4px 6px -2px color-mix(in srgb, var(--gv-shadow-color) calc(var(--gv-shadow-alpha) * 50%), transparent) | Drop-shadow applied to the outer View wrapper when Self-Contained Mode is enabled. Presets may override. |
--gv-motion-multiplierthemeable | 1 | number min 0, max 2, step 0.1 | Global scalar applied to every transition duration. Set to 0.01 under prefers-reduced-motion. |
--gv-transition-fastthemeable | calc(0.15s * var(--gv-motion-multiplier)) | text | Hover / focus transitions. |
--gv-transition-mediumthemeable | calc(0.25s * var(--gv-motion-multiplier)) | text | Panel open / close transitions. |
--gv-transition-slowthemeable | calc(0.4s * var(--gv-motion-multiplier)) | text | Hero / page-scale transitions. |
--gv-easing-standardthemeable | cubic-bezier(0.2, 0.0, 0.0, 1.0) | text | Default easing curve. |
--gv-easing-deceleratethemeable | cubic-bezier(0.0, 0.0, 0.2, 1.0) | text | Enter / appear easing. |
--gv-easing-acceleratethemeable | cubic-bezier(0.3, 0.0, 1.0, 1.0) | text | Exit / dismiss easing. |
--gv-easing-emphasizedthemeable | cubic-bezier(0.3, 0.0, 0.8, 0.15) | text | Hero transition easing. |
--gv-easing-linearthemeable | linear | text | Linear easing. |