diff --git a/templates/patterns/accordion/pattern-accordion.html.twig b/templates/patterns/accordion/pattern-accordion.html.twig
index ce6739a3428e8c158730236d37a2f096d33bff08..d6a8c296cf07ec961b8f518f50d5cbc574607d3a 100644
--- a/templates/patterns/accordion/pattern-accordion.html.twig
+++ b/templates/patterns/accordion/pattern-accordion.html.twig
@@ -1,8 +1,5 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('accordion-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set attributes = attributes.addClass('accordion-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 {% set attributes = attributes.addClass('accordion') %}
 {% set attributes = accordion_id ? attributes.setAttribute('id', accordion_id) : attributes %}
diff --git a/templates/patterns/alert/pattern-alert.html.twig b/templates/patterns/alert/pattern-alert.html.twig
index 3c6a3bd2c2c84ce587fa94e071d74200734c45db..5e88316693c7cb0f90112367f600639a123dc4fe 100644
--- a/templates/patterns/alert/pattern-alert.html.twig
+++ b/templates/patterns/alert/pattern-alert.html.twig
@@ -1,8 +1,5 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('alert-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set attributes = attributes.addClass('alert-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
 {% if dismissible %}
diff --git a/templates/patterns/button/pattern-button.html.twig b/templates/patterns/button/pattern-button.html.twig
index 8b0e4feb65e86a1f58f4899a827b07eb22657693..5a0f47b6d48b51c66885acc16c88d71fa03ed3a2 100644
--- a/templates/patterns/button/pattern-button.html.twig
+++ b/templates/patterns/button/pattern-button.html.twig
@@ -1,12 +1,10 @@
-{% if variant != '' and variant|lower != 'default' and variant|lower != 'dropdown_item' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('btn-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' and variant|lower != 'dropdown_item' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({(v): 'btn-' ~ v})|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
   {% set attributes = attributes.addClass('btn') %}
 {% endif %}
 
-{% set attributes = variant|lower == 'dropdown_item' ? attributes.addClass('dropdown-item') : attributes %}
+{% set attributes = (variant|lower == 'dropdown_item') ? attributes.addClass('dropdown-item') : attributes %}
 
 {% if label_visually_hidden %}
   {% set label %}
diff --git a/templates/patterns/button_group/pattern-button-group.html.twig b/templates/patterns/button_group/pattern-button-group.html.twig
index 3034edf6b0374011642ab808f5b6e7c0fb7a2052..d88c731fe3250aed9df8c02e5dfc7aeef8d78be2 100644
--- a/templates/patterns/button_group/pattern-button-group.html.twig
+++ b/templates/patterns/button_group/pattern-button-group.html.twig
@@ -1,8 +1,8 @@
-{% if variant != '' and variant|lower != 'default' %}
+{% if variant and variant|lower != 'default' %}
   {% set attributes = attributes.addClass('btn-group-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
-{% if variant != '' and variant|lower != 'vertical' %}
+{% if variant and variant|lower != 'vertical' %}
   {% set attributes = attributes.addClass('btn-group') %}
 {% endif %}
 
diff --git a/templates/patterns/carousel/pattern-carousel.html.twig b/templates/patterns/carousel/pattern-carousel.html.twig
index 79e2e6d6c1113f35ef0ad713f96c299cf4a13c08..9ef0a99e41faa29f716d00344c4f0e33d57129e5 100644
--- a/templates/patterns/carousel/pattern-carousel.html.twig
+++ b/templates/patterns/carousel/pattern-carousel.html.twig
@@ -1,8 +1,6 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('carousel-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({(v): 'carousel-' ~ v})|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
 {% endif %}
 
 {% if not with_touch %}
diff --git a/templates/patterns/dropdown/pattern-dropdown.html.twig b/templates/patterns/dropdown/pattern-dropdown.html.twig
index 52d964a1987bf2886d29f7b95a73e32df0db3bd4..e6cb3473f60573a02e5a6bbd99b9d1ff69d1ecc3 100644
--- a/templates/patterns/dropdown/pattern-dropdown.html.twig
+++ b/templates/patterns/dropdown/pattern-dropdown.html.twig
@@ -1,8 +1,6 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass(variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
 {% endif %}
 
 {% set button_type = button_type|default('button') %}
diff --git a/templates/patterns/dropdown_item/pattern-dropdown-item.html.twig b/templates/patterns/dropdown_item/pattern-dropdown-item.html.twig
index 213fa4d51e4c87144e06355db1c16f27cc1d263c..9e87fc98cd1725e2f13bb38bb2ad2814400f8bbd 100644
--- a/templates/patterns/dropdown_item/pattern-dropdown-item.html.twig
+++ b/templates/patterns/dropdown_item/pattern-dropdown-item.html.twig
@@ -1,8 +1,5 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass(variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set attributes = attributes.addClass(variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
 {% if variant|lower == 'dropdown_divider' %}
diff --git a/templates/patterns/list/pattern-list.html.twig b/templates/patterns/list/pattern-list.html.twig
index 2c923755baf0e012168e7769c1b7655ff00fad80..f6de36cfe4277571815c831f60c6eb0bc6082c78 100644
--- a/templates/patterns/list/pattern-list.html.twig
+++ b/templates/patterns/list/pattern-list.html.twig
@@ -1,4 +1,4 @@
-{% if variant != '' and variant|lower != 'default' %}
+{% if variant and variant|lower != 'default' %}
   {% set attributes = attributes.addClass('list-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
diff --git a/templates/patterns/list_group/pattern-list-group.html.twig b/templates/patterns/list_group/pattern-list-group.html.twig
index 96a189e948e5d638449016051e8f4aeec5f60ee1..d248b00c0b5ee68767f7697e72a6425cf8d99883 100644
--- a/templates/patterns/list_group/pattern-list-group.html.twig
+++ b/templates/patterns/list_group/pattern-list-group.html.twig
@@ -1,4 +1,4 @@
-{% if variant != '' and variant|lower != 'default' %}
+{% if variant and variant|lower != 'default' %}
   {% set attributes = attributes.addClass('list-group-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
diff --git a/templates/patterns/list_group_item/pattern-list-group-item.html.twig b/templates/patterns/list_group_item/pattern-list-group-item.html.twig
index 866828e0338e2596939970eec0bf837c1d283a2f..aa6a02d8fec5722f385ed1de1ffd5928562a0de3 100644
--- a/templates/patterns/list_group_item/pattern-list-group-item.html.twig
+++ b/templates/patterns/list_group_item/pattern-list-group-item.html.twig
@@ -1,8 +1,5 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('list-group-item-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set attributes = attributes.addClass('list-group-item-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
 {% set attributes = attributes.addClass('list-group-item') %}
diff --git a/templates/patterns/nav/pattern-nav.html.twig b/templates/patterns/nav/pattern-nav.html.twig
index 27d903883c687cecc4ae1403aab9277b9d463065..9a6eee596008434d5876357e90fe4422596a08a1 100644
--- a/templates/patterns/nav/pattern-nav.html.twig
+++ b/templates/patterns/nav/pattern-nav.html.twig
@@ -1,8 +1,6 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('nav-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({(v): 'nav-' ~ v})|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
 {% endif %}
 
 {% set nav_type = nav_type|default('ul') %}
diff --git a/templates/patterns/navbar/pattern-navbar.html.twig b/templates/patterns/navbar/pattern-navbar.html.twig
index fedb27aae27de7f4392b6810b77c436e4b679e49..f8bc667abaa48e8763a25771c3efd527497c8603 100644
--- a/templates/patterns/navbar/pattern-navbar.html.twig
+++ b/templates/patterns/navbar/pattern-navbar.html.twig
@@ -1,9 +1,8 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('navbar-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({(v): 'navbar-' ~ v})|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
 {% endif %}
+
 {% set attributes = attributes.addClass('navbar') %}
 
 {% set placement = placement|default('default') %}
diff --git a/templates/patterns/navbar_nav/pattern-navbar-nav.html.twig b/templates/patterns/navbar_nav/pattern-navbar-nav.html.twig
index 40d48f0be45e195f91eae2b95b4b0c1a6a0e88ae..4c57593885b44f11507084357ed329d35def6182 100644
--- a/templates/patterns/navbar_nav/pattern-navbar-nav.html.twig
+++ b/templates/patterns/navbar_nav/pattern-navbar-nav.html.twig
@@ -1,9 +1,7 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('navbar-nav-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set attributes = attributes.addClass('navbar-nav-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
+
 {% set attributes = attributes.addClass('navbar-nav') %}
 
 {% set dark = dark|default(false) %}
diff --git a/templates/patterns/pagination/pattern-pagination.html.twig b/templates/patterns/pagination/pattern-pagination.html.twig
index 6da16997ebce553670031b51ecc1ce6f16651774..790b8da812df33cbf4c3770d70149ae603d2b078 100644
--- a/templates/patterns/pagination/pattern-pagination.html.twig
+++ b/templates/patterns/pagination/pattern-pagination.html.twig
@@ -1,4 +1,4 @@
-{% if variant != '' and variant|lower != 'default' %}
+{% if variant and variant|lower != 'default' %}
   {% set attributes = attributes.addClass('pagination-' ~ variant|lower|replace({'_': '-'})) %}
 {% endif %}
 
@@ -49,7 +49,7 @@
   {% set attributes = attributes ?: create_attribute() %}
   {% set attributes = aria_label ? attributes.setAttribute('aria-label', aria_label) : attributes %}
   <a{{ attributes.addClass('page-link').setAttribute('href', href) }}>
-    {% if aria_label is not empty %}
+    {% if aria_label %}
     <span aria-hidden="true">{{ text }}</span>
     {% else %}
     {{ text }}
diff --git a/templates/patterns/progress/pattern-progress.html.twig b/templates/patterns/progress/pattern-progress.html.twig
index 9429babdc049aada5b1c58e97a73d0b7fffedf5f..b7bc09f602e93b21a4e356ea3e78e36d992d5310 100644
--- a/templates/patterns/progress/pattern-progress.html.twig
+++ b/templates/patterns/progress/pattern-progress.html.twig
@@ -1,8 +1,6 @@
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('progress-bar-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({(v): 'progress-bar-' ~ v})|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
 {% endif %}
 
 {% set wrapper_attributes = create_attribute() %}
diff --git a/templates/patterns/table/pattern-table.html.twig b/templates/patterns/table/pattern-table.html.twig
index 88de521994c58858ec0635ebeda062dc111224eb..66cf21bb76a53a75b3dab2281028386d2d9b5822 100644
--- a/templates/patterns/table/pattern-table.html.twig
+++ b/templates/patterns/table/pattern-table.html.twig
@@ -4,11 +4,9 @@
 {% set tfoot_attributes = create_attribute() %}
 
 {% set attributes = attributes.addClass('table') %}
-{% if variant != '' and variant|lower != 'default' %}
-  {% set variants = variant|split('__') %}
-  {% for variant in variants %}
-    {% set attributes = attributes.addClass('table-' ~ variant|lower|replace({'_': '-'})) %}
-  {% endfor %}
+{% if variant and variant|lower != 'default' %}
+  {% set variants = variant|split('__')|map(v => v|lower|replace({(v): 'table-' ~ v})|replace({'_': '-'})) %}
+  {% set attributes = attributes.addClass(variants) %}
 {% endif %}
 
 {% if stripes %}
@@ -44,7 +42,7 @@
  * be applied to the correct table group.
  */
 #}
-{% if divider is not empty %}
+{% if divider %}
   {% if 'thead' in divider %}
     {% set thead_attributes = thead_attributes.addClass('table-group-divider') %}
   {% endif %}