body
{
    --section-separator-color: #dddddd;
    --default-border-color: #dddddd;
    background: #303030;
}

#main-menu i
{
    font-size: 1.2rem;
}

#main-menu.without-brand ul li.nav-item:first-child a
{
    padding-left: 0;
}

#main-content
{
    padding-top: 70px;
    background: white;
    padding-bottom: 20px;
}

.content h1
{
    margin-top: 0;
}

.content h2
{
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.content ul,
.content ol,
.content p
{
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.content li
{
    margin-bottom: 0.7rem;
}

/* Icons */
i.bi
{
    display: inline-block;
}

i.bi + span
{
    margin-left: 0.4rem;
}

.stock-info,
.ship-info,
.buy-without-registration
{
    margin-top: 0.5rem;
}

/* Product category */
.card-based-category-list .card
{
    overflow: hidden;
}

.card-based-category-list .card-img-top
{
    background-position: center center;
    background-repeat: no-repeat;
    height: 350px;
}

.card-based-category-list .card-img-top.d-sm-block.d-md-none
{
    background-size: contain;
}

.category-tree
{
    background: rgb(11, 94, 215);
    padding: 1rem;
    border-radius: 0.375rem;
}

.category-tree h3
{
    font-size: var(--bs-body-font-size);
    color: white;
    text-align: center;
    padding: 0 0 1rem 0;
    border-bottom: white dashed 1px;
    margin-bottom: 1rem;
}

.category-tree ul
{
    list-style: none;
    margin: 0;
    padding: 0 0 0 1.5rem;
}

.category-tree > ul
{
    margin: 0;
    padding: 0;
}

.category-tree li
{
    margin: 0.7rem 0;
}

.category-tree > ul > li:last-of-type
{
    margin-bottom: 0.4rem;
}

.category-tree li a
{
    color: white;
    text-decoration: none;
}

.category-tree li.current-category a
{
    color: white;
    font-weight: bold;
}

#category-drawer
{
    background: rgb(11, 94, 215);
}

#category-drawer .offcanvas-header #category-drawer-main-header
{
    padding-top: 0.25rem;
    color: white;
}

#category-drawer .category-tree
{
    padding: 0;
}

#category-drawer .category-tree h3
{
    border-top: white dashed 1px;
    border-bottom: white dashed 1px;
    padding: 1rem 0;
}

/* Toolbar */
.toolbar
{
    border-radius: 0.375rem;
}

.toolbar button
{
    color: white;
}

.toolbar h2
{
    font-size: var(--bs-body-font-size);
    margin: 0 0 0 0.75rem;
    color: white;
    padding: 1rem 0;
}

/* Product page */
#product-page #product-info h1
{
    font-size: 1.7rem;
    margin: 0;
    padding: 0;
}

#product-page #product-info .section:first-of-type
{
    border-top: var(--section-separator-color) 1px solid;
    padding: 1rem 0;
}

#product-page #product-info .section
{
    border-bottom: var(--section-separator-color) 1px solid;
    padding: 1rem 0;
}

#product-page #product-info .section:last-of-type
{
    border-bottom: none;
}

#product-page #product-info .section > div
{
    margin-bottom: 0.5rem;
}

#product-page #product-info .section > div i
{
    margin-right: 0.5rem;
}

#product-page #product-info .section > div:last-child
{
    margin-bottom: 0;
}

#product-page #product-info .price
{
    font-size: 2rem;
}

#product-page #product-info .add-to-cart-wrapper
{
    margin-top: 1.5rem;
}

#product-page #product-summary .section.call-to-action
{
    border-top: var(--section-separator-color) 1px solid;
    padding: 2rem 0 0 0;
    margin: 2rem 0 0 0;
    display: flex;
}

#product-page #product-summary .section.call-to-action a.btn-call-to-action
{
    display: block;
    flex: 1;
    padding: 1rem;
}

#product-page #product-long-description
{
    margin-top: 4rem;
}

#product-page #product-long-description h1
{
    font-size: 2rem;
    margin-bottom: 2rem;
}

#product-page #product-long-description h2
{
    font-size: 1.5rem;
    margin-top: 2rem;
}

/* Product list */
ul#product-list
{
    margin: 0 0 2.0rem 0;
    padding: 0;
}

ul#product-list > li
{
    margin: 0;
    padding: 2.0rem 0;
    border-bottom: 1px solid rgba(33, 37, 41, 0.25);
    list-style: none;
}

ul#product-list > li article > div
{
    display: flex;
}

ul#product-list > li article .thumb
{
    margin-right: 1rem;
    width: 170px;
    height: 170px;
    min-width: 170px;
    border: 1px solid rgba(33, 37, 41, 0.25);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}

ul#product-list > li article a.thumb:hover
{
    border-color: var(--bs-primary);
}

ul#product-list > li article .product-list-item-content
{
    flex-grow: 1;
    overflow: hidden;
}

ul#product-list > li article .product-list-item-content h3
{
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    line-height: 2.0rem;
}

ul#product-list > li article .product-list-item-content p
{
    line-height: 2.0rem;
}

ul#product-list > li article .product-list-item-content ul
{
    margin: 0.75rem 0 0 0;
    padding: 0;
}

ul#product-list > li article .product-list-item-content ul li
{
    padding: 0;
    margin: 0 0 0.5rem 0;
    list-style: none;
}

ul#product-list > li article .product-list-item-content ul li:last-of-type
{
    margin-bottom: 0;
}

ul#product-list > li article .product-list-item-content p:last-of-type
{
    margin-bottom: -0.25rem;
}

ul#product-list > li article .price
{
    margin-top: 2rem;
    margin-left: 1rem;
    font-size: 2rem;
    display: flex;
    align-items: center;
}

ul#product-list > li article footer .additional-info
{
    display: flex;
    align-items: center;
    margin-top: 1rem;
}

ul#product-list > li article footer .additional-info .ship-info
{
    margin-left: 2.2rem;
    margin-right: 1.9rem;
}

ul#product-list > li article footer .additional-info .buy-without-registration
{
    flex-grow: 1;
}

ul#product-list > li article footer .actions
{
    margin-top: 1.7rem;
    display: flex;
    justify-content: space-between;
}

@media (max-width: 768px)
{
    ul#product-list > li article > div
    {
        display: block;
    }

    ul#product-list > li article .thumb-wrap
    {
        display: flex;
        justify-content: center;
    }

    ul#product-list > li article .product-list-item-content h3
    {
        margin-top: 1.5rem;
    }

    ul#product-list > li article .price
    {
        margin-left: 0;
        text-align: center;
        display: block;
    }

    ul#product-list > li article footer .additional-info
    {
        display: block;
    }

    ul#product-list > li article footer .additional-info .ship-info
    {
        margin-left: 0;
        margin-right: 0;
    }
}

/* Gallery */
.gallery
{
    margin-bottom: 3rem;
}

.gallery.empty-gallery
{
    border: 1px solid var(--default-border-color);
    height: 450px;
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.gallery-items,
ul.gallery-thumbs
{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    overflow: hidden;
}

ul.gallery-items li,
ul.gallery-thumbs li
{
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

ul.gallery-items li,
ul.gallery-items.tns-horizontal li.tns-item
{
    display: flex;
}

ul.gallery-thumbs
{
    display: flex;
    overflow: hidden;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
    margin-top: 1rem;
}

ul.gallery-thumbs li
{
    border: 1px solid rgba(33, 37, 41, 0.25);
    border-radius: 0.375rem;
    padding: 0.5rem;
    cursor: pointer;
}

ul.gallery-thumbs li.tns-nav-active
{
    border-color: var(--bs-primary);
}

/* Footer */
#page-footer
{
    color: white;
    padding-top: 40px;
    padding-bottom: 40px;
    background: #303030;
}

#page-footer .logo
{
    margin-bottom: 1.8rem;
}

#page-footer h1
{
    font-size: 2rem;
    margin-bottom: 1.8rem;
}

#page-footer h2
{
    font-size: 1.28rem;
    margin-bottom: 1rem;
}

#page-footer h1,
#page-footer h2,
#page-footer h2 a
{
    color: white;
}

#page-footer .section
{
    margin-bottom: 1rem;
}

#page-footer a
{
    color: #eeeeee;
    text-decoration: none;
}

#page-footer p
{
    margin-top: 0.5rem;
}

#page-footer p a
{
    text-decoration: underline;
}

#page-footer .separator
{
    margin: 0 10px;
    border-right: 1px dashed;
    display: inline-block;
    height: 14px;
}