diff --git a/bin/frontend/controls/frontendusers/Orders.js b/bin/frontend/controls/frontendusers/Orders.js
index 431ebc224e8140697b2e3be0f62128f1b9d1f2a4..760eef85f3839a7394d466cc3588ea7cdc4eaa0e 100644
--- a/bin/frontend/controls/frontendusers/Orders.js
+++ b/bin/frontend/controls/frontendusers/Orders.js
@@ -63,9 +63,10 @@ define('package/quiqqer/order/bin/frontend/controls/frontendusers/Orders', [
          */
         $onImport: function () {
             var self = this,
-                Elm  = this.getElm();
+                Elm  = this.getElm(),
+            SectionContainer = Elm.querySelector('[data-ref="section-container"]');
 
-            this.$List = Elm.getElement('.quiqqer-order-profile-orders-list');
+            this.$List = Elm.getElement('[data-ref="order-list"]');
 
             this.$OrderContainer = new Element('div', {
                 'class': 'quiqqer-order-profile-orders-order-container',
@@ -74,9 +75,16 @@ define('package/quiqqer/order/bin/frontend/controls/frontendusers/Orders', [
                     opacity : 0,
                     position: 'relative'
                 }
-            }).inject(this.getElm());
+            });
+
+            if (SectionContainer) {
+                this.$OrderContainer.inject(SectionContainer);
+                this.Loader.inject(SectionContainer);
+            } else {
+                this.$OrderContainer.inject(Elm);
+                this.Loader.inject(Elm);
+            }
 
-            this.Loader.inject(Elm);
             this.$setEvents();
 
             // pagination events
@@ -179,6 +187,11 @@ define('package/quiqqer/order/bin/frontend/controls/frontendusers/Orders', [
                         onLoad: function () {
                             self.Loader.hide();
                             self.$hideList().then(function () {
+                                self.$OrderContainer.scrollIntoView({
+                                    behavior: "smooth",
+                                    block: "start"
+                                });
+
                                 return self.$showOrderContainer();
                             });
                         }
@@ -245,9 +258,7 @@ define('package/quiqqer/order/bin/frontend/controls/frontendusers/Orders', [
          */
         $setEvents: function () {
             var self       = this;
-            var orderLinks = this.getElm().getElements(
-                '.quiqqer-order-profile-orders-order-header-orderId a'
-            );
+            var orderLinks = this.getElm().getElements('[data-ref="order-link"]');
 
             orderLinks.addEvent('click', function (event) {
                 var Target = event.target;
@@ -298,6 +309,7 @@ define('package/quiqqer/order/bin/frontend/controls/frontendusers/Orders', [
             );
 
             elements.push(self.$List);
+            elements.push(...this.getElm().querySelectorAll('[data-ref="order-text"]'))
 
             return new Promise(function (resolve) {
                 elements.setStyle('position', 'relative');
@@ -328,6 +340,7 @@ define('package/quiqqer/order/bin/frontend/controls/frontendusers/Orders', [
             );
 
             elements.push(self.$List);
+            elements.push(...this.getElm().querySelectorAll('[data-ref="order-text"]'))
 
             elements.setStyle('display', null);
 
diff --git a/locale.xml b/locale.xml
index 16fda9b3be8193aa6a31fadb4fa1a7353e422cfa..1d2c6178c14b2fa3ce8f38d33a7812265a98f968 100644
--- a/locale.xml
+++ b/locale.xml
@@ -357,10 +357,18 @@
             <de><![CDATA[Meine Bestellungen]]></de>
             <en><![CDATA[My orders]]></en>
         </locale>
+        <locale name="control.frontendUsers.orders.title">
+            <de><![CDATA[Bestellungen]]></de>
+            <en><![CDATA[Orders]]></en>
+        </locale>
         <locale name="profile.opened.orders.title">
-            <de><![CDATA[Meine offene Bestellungen]]></de>
+            <de><![CDATA[Meine offenen Bestellungen]]></de>
             <en><![CDATA[My open orders]]></en>
         </locale>
+        <locale name="control.frontendUsers.opened.orders.title">
+            <de><![CDATA[Offene Bestellungen]]></de>
+            <en><![CDATA[Open orders]]></en>
+        </locale>
         <locale name="message.orders.panel.empty.articles">
             <de><![CDATA[Die Bestellung besitzt keine Artikel.]]></de>
             <en><![CDATA[The order does not own any articles.]]></en>
@@ -833,6 +841,28 @@
             <de><![CDATA[Vorgehen bei gescheiterter Zahlung]]></de>
             <en><![CDATA[Procedure for failed payment]]></en>
         </locale>
+
+        <locale name="order.settings.userProfile.title">
+            <de><![CDATA[Benutezrprofil]]></de>
+            <en><![CDATA[User profile]]></en>
+        </locale>
+        <locale name="order.settings.userProfile.showArticleImage">
+            <de><![CDATA[Artikelbilder anzeigen]]></de>
+            <en><![CDATA[Show article images]]></en>
+        </locale>
+        <locale name="order.settings.userProfile.showArticleImage.desc">
+            <de><![CDATA[Wenn aktiviert, werden Artikelbilder im Benutzerprofil im Bereich "Bestellungen" und "Offene Bestellungen" angezeigt.]]></de>
+            <en><![CDATA[When enabled, product images are displayed in the user profile's order history and open orders section.]]></en>
+        </locale>
+        <locale name="order.settings.userProfile.disableProductLinks">
+            <de><![CDATA[Keine Prodeuktlinks]]></de>
+            <en><![CDATA[Disable product links]]></en>
+        </locale>
+        <locale name="order.settings.userProfile.disableProductLinks.desc">
+            <de><![CDATA[Wenn aktiviert, werden keine Links zu den Produkten im Benutzerprofil angezeigt.]]></de>
+            <en><![CDATA[When enabled, no links to products will be displayed in the user profile.]]></en>
+        </locale>
+
         <locale name="order.settings.mails.attachments">
             <de><![CDATA[Automatische Mailanhänge]]></de>
             <en><![CDATA[Automatic mail attachments]]></en>
@@ -1090,10 +1120,18 @@
             <de><![CDATA[Bestellstatus]]></de>
             <en><![CDATA[Order status]]></en>
         </locale>
-        <locale name="control.profile.orders.order.invoice">
+        <locale name="control.profile.orders.order.invoice.label">
             <de><![CDATA[Rechnung]]></de>
             <en><![CDATA[Invoice]]></en>
         </locale>
+        <locale name="control.profile.orders.order.invoice">
+            <de><![CDATA[Rechnung herunterladen]]></de>
+            <en><![CDATA[Download invoice]]></en>
+        </locale>
+        <locale name="control.profile.orders.order.continuePayment.label">
+            <de><![CDATA[Benötigte Aktion]]></de>
+            <en><![CDATA[Required action]]></en>
+        </locale>
         <locale name="control.profile.orders.order.continuePayment">
             <de><![CDATA[Bezahlung fortführen]]></de>
             <en><![CDATA[Continue payment]]></en>
diff --git a/settings.xml b/settings.xml
index 7e481a0fead3616547d1f8b55f33c7a87ac3681f..bfabc705627d19b944d98f5a1d28823671fdc7d5 100644
--- a/settings.xml
+++ b/settings.xml
@@ -37,6 +37,17 @@
                 </conf>
             </section>
 
+            <section name="userProfile">
+                <conf name="showArticleImage">
+                    <type><![CDATA[bool]]></type>
+                    <defaultvalue><![CDATA[1]]></defaultvalue>
+                </conf>
+                <conf name="disableProductLinks">
+                    <type><![CDATA[bool]]></type>
+                    <defaultvalue><![CDATA[0]]></defaultvalue>
+                </conf>
+            </section>
+
             <section name="mails">
                 <!-- Datenschutz -->
                 <conf name="privacyPolicy">
@@ -234,6 +245,36 @@
                         </input>
                     </settings>
 
+                    <settings>
+                        <title>
+                            <locale group="quiqqer/order" var="order.settings.userProfile.title"/>
+                        </title>
+
+                        <input type="checkbox" conf="userProfile.showArticleImage">
+                            <text>
+                                <locale group="quiqqer/order"
+                                        var="order.settings.userProfile.showArticleImage"/>
+                            </text>
+                            <description>
+                                <locale group="quiqqer/order"
+                                        var="order.settings.userProfile.showArticleImage.desc"
+                                />
+                            </description>
+                        </input>
+
+                        <input type="checkbox" conf="userProfile.disableProductLinks">
+                            <text>
+                                <locale group="quiqqer/order"
+                                        var="order.settings.userProfile.disableProductLinks"/>
+                            </text>
+                            <description>
+                                <locale group="quiqqer/order"
+                                        var="order.settings.userProfile.disableProductLinks.desc"
+                                />
+                            </description>
+                        </input>
+                    </settings>
+
                     <settings>
                         <title>
                             <locale group="quiqqer/order" var="order.settings.mails.attachments"/>
diff --git a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Article.html b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Article.html
index 9510f0652ca56d223b3c6d7c7bd2ce11a9dadb08..9bb19e3eeacaf4ec92dd41712f84669d735e9e3a 100644
--- a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Article.html
+++ b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Article.html
@@ -1,52 +1,65 @@
 <article class="quiqqer-order-profile-orders-order-articles-article"
          data-qui="package/quiqqer/order/bin/frontend/controls/frontendusers/Article"
 >
-    <div class="quiqqer-order-profile-orders-order-articles-image">
-        {if !empty($Image)}
-        {image image=$Image width="200" height=200}
-        {else}
-        {image image=$Project->getMedia()->getPlaceholderImage()}
-        {/if}
-    </div>
+    {if $showImage}
+        <div class="quiqqer-order-profile-orders-order-articles-image">
+            {if !$noLink && !empty($Product) && $Product->getUrl()}
+            <a href="{$Product->getUrl()}"
+               class="quiqqer-order-profile-orders-order-articles-image__link"
+               target="_blank"
+            >
+                {/if}
+                {if !empty($Image)}
+                    {image image=$Image width="200" height=200}
+                {else}
+                    {image image=$Project->getMedia()->getPlaceholderImage()}
+                {/if}
+                {if !$noLink && !empty($Product) && $Product->getUrl()}
+            </a>
+            {/if}
+        </div>
+    {/if}
 
-    <div class="quiqqer-order-profile-orders-order-articles-information">
-        {if !empty($Product)}
-        <a href="{$Product->getUrl()}"
-           class="quiqqer-order-profile-orders-order-articles-title"
-           target="_blank"
-        >
-            {$Article->getTitle()}
-        </a>
-        {else}
-        <div class="quiqqer-order-profile-orders-order-articles-title">
-            {$Article->getTitle()}
+    <div class="quiqqer-order-profile-orders-order-articles-data">
+        <div class="quiqqer-order-profile-orders-order-articles-information">
+            {if !$noLink &&!empty($Product)}
+                <a href="{$Product->getUrl()}"
+                   class="quiqqer-order-profile-orders-order-articles-title"
+                   target="_blank"
+                >
+                    {$Article->getTitle()}
+                </a>
+            {else}
+                <div class="quiqqer-order-profile-orders-order-articles-title">
+                    {$Article->getTitle()}
+                </div>
+            {/if}
+
+            <div class="quiqqer-order-profile-orders-order-articles-description">
+                {$Article->getDescription()}
+            </div>
         </div>
-        {/if}
 
-        <div class="quiqqer-order-profile-orders-order-articles-description">
-            {$Article->getDescription()}
+        <div class="quiqqer-order-profile-orders-order-articles-price">
+            {$Article->getPrice()->getDisplayPrice()}
         </div>
-    </div>
 
-    <div class="quiqqer-order-profile-orders-order-articles-price">
-        {$Article->getPrice()->getDisplayPrice()}
+        <div class="quiqqer-order-profile-orders-order-articles-buttons">
+            {if !empty($Product) && $Product->isActive()}
+                <noscript>
+                    <style>
+                        .quiqqer-order-profile-orders-order-articles-rebuy {
+                            display: none
+                        }
+                    </style>
+                </noscript>
+                <button class="quiqqer-order-profile-orders-order-articles-rebuy btn btn-primary"
+                        data-articleno="{$Article->getArticleNo()}"
+                        disabled
+                >
+                    {locale group="quiqqer/order" var="controls.UsedOrders.Article.buy_again"}
+                </button>
+            {/if}
+        </div>
     </div>
-
-    {if !empty($Product) && $Product->isActive()}
-    <noscript>
-        <style>
-            .quiqqer-order-profile-orders-order-articles-rebuy {
-                display: none
-            }
-        </style>
-    </noscript>
-    <button class="quiqqer-order-profile-orders-order-articles-rebuy"
-            data-articleno="{$Article->getArticleNo()}"
-            disabled
-    >
-        {locale group="quiqqer/order" var="controls.UsedOrders.Article.buy_again"}
-    </button>
-    {/if}
-
-    <div class="quiqqer-order-profile-orders-order-articles-buttons"></div>
 </article>
diff --git a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Order.html b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Order.html
index 662a7fd240025e113433e78e35d965b52798a57e..120f9eaee4f44ec55c3e3431b747dd6397b9ebc4 100644
--- a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Order.html
+++ b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.Order.html
@@ -1,81 +1,96 @@
 <section class="quiqqer-order-profile-orders-order">
-    <header>
-        <div class="quiqqer-order-profile-orders-order-header-date">
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.date"}</span>
-            <span>{$Order->getCreateDate()}</span>
+    <header class="quiqqer-order-profile-orders-order__header">
+        <div class="quiqqer-order-profile-orders-order__date">
+            <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/order" var="control.profile.orders.order.date"}</span>
+            <div class="quiqqer-order-profile-orders-order__value">{$Order->getCreateDate()}</div>
         </div>
 
-        <div class="quiqqer-order-profile-orders-order-header-total">
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.total"}</span>
-            <span>{$order.calculations.display_sum}</span>
-        </div>
-
-        <div class="quiqqer-order-profile-orders-order-header-addressInvoice">
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.invoiceAddress"}</span>
-            {if $Invoice}
-            {assign var=Customer value=$Invoice->getCustomer()}
-            {else}
-            {assign var=Customer value=$Order->getCustomer()}
-            {/if}
-
-            {assign var=Address value=$Customer->getAddress()}
-            {$Address->render(['tel' => false, 'mail' => false])}
-            <span>
-                <span>{$Address->getName()}</span>
-                <span class="fa fa-angle-down"></span>
-            </span>
-        </div>
-
-        <div class="quiqqer-order-profile-orders-order-header-orderId">
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.orderNo"}</span>
-            <a href="{$Utils->getOrderUrl($Project, $Order)}"
-               target="_blank"
-               data-hash="{$Order->getHash()}"
-               title="{locale group='quiqqer/order' var='control.order.details.title'}"
-            >
-                {$Order->getPrefixedId()}
-            </a>
+        <div class="quiqqer-order-profile-orders-order__orderId">
+            <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/order" var="control.profile.orders.order.orderNo"}</span>
+            <div class="quiqqer-order-profile-orders-order__value">
+                <a href="{$Utils->getOrderUrl($Project, $Order)}"
+                   target="_blank"
+                   data-ref="order-link"
+                   data-hash="{$Order->getHash()}"
+                   title="{locale group='quiqqer/order' var='control.order.details.title'}"
+                >
+                    {$Order->getPrefixedId()}
+                </a>
+            </div>
         </div>
     </header>
 
     <div class="quiqqer-order-profile-orders-order-articles">
         {foreach $articles as $Article}
-        {$this->renderArticle($Article)}
+            {$this->renderArticle($Article)}
         {/foreach}
     </div>
 
-    <footer>
+    <footer class="quiqqer-order-profile-orders-order__footer">
         {if $Order->isPosted()}
-        <a href="{$Order->getAttribute('downloadLink')}" target="_blank">
-            <span class="fa fa-file-pdf-o"></span>
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.invoice"}</span>
-        </a>
+        <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-invoice">
+            <span class="quiqqer-order-profile-orders-order__label">
+                {locale group="quiqqer/order" var="control.profile.orders.order.invoice.label"}
+            </span>
+            <div class="quiqqer-order-profile-orders-order__value">
+                <a href="{$Order->getAttribute('downloadLink')}" target="_blank">
+                    <span class="fa fa-file-pdf-o"></span>
+                    <span>{locale group="quiqqer/order" var="control.profile.orders.order.invoice"}</span>
+                </a>
+            </div>
+        </div>
         {else if !$Order->isSuccessful()}
-        <a href="{$orderUrl}" target="_blank" class="">
-            <span class="fa fa-shopping-basket"></span>
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.continuePayment"}</span>
-        </a>
+        <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-continuePayment">
+            <span class="quiqqer-order-profile-orders-order__label">
+                {locale group="quiqqer/order" var="control.profile.orders.order.continuePayment.label"}
+            </span>
+            <div class="quiqqer-order-profile-orders-order__value">
+                <a href="{$orderUrl}" target="_blank">
+                    <span class="fa fa-shopping-basket"></span>
+                    <span>{locale group="quiqqer/order" var="control.profile.orders.order.continuePayment"}</span>
+                </a>
+            </div>
+        </div>
         {/if}
 
-        {if $Payment}
-        <div class="quiqqer-order-profile-orders-order-footer-paymentType">
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.paymentMethod"}:</span>
-            <span>{$Payment->getTitle()}</span>
+        <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-total">
+            <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/order" var="control.profile.orders.order.total"}</span>
+            <div class="quiqqer-order-profile-orders-order__value">{$order.calculations.display_sum}</div>
         </div>
+
+        <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-addressInvoice">
+            <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/order" var="control.profile.orders.order.invoiceAddress"}</span>
+            {if $Invoice}
+                {assign var=Customer value=$Invoice->getCustomer()}
+            {else}
+                {assign var=Customer value=$Order->getCustomer()}
+            {/if}
+
+            {assign var=Address value=$Customer->getAddress()}
+            <div class="quiqqer-order-profile-orders-order__value">
+                {$Address->render(['tel' => false, 'mail' => false])}
+            </div>
+        </div>
+
+        {if $Payment}
+            <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-paymentType">
+                <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/order" var="control.profile.orders.order.paymentMethod"}:</span>
+                <div class="quiqqer-order-profile-orders-order__value">{$Payment->getTitle()}</div>
+            </div>
         {/if}
 
         {if !empty($shippingStatus)}
-        <div class="quiqqer-order-profile-orders-order-footer-shipping">
-            <span>{locale group="quiqqer/shipping" var="control.profile.orders.shipping"}:</span>
-            <span>{$shippingStatus}</span>
-        </div>
+            <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-footer-shipping">
+                <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/shipping" var="control.profile.orders.shipping"}:</span>
+                <div class="quiqqer-order-profile-orders-order__value">{$shippingStatus}</div>
+            </div>
         {/if}
 
         {if isset($orderStatus)}
-        <div class="quiqqer-order-profile-orders-order-footer-orderStatus">
-            <span>{locale group="quiqqer/order" var="control.profile.orders.order.orderStatus"}:</span>
-            <span>{$orderStatus}</span>
-        </div>
+            <div class="quiqqer-order-profile-orders-order__group quiqqer-order-profile-orders-order-footer-orderStatus">
+                <span class="quiqqer-order-profile-orders-order__label">{locale group="quiqqer/order" var="control.profile.orders.order.orderStatus"}:</span>
+                <div class="quiqqer-order-profile-orders-order__value">{$orderStatus}</div>
+            </div>
         {/if}
     </footer>
 </section>
diff --git a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.css b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.css
index 4c8b10183f31ef1d0256181b5dfb59f4b7351630..ad0c4a21f0e36c07ae705bbb8b4815ef7cdeb606 100644
--- a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.css
+++ b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.css
@@ -1,110 +1,122 @@
-.quiqqer-order-profile-orders,
-.quiqqer-order-profile-orders-list {
-    float: left;
-    width: 100%;
+.quiqqer-frontendUsers-section--userOrders {
+    --_label-color: var(--label-color, #999);
+    --_label-fontSize: var(--label-fontSize, 0.875rem);
+    --_box-padding: var(--box-padding, 0.75rem);
+    --_box-bgColor: var(--box-bgColor, #f6f6f6);
+    --_borderColor: var(--borderColor, #ddd);
+    --_borderWidth: var(--borderWidth, 1px);
+    --_scrollMarginTop: var(--scrollMarginTop,var(--_qui-template-scrollMarginTop, 0px));
 }
 
-/** One Order
- =============================================== */
-
-.quiqqer-order-profile-orders-order {
-    border: 1px #ddd solid;
-    clear: both;
-    float: left;
-    margin-bottom: 10px;
-    width: 100%;
+.quiqqer-order-profile-orders-list {
+    display: grid;
+    grid-template-columns: 1fr;
+    gap: 2rem;
 }
 
-.quiqqer-order-profile-orders-order header {
-    background: #f6f6f6;
-    border-bottom: 1px #ddd solid;
-    float: left;
-    padding: 10px;
-    width: 100%;
+:where(.quiqqer-order-profile-orders-order__label) {
+    color: var(--_label-color);
+    font-size: var(--_label-fontSize);
 }
 
-.quiqqer-order-profile-orders-order-header-date,
-.quiqqer-order-profile-orders-order-header-total,
-.quiqqer-order-profile-orders-order-header-addressInvoice,
-.quiqqer-order-profile-orders-order-header-addressDelivery {
-    float: left;
-    position: relative;
-    width: 25%;
+/* header */
+:where(.quiqqer-order-profile-orders-order__header) {
+    background: var(--_box-bgColor);
+    border-bottom: var(--_borderWidth) solid var(--_borderColor);
+    padding: var(--_box-padding);
+    display: flex;
+    justify-content: space-between;
 }
 
-.quiqqer-order-profile-orders-order-header-date span,
-.quiqqer-order-profile-orders-order-header-total span,
-.quiqqer-order-profile-orders-order-header-addressInvoice span,
-.quiqqer-order-profile-orders-order-header-addressDelivery span {
-    clear: both;
-    float: left;
+:where(.quiqqer-order-profile-orders-order__header .quiqqer-order-profile-orders-order__orderId) {
+    text-align: right;
 }
 
-.quiqqer-order-profile-orders-order-header-addressInvoice {
-    cursor: pointer;
-}
+/** One Order
+ =============================================== */
 
-.quiqqer-order-profile-orders-order-header-addressInvoice address {
-    cursor: default;
-    display: none;
-    background: #ffffff;
-    border: 1px #ddd solid;
-    left: 0;
-    top: 35px;
-    padding: 10px;
-    position: absolute;
-    width: 100%;
+:where(.quiqqer-order-profile-orders-order) {
+    container-type: inline-size;
+    container-name: quiqqer-order-profile-orders-order;
+
+    border: var(--_borderWidth) solid var(--_borderColor);
+    min-width: 0;
 }
 
-.quiqqer-order-profile-orders-order-header-addressInvoice:is(:hover, :active) address {
-    display: inline-block;
+/* article list */
+.quiqqer-order-profile-orders-order-articles {
+    padding: var(--_box-padding);
+    display: grid;
+    gap: 1rem;
 }
 
-.quiqqer-order-profile-orders-order-header-addressInvoice span {
-    text-align: left;
+/* single article */
+.quiqqer-order-profile-orders-order-articles-article {
+    display: flex;
+    gap: 1rem;
+    min-width: 0;
 }
 
-.quiqqer-order-profile-orders-order-articles {
-    float: left;
-    padding: 10px;
-    width: 100%;
+:where(.quiqqer-order-profile-orders-order-articles-image) {
+    width: calc(10rem - 0.5rem);
+    height: calc(10rem - 0.5rem);
+    background: var(--_box-bgColor);
+    border-radius: 0.5rem;
+    overflow: hidden;
+    display: grid;
+    place-content: center;
+    padding: var(--_box-padding);
+    flex-shrink: 0;
 }
 
-.quiqqer-order-profile-orders-order-articles-article {
-    float: left;
-    width: 100%;
+.quiqqer-order-profile-orders-order-articles-data {
+    flex-grow: 1;
+    display: flex;
+    flex-direction: column;
+    gap: 0.5rem;
 }
 
-.quiqqer-order-profile-orders-order-articles-information {
-    padding-top: 10px;
+:where(.quiqqer-order-profile-orders-order-articles-title) {
+    font-weight: bolder;
 }
 
-.quiqqer-order-profile-orders-order-articles-image {
-    float: left;
-    margin-right: 10px;
+.quiqqer-order-profile-orders-order-articles-buttons {
+    margin-top: auto;
 }
 
-.quiqqer-order-profile-orders-order-articles-description {
-    margin: 5px 0;
+/* footer  */
+:where(.quiqqer-order-profile-orders-order__footer) {
+    border-top: var(--_borderWidth) solid var(--_borderColor);
+    padding: var(--_box-padding);
+    display: flex;
+    flex-direction: column;
+    gap: 0.5rem;
 }
 
-.quiqqer-order-profile-orders-order-footer-paymentType {
-    margin-top: 10px;
+:where(.quiqqer-order-profile-orders-order__group) {
+    display: grid;
+    grid-template-columns: 10rem 1fr;
+    gap: 0.5rem;
 }
 
-.quiqqer-order-profile-orders-order footer {
-    background: #f6f6f6;
-    border-top: 1px #ddd solid;
-    float: left;
-    padding: 10px;
-    width: 100%;
+@container quiqqer-order-profile-orders-order (max-width: 25rem) {
+    .quiqqer-order-profile-orders-order-articles-article {
+        flex-direction: column;
+    }
+
+    :where(.quiqqer-order-profile-orders-order-articles-article:not(:first-child)) {
+        border-top: var(--_borderWidth) solid var(--_borderColor);
+        padding-top: 1rem;
+    }
+
+    :where(.quiqqer-order-profile-orders-order__group) {
+        display: block;
+    }
 }
 
 /** Pagination
  =============================================== */
-
 .quiqqer-order-profile-orders-pagination {
-    float: left;
     width: 100%;
 }
 
@@ -112,56 +124,17 @@
     text-align: right;
 }
 
-@media (max-width: 768px) {
-    .quiqqer-order-profile-orders-order-header-date,
-    .quiqqer-order-profile-orders-order-header-total,
-    .quiqqer-order-profile-orders-order-header-addressInvoice,
-    .quiqqer-order-profile-orders-order-header-addressDelivery {
-        width: 100%;
-    }
-
-    .quiqqer-order-profile-orders-order-header-orderId {
-        float: left;
-        margin-top: 10px;
-        width: 100%;
-    }
-
-    .quiqqer-order-profile-orders-order-header-date > span,
-    .quiqqer-order-profile-orders-order-header-total > span,
-    .quiqqer-order-profile-orders-order-header-orderId > span,
-    .quiqqer-order-profile-orders-order-header-orderId > a,
-    .quiqqer-order-profile-orders-order-header-addressInvoice > span {
-        clear: none;
-        float: left;
-        width: 50%;
-    }
-
-    .quiqqer-order-profile-orders-order-header-addressInvoice address {
-        top: 100%;
-        z-index: 1;
-    }
-
-    .quiqqer-order-profile-orders .quiqqer-order-profile-orders-pagination:first-child {
-        margin-bottom: 20px;
-    }
-
-    .quiqqer-order-control-order-information-invoiceAddress,
-    .quiqqer-order-control-order-information-orderData,
-    .quiqqer-order-control-order-information-payment {
-        clear: both;
-        width: 100%;
-    }
+.quiqqer-sheets-mobile {
+    margin-top: 2rem;
+    width: 100%;
+}
 
-    .quiqqer-order-control-order-information-payment-icon {
-        margin-bottom: 10px;
-        max-width: 100%;
-    }
+/* Back btn */
+.quiqqer-order-control-order-backButton {
+    margin-top: 1rem;
+}
 
-    .quiqqer-order-control-order-information-orderData-placeholder td {
-        font-size: 1px;
-        height: 2px;
-        display: block;
-        padding: 0;
-        margin: 0;
-    }
+/* container for order details (open per click on order number) */
+.quiqqer-order-profile-orders-order-container {
+    scroll-margin-top: var(--_scrollMarginTop);
 }
\ No newline at end of file
diff --git a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.html b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.html
index 4923344e6380204b2ff2d1aa4055761cdff2b7de..ecbb8fec976df979c5680ef471013b55f57cc7ad 100644
--- a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.html
+++ b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.html
@@ -1,33 +1,27 @@
-{if $sheetsMax && $sheetsMax != 1}
-<div class="quiqqer-order-profile-orders-pagination">
-    {control
-    control="QUI\Controls\Navigating\Pagination"
-    useAjax=true
-    Project=$Project
-    limit=$sheetLimit
-    sheets=$sheetsMax
-    sheet=$sheetCurrent
-    }
-</div>
-{/if}
+<section class="quiqqer-frontendUsers-profile-section quiqqer-frontendUsers-section--userOrders" data-ref="section-container">
+    <div data-ref="order-text">
+        <h2>{locale group="quiqqer/order" var="control.frontendUsers.orders.title"}</h2>
+    </div>
 
-<div class="quiqqer-order-profile-orders-list">
-    {foreach $orders as $Order}
-    {$this->renderOrder($Order)}
-    {foreachelse}
-    <p>{locale group="quiqqer/order" var="message.no.orders"}</p>
-    {/foreach}
-</div>
+    <div class="quiqqer-order-profile-orders-list" data-ref="order-list">
+        {foreach $orders as $Order}
+            {$this->renderOrder($Order)}
+            {foreachelse}
+            <p class="text-muted">{locale group="quiqqer/order" var="message.no.orders"}</p>
+        {/foreach}
+    </div>
 
-{if $sheetsMax && $sheetsMax != 1}
-<div class="quiqqer-order-profile-orders-pagination">
-    {control
-    control="QUI\Controls\Navigating\Pagination"
-    useAjax=true
-    Project=$Project
-    limit=$sheetLimit
-    sheets=$sheetsMax
-    sheet=$sheetCurrent
-    }
-</div>
-{/if}
\ No newline at end of file
+    {if $sheetsMax && $sheetsMax != 1}
+        <div class="quiqqer-order-profile-orders-pagination" data-ref="pagination">
+            {control
+            control="QUI\Controls\Navigating\Pagination"
+            useAjax=true
+            Project=$Project
+            limit=$sheetLimit
+            sheets=$sheetsMax
+            sheet=$sheetCurrent
+            }
+        </div>
+    {/if}
+
+</section>
\ No newline at end of file
diff --git a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php
index 2135ea1603881ff97a78e49ee0731bc2506fbe3a..3b4efa8500231d6154d106aecf4b30b9d35673c6 100644
--- a/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php
+++ b/src/QUI/ERP/Order/FrontendUsers/Controls/UserOrders.php
@@ -216,6 +216,9 @@ class_exists('QUI\ERP\Shipping\ShippingStatus\Status')
      */
     public function renderArticle(QUI\ERP\Accounting\Article $Article): string
     {
+        $Settings = QUI\ERP\Order\Settings::getInstance();
+        $showImage = $Settings->get('userProfile', 'showArticleImage');
+        $noLink = $Settings->get('userProfile', 'disableProductLinks');
         $Engine = QUI::getTemplateManager()->getEngine();
         $Product = null;
         $Image = null;
@@ -244,6 +247,8 @@ public function renderArticle(QUI\ERP\Accounting\Article $Article): string
             'Article' => $Article,
             'Product' => $Product,
             'Image' => $Image,
+            'showImage' => $showImage,
+            'noLink' => $noLink,
             'Project' => QUI::getProjectManager()->get()
         ]);