Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b7f8d21
Set illustration card icon's size to 24px
lucianoratamero May 14, 2026
fc73f0f
Use proper icon on illustration card pattern lib sample
lucianoratamero May 14, 2026
e6c1e9b
Reset visual regression tests' threshold to the default one
lucianoratamero May 14, 2026
99c34c9
Merge branch 'main' into WT-1174-landing-page-follow-up
lucianoratamero May 18, 2026
a6f1d10
Migrate light/dark mode variables to their own files and import them
lucianoratamero May 18, 2026
085643b
Move other variable files to the variables folder
lucianoratamero May 18, 2026
26f6caf
Merge branch 'refactor-theme-css' into WT-1174-landing-page-follow-up
lucianoratamero May 18, 2026
40f1523
Add setting to remove border radius from media content, banner, and i…
lucianoratamero May 18, 2026
1edf4fd
banner revisions for last-on-page stickiness.
kkellydesign May 19, 2026
0f9cf36
remove card heading margin-bottom
kkellydesign May 19, 2026
3268edf
regression tests updated to account for line height fix on tags, head…
kkellydesign May 19, 2026
becbd5b
new icons added
kkellydesign May 19, 2026
689ec3b
Add button row help text field
lucianoratamero May 20, 2026
aa94c2e
Merge branch 'main' into WT-1174-landing-page-follow-up
lucianoratamero May 20, 2026
9401292
Add new card 2026 block, with support for outlined and filled variants
lucianoratamero May 20, 2026
5405bcd
Remove illustration card block and component, in favor of card-2026
lucianoratamero May 20, 2026
6c596de
Apply new card component to places that used outlined and illustratio…
lucianoratamero May 20, 2026
5a35e33
Add/fix pattern library samples and visual regression tests
lucianoratamero May 20, 2026
517bb31
Update snapshots for the filled card
lucianoratamero May 21, 2026
b2971d6
Pass card variant to component in Icon Card block template
maribedran May 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion media/css/cms/components/flare26-banner.css
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,14 @@
}

.fl-banner.fl-banner-dark-purple-gradient.fl-banner-kit {
background-image: var(--kit-img), var(--token-noise-gradient);
background-color: var(--token-color-dark-purple);
background-image: var(--token-noise-gradient);
}

/* When a kit banner is the last item on the page, affix it to the bottom */
.fl-split-page-lower > .fl-banner-container:last-child {
max-inline-size: none;
padding: 0 var(--token-spacing-lg);
}

/* This one isn't used on kit banners, and will need some adjustments if those need to be combined. */
Expand Down
11 changes: 11 additions & 0 deletions media/css/cms/components/flare26-button.css
Original file line number Diff line number Diff line change
Expand Up @@ -353,3 +353,14 @@ Copy-to-Clipboard Button
inline-size: auto;
}
}

/* =====================================================================
Button row
===================================================================== */

.fl-button-row-help-text {
margin-block: var(--token-spacing-md);
margin-inline: auto;
max-inline-size: var(--token-width-desktop-content);
text-align: center;
}
89 changes: 51 additions & 38 deletions media/css/cms/components/flare26-card.css
Original file line number Diff line number Diff line change
Expand Up @@ -148,30 +148,40 @@ Card Grid - Flare 2026 Design System Cards
}

/* =====================================================================
Basic Card
Basic Cards
===================================================================== */

.fl-card {
align-items: stretch;

/* backdrop-filter: blur(7.5px); */
background: var(--fl-theme-default-card-bg);
border: 1px solid var(--card-border-color);
border-radius: var(--token-border-radius-sm);
box-shadow: var(--fl-theme-shadow-card);
color: var(--fl-theme-color-text);
display: flex;
flex-direction: column;
gap: var(--token-spacing-md);
padding: var(--token-spacing-2xl);
position: relative;
}

.fl-card-outlined,
.fl-card-filled {
align-items: stretch;

/* backdrop-filter: blur(7.5px); */
border-radius: var(--token-border-radius-sm);
padding: var(--token-spacing-2xl);
transition: transform var(--token-transition-base);
}

.fl-card-filled .fl-buttons,
.fl-card-outlined .fl-buttons {
margin-block-start: auto;
}

/* Transitioning box-shadow causes a repaint every frame. Instead, we place
the hover shadow on a ::after pseudo-element and transition its opacity —
opacity is composited on the GPU with zero repaint cost. */
.fl-card::after {
.fl-card-filled::after,
.fl-card-outlined::after {
border-radius: inherit;
box-shadow: 0 40px 96px var(--token-color-dark-purple-22);
content: '';
Expand All @@ -182,15 +192,26 @@ Basic Card
transition: opacity var(--token-transition-base);
}

.fl-card:hover {
.fl-card-filled:hover,
.fl-card-outlined:hover {
transform: translateY(-2px);
}

.fl-card:hover::after {
.fl-card-filled:hover::after,
.fl-card-outlined:hover::after {
opacity: 1;
}

.fl-card .fl-heading-group {
.fl-card-filled {
background-color: var(--theme-light-purple-card-bg-color);
}

.fl-card-outlined {
border: 1px solid var(--card-border-color);
box-shadow: var(--fl-theme-shadow-card);
}

.fl-card-outlined .fl-heading-group {
gap: unset;
margin: 0;
padding: 0;
Expand All @@ -200,13 +221,15 @@ Basic Card
margin-block-end: var(--token-spacing-md);
}

.fl-card .fl-buttons {
margin-block-start: auto;
.fl-card-heading-group > *:last-child {
margin-block-end: 0;
}

.fl-card .learn-more-link {
display: block;
margin-block: var(--token-spacing-md);
.fl-card-content {
display: flex;
flex-direction: column;
flex-grow: 1;
gap: var(--token-spacing-lg);
}

/* Drop backdrop-filter for users who prefer reduced transparency or motion —
Expand Down Expand Up @@ -290,7 +313,7 @@ Sticker Card
order: 0;
}

.fl-card-sticker {
.fl-sticker-card .fl-card-sticker {
margin: auto;
order: 1;
}
Expand Down Expand Up @@ -399,14 +422,10 @@ Sticker Card
color: var(--token-color-light-purple);
}

.fl-sticker-card.fl-card-fill {
.fl-sticker-card.fl-card-filled {
background: var(--token-gradient-soft-purple);
}

.fl-illustration-icon-card {
color: var(--fl-theme-color-text);
}

/* =====================================================================
Step Cards List - With Kit variant
===================================================================== */
Expand Down Expand Up @@ -556,10 +575,7 @@ Illustration Card
===================================================================== */

.fl-illustration-card {
display: flex;
flex-direction: column;
padding: 0;
position: relative;
gap: var(--token-spacing-2xl);
}

.fl-illustration-card .fl-heading-group {
Expand All @@ -573,22 +589,10 @@ Illustration Card
margin: 0;
}

.fl-illustration-card .fl-card-media {
margin-block-end: var(--token-spacing-xl);
}

.fl-illustration-card .fl-card-media,
.fl-illustration-card .fl-card-media img {
border-radius: var(--token-border-radius-sm);
inline-size: 100%;
margin-block-end: var(--token-spacing-lg);
}

.fl-illustration-card .fl-card-content {
display: flex;
flex-direction: column;
flex-grow: 1;
gap: var(--token-spacing-lg);
margin-block-end: 0;
}

.fl-illustration-card .fl-video {
Expand Down Expand Up @@ -621,6 +625,14 @@ Illustration Card
line-height: 1.1;
}

.fl-illustration-icon-card {
color: var(--fl-theme-color-text);
}

.fl-illustration-icon-card .fl-icon {
font-size: 24px;
}

.fl-illustration-card.fl-illustration-icon-card,
.fl-illustration-card.fl-illustration-sticker-card {
--media-padding: var(--token-spacing-md);
Expand Down Expand Up @@ -655,6 +667,7 @@ Illustration Card
display: flex;
inline-size: var(--media-size);
justify-content: center;
margin-block-end: var(--token-spacing-lg);
min-block-size: var(--media-size);
min-inline-size: var(--media-size);
padding: var(--media-padding);
Expand Down
8 changes: 8 additions & 0 deletions media/css/cms/components/flare26-icon.css
Original file line number Diff line number Diff line change
Expand Up @@ -923,6 +923,10 @@
--icon-src: url('/media/img/firefox/flare/2026/icons/desktop-16/split-view/split-view-right-16.svg');
}

.fl-icon-sponsored-star {
--icon-src: url('/media/img/firefox/flare/2026/icons/mobile-16/star/sponsored-star-16.svg');
}

.fl-icon-storage-false {
--icon-src: url('/media/img/firefox/flare/2026/icons/desktop-16/permissions/storage-false.svg');
}
Expand Down Expand Up @@ -1341,6 +1345,10 @@
--icon-src: url('/media/img/firefox/flare/2026/icons/mobile-24/shield/shield-checkmark-24.svg');
}

.fl-icon-shield-checkmark-filled {
--icon-src: url('/media/img/firefox/flare/2026/icons/mobile-16/shield/shield-checkmark-fill-16.svg');
}

.fl-icon-shield-cross {
--icon-src: url('/media/img/firefox/flare/2026/icons/mobile-24/shield/shield-cross-24.svg');
}
Expand Down
Loading
Loading