body {
    background: var(--site-background-color);
}
body.has-offcanvas {
    overflow: hidden;
}
#page-container {
    min-height: 100vh;
    display: flex;
    flex-flow: column;
}
#content-wrapper {
    flex-grow: 1;
    margin: 0 0.5em;
}
@media (min-width: 1460px) {
    #content-wrapper {
        margin: 0;
    }
}
#important-notice {
    background: var(--important-notice-background-color);
    color: var(--important-notice-text-color);
    text-align: center;
}
#important-notice .fourteen-forty {
    padding: 0.5em var(--gutter-x);
}
#important-notice a,
#important-notice a:link,
#important-notice a:visited,
#important-notice a:hover,
#important-notice a:active {
    color: inherit;
    text-decoration: underline;
}
@media (max-width: 991px) {
    #site-menu {
        position: sticky;
        display: block;
        top: 0;
        z-index: 999;
        transition: top 200ms linear;
    }
    #site-menu .navbar-header a {
        color: var(--navigation-text-color);
    }
}
@media (max-width: 991px) {
    #site-menu .container {
        padding: 0 !important;
    }
}
#site-menu .navbar {
    padding: 0.5rem var(--gutter-x);
}
@media (min-width: 992px) {
    #site-menu .navbar {
        margin-top: 6.5em;
        padding: 0;
    }
    #site-menu .navbar .dropdown-menu .nav-link {
        background: var(--dropdown-menu-item-background-color);
        color: var(--dropdown-menu-item-text-color);
    }
    #site-menu .navbar .dropdown-menu .nav-link:hover {
        filter: brightness(0.95);
    }
}
#site-menu .dropdown-menu {
    overflow: hidden;
    --gutter-y: 0.75em;
}
body.scrolling-down #site-menu {
    top: -6em;
}
.navbar-header {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.5em 1em;
    justify-content: space-between;
    background: var(--header-background-color);
    color: var(--header-text-color);
    width: 100%;
}
@media (min-width: 768px) {
    .navbar-header {
        gap: var(--gutter-x);
    }
}
@media (min-width: 992px) {
    .navbar-header {
        position: absolute;
        top: -5rem;
        left: 0;
        right: 0;
        margin-bottom: var(--gutter-y);
        padding-left: 1em;
        padding-right: 1em;
    }
}
.navbar-header .fourteen-forty {
    display: inherit;
    flex-flow: inherit;
    gap: inherit;
    justify-content: inherit;
    align-items: inherit;
    padding-top: 0;
    padding-bottom: 0;
}
.navbar-header .logotype {
    flex-grow: 1;
}
.navbar-header .logotype img {
    max-width: 140px;
    max-height: 32px;
}
@media (min-width: 768px) {
    .navbar-header .logotype img {
        max-width: 250px;
        max-height: 60px;
    }
}
@media (min-width: 768px) {
    .navbar-header .logotype {
        width: auto;
    }
}
@media (min-width: 992px) {
    .navbar-header .logotype {
        flex-grow: 0;
    }
}
.navbar-header .navbar-brand {
    display: none;
    width: calc(var(--sidebar-width) + var(--gutter-x) / 2);
    font-size: 17px;
}
.navbar-header .navbar-brand:hover,
.navbar-header .navbar-brand:focus {
    text-decoration: none;
}
.navbar-header .navbar-brand > img {
    display: block;
}
@media (min-width: 768px) {
    .navbar-header .navbar-brand {
        display: block;
    }
}
.navbar-header form[name="search_form"] .input-group {
    background-color: #f1f3f5;
}
.navbar-header .navbar-search {
    flex: 1 1 auto;
    margin: 0 auto;
}
@media (max-width: 991px) {
    .navbar-header .navbar-search {
        width: 100%;
        order: 999;
    }
    body.has-offcanvas #site-menu .navbar-header .navbar-search-header {
        display: none;
    }
    .offcanvas .offcanvas-body {
        padding-top: 0;
        overflow-y: auto;
    }
    .offcanvas .navbar-search-mobile {
        display: block;
        width: 100%;
        margin: 0 0 1em;
        padding-top: 0.25em;
    }
    .offcanvas .navbar-search-mobile .input-group {
        background-color: #f1f3f5;
    }
}
@media (min-width: 992px) {
    .navbar-header .navbar-search {
        max-width: 600px;
    }
}
.navbar-header .navbar-icon {
    font-size: 1.5em;
}
#cart {
    position: relative;
    display: inline-block;
}
#cart > a {
    position: relative;
    display: flex;
    align-items: center;
    padding: 4px;
    border: 1px transparent solid;
    border-radius: var(--border-radius);
    color: inherit;
    white-space: nowrap;
}
#cart > a:hover {
    border-color: var(--default-border-color);
    text-decoration: none;
}
#cart img {
    max-width: 2em;
    max-height: 2em;
}
@media (min-width: 768px) {
    #cart img {
        font-size: 1.5em;
    }
}
#cart .badge {
    background: #c90000;
    border-radius: 2rem;
    padding: 0.25em 0em;
    display: inline-block;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 15px;
    right: -10px;
    width: 2em;
    animation: pulsating 1.5s linear infinite;
    font-size: 10px;
}
#cart .badge:empty {
    display: none;
}
@media (max-width: calc(768px - 1px)) {
    #cart .details {
        display: none;
    }
}
@media (max-width: calc(992px)) {
    #cart #cart .badge {
        top: 15px;
        right: 0;
    }
}
#sidebar {
    position: relative;
    display: flex;
    flex-flow: column;
}
#footer {
    background-color: var(--footer-background-color);
    color: var(--footer-text-color);
    padding: var(--gutter-y) var(--gutter-x);
}
#footer a {
    color: inherit;
}
#footer .columns {
    display: grid;
    margin-bottom: 0;
    grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
    grid-gap: var(--gutter-x);
}
@media (min-width: 768px) {
    #footer .columns {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (min-width: 992px) {
    #footer .columns {
        grid-template-columns: repeat(5, 1fr);
    }
}
#footer .title {
    font-size: 1.5em;
    margin: 0 0 0.75em 0;
    color: var(--footer-title-color);
}
#footer ul.list-vertical li {
    padding: 0;
}
#copyright {
    background: var(--copyright-background-color);
    color: var(--copyright-text-color);
}
#copyright .container {
    padding: 0.75em var(--gutter-x);
}
#copyright .notice {
    text-align: center;
}
#copyright .notice a {
    color: inherit;
    text-decoration: underline;
}
#scroll-up {
    bottom: 30px;
    display: none;
    height: 48px;
    opacity: 0.3;
    position: fixed;
    right: 30px;
    width: 48px;
}
/* Boxes */
.box {
    margin-bottom: var(--gutter-y);
}
#box-filter .filters {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}
#box-filter .filters > * {
    flex: 1 1 auto;
    min-width: fit-content;
}
#box-filter .filters [data-toggle="dropdown"] {
    cursor: pointer;
}
#box-filter .filters .dropdown-menu li {
    margin: 0.5em 1em;
}
#box-filter .filters .dropdown-menu .option {
    white-space: nowrap;
}
#box-filter .manufacturers ul {
    max-height: 200px;
    overflow-y: auto;
}
#box-filter .tokens:not(:empty) {
    padding-top: var(--gutter-y);
}
#box-filter .tokens .token {
    padding: 0.5em 1em;
    border-radius: var(--border-radius);
    cursor: default;
    margin-inline-end: 0.5em;
}
#box-filter .tokens .token[data-group="name"] {
    background: #cbe2b6;
}
#box-filter .tokens .token[data-group="manufacturer"] {
    background: #b6c2e2;
}
#box-filter .tokens .token[data-group^="attribute"] {
    background: #e2c6b6;
}
#box-filter .tokens .token .remove {
    padding-inline-start: 0.5em;
    color: inherit;
    font-weight: 600;
}
#box-cookie-notice {
    background: var(--cookie-notice-background-color);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1em;
    backdrop-filter: saturate(200%) blur(5px);
    color: var(--cookie-notice-text-color);
    z-index: 999;
}
#box-cookie-notice .notice {
    margin-bottom: 1em;
}
#box-cookie-notice .notice a {
    color: inherit;
    text-decoration: underline;
}
#box-cookie-notice button {
    margin: 0 0.5em;
}
@media (min-width: 768px) {
    #box-cookie-notice {
        max-width: 480px;
        margin: 0 auto;
        bottom: var(--gutter-y);
        border-radius: var(--border-radius);
    }
}
#box-recently-viewed-products .link img {
    transition: all 100ms linear;
}
#box-recently-viewed-products .link img:hover {
    transform: scale(1.05);
    box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
}
@media (min-width: 992px) {
    #box-also-purchased-products {
        position: sticky;
        top: 0;
    }
}
#box-manufacturer-logotypes img {
    max-height: 60px;
}
#box-recently-viewed-products .listing {
    grid-template-columns: repeat(auto-fill, minmax(48px, 0.5fr));
}
.listing {
    display: grid;
    grid-gap: calc(var(--gutter-x) / 2);
}
@media (min-width: 768px) {
    .listing {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}
.listing.products.columns {
    grid-template-columns: repeat(auto-fill, minmax(125px, 1fr));
}
@media (min-width: 768px) {
    .listing.products.columns {
        grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    }
}
@media (min-width: 992px) {
    .megamenu-panels .listing.products.columns {
        grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
    }
    .listing.products.columns {
        grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    }
}
.listing.products.rows {
    grid-auto-flow: row;
    grid-template-columns: initial;
}
.listing.categories {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}
@media (min-width: 992px) {
    .megamenu-panels .listing.categories {
        grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
    }
}
.listing.manufacturers {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}
@media (min-width: 768px) {
    .listing.manufacturers {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}
.listing h1,
.listing h2,
.listing h3 {
    padding-bottom: 0;
    border: none;
}
.listing a {
    color: inherit;
    text-decoration: none;
}
.listing .category,
.listing .manufacturer,
.listing .product {
    position: relative;
    overflow: hidden;
    background: var(--image-whitespace-color);
    border: 1px solid var(--default-border-color);
    border-radius: var(--border-radius);
    transform: scale(1);
    transition: all 100ms linear;
    color: inherit;
    text-decoration: none;
}
@media (min-width: 768px) {
    .listing .category:hover,
    .listing .manufacturer:hover,
    .listing .product:hover {
        box-shadow: 0 0.5rem 1rem 0 rgba(0, 0, 0, 0.15);
        transform: scale(1.01);
    }
}
.listing .category {
    position: relative;
    background: var(--whitespace-color);
}
.listing .category .caption {
    padding-bottom: calc(var(--gutter-y) / 2);
    text-align: center;
}
.listing .category .caption * {
    font-weight: normal;
    color: inherit;
    margin: 0;
}
.listing .manufacturer {
    position: relative;
    background: var(--whitespace-color);
}
.listing .manufacturer img {
    width: 100%;
    height: auto;
    padding: 1rem;
}
.listing .manufacturer .caption {
    margin: 0;
    padding: calc(var(--gutter-y) / 2) var(--gutter-x);
    background: #f2f2f2;
    color: var(--default-text-color);
    text-align: center;
}
.listing .product {
    position: relative;
    background: var(--whitespace-color);
}
.listing .product .link {
    text-decoration: none;
}
.listing .product .image-wrapper {
    background: var(--image-whitespace-color);
}
.listing .product .image-wrapper .sticker {
    position: absolute;
    top: 20px;
    left: -32px;
    width: 125px;
    padding: 0.25rem 0;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(-45deg);
}
.listing .product .image-wrapper .sticker.new {
    background: rgba(251, 184, 41, 0.9);
}
.listing .product .image-wrapper .sticker.sale {
    background: rgba(237, 60, 50, 0.9);
}
.listing .product .name,
.listing .category .name {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-direction: column;
    height: 52px;
    font-size: 1em;
    font-weight: 400;
    line-height: 115%;
    border-bottom: 0;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 14px;
    font-weight: 600;
    border-bottom: 0;
    color: var(--color_blue);
    height: 3.2em;
    line-height: 1.5em;
    padding: 5px;
}
.listing .product .manufacturer-name {
    color: var(--default-text-color);
    font-size: 0.9em;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    line-height: 200%;
    opacity: 0.75;
}
.listing .product .description {
    max-width: 640px;
    text-align: left;
}
.listing .product .stock-available .value {
    color: #009900;
}
.listing .product .stock-partly-available .value {
    color: #ff9900;
}
.listing .product .stock-unavailable .value {
    color: #cc0000;
}
.listing .product .price-wrapper {
    font-size: 1.25em;
    margin-top: 5px;
    color: #0d79ed;
}
.listing .product .price-wrapper .price {
    font-weight: bold;
    white-space: nowrap;
}
.listing .product .price-wrapper .regular-price,
.listing .product .price-wrapper .recommended-price {
    color: var(--default-text-color);
    font-size: 0.75em;
    font-weight: normal;
    white-space: nowrap;
}
.listing .product .price-wrapper .campaign-price {
    font-weight: bold;
    color: #c00;
    white-space: nowrap;
}
.listing .product .preview {
    margin: 0 -1px -1px -1px;
    display: none;
    position: absolute;
    top: 1em;
    right: 1em;
    padding: var(--input-padding-y);
    width: 3em;
    box-shadow: none;
}
@media (min-width: 768px) {
    .listing .product:hover .preview {
        display: inline-block;
    }
}
.listing.columns .product .image {
    width: 100%;
    height: auto;
}
.listing.columns .product .info {
    padding: 0.5rem 0;
    text-align: center;
}
.listing.columns .product .description {
    display: none;
}
.listing.columns .product .price-wrapper {
    position: initial;
}
.listing.rows .product .link {
    display: flex;
    gap: var(--gutter-x);
    padding: var(--gutter-y) var(--gutter-x);
}
.listing.rows .product .info {
    flex: 1 1 auto;
}
.listing.rows .product .image-wrapper {
    width: 175px;
}
@media (min-width: 768px) {
    .listing.rows .product .image-wrapper {
        width: 160px;
    }
}
@media (min-width: 768px) {
    .listing.rows .product {
        height: auto;
    }
    .listing.rows .product .description {
        margin-bottom: 1em;
    }
}
#box-product form[name="buy_now_form"] {
    padding: var(--gutter-y) var(--gutter-x);
    margin: 1em 0;
    border: 1px solid var(--default-border-color);
    border-radius: var(--border-radius);
}
#box-product .images {
    margin-bottom: var(--gutter-y);
}
#box-product .main-image {
    position: relative;
    background: var(--whitespace-color);
    overflow: hidden;
}
#box-product .main-image .sticker {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    top: 15px;
    left: -35px;
    padding: 0.25rem 0;
    position: absolute;
    text-align: center;
    text-transform: uppercase;
    transform: rotate(-45deg);
    width: 140px;
}
#box-product .main-image .sticker.new {
    background: rgba(251, 184, 41, 0.85);
}
#box-product .main-image .sticker.sale {
    background: rgba(237, 60, 50, 0.85);
}
#box-product .price-wrapper {
    font-size: 1.75em;
}
#box-product .price-wrapper .regular-price,
#box-product .price-wrapper .recommended-price {
    font-size: 0.75em;
}
#box-product .price-wrapper .campaign-price {
    color: #cc0000;
}
#box-product .tax {
    color: #999;
}
#box-product .stock-available .value {
    color: #009900;
}
#box-product .stock-partly-available .value {
    color: #ff9900;
}
#box-product .stock-unavailable .value {
    color: #cc0000;
}
#box-product .out-of-stock-notice {
    background: var(--default-background-color);
    border: 1px solid var(--default-border-color);
    padding: var(--gutter-y) var(--gutter-x);
    border-radius: var(--border-radius);
}
#box-product .stock-notice {
    margin-top: 1em;
    padding: 0.5em;
    border-radius: var(--border-radius);
    border: 1px #86cb00 solid;
    color: #86cb00;
}
#box-product .stock-notice:empty {
    display: none;
}
#box-product .stock-notice.warning {
    color: #c00;
    border-color: #c00;
}
#box-product .stock-notice .description {
    margin-top: 1em;
    font-size: 0.8em;
}
#box-product .social-bookmarks {
    font-size: 1.75em;
    margin-top: 1em;
}
#box-product .social-bookmarks a {
    margin: 0 0.25em;
}
#box-product .description p:first-child {
    margin-top: 0;
}
#box-product .description p:last-child {
    margin-bottom: 0;
}
#box-product .description a {
    text-decoration: underline;
}

/* Megamenu */
.navbar-nav .megamenu .dropdown-menu {
    width: auto;
    min-width: 100%;
    padding: 0;
    border-radius: var(--border-radius);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    background: #fff;
}

@media (min-width: 992px) {
    .navbar-nav .megamenu .dropdown-menu {
        width: 1280px;
        max-width: calc(100vw - 2rem);
        overflow: hidden;
    }

    .megamenu-wrapper {
        display: flex;
        max-height: 80vh;
        overflow: hidden;
    }

    .megamenu-nav {
        width: 320px;
        background: #f8f9fa;
        border-right: 1px solid var(--default-border-color);
        flex-shrink: 0;
        padding: 0;
        margin: 0;
        list-style: none;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .megamenu-link {
        display: block;
        padding: 12px 20px;
        color: var(--default-text-color);
        font-weight: 500;
        text-decoration: none;
        transition: all 0.15s;
        width: 100%;
        cursor: pointer;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        box-sizing: border-box;
    }

    .megamenu-item.active .megamenu-link,
    .megamenu-link:hover {
        background: #fff;
        color: var(--link-color);
        box-shadow: -4px 0 0 var(--link-color) inset;
    }

    .megamenu-panels {
        flex: 1 1 auto;
        background: #fff;
        overflow: hidden;
        border-radius: 0 8px 8px 0;
    }

    .megamenu-panel {
        display: none;
        padding: 24px;
        overflow-y: auto;
        overflow-x: hidden;
        max-height: 70vh;
    }

    .megamenu-panel.active {
        display: block;
    }
}

@media (max-width: 991px) {
    .navbar-nav .megamenu .dropdown-menu {
        box-shadow: none;
        border-radius: 0;
        width: 100vw;
        max-width: 100vw;
        left: 0 !important;
        right: 0 !important;
        height: auto;
    }

    .megamenu-wrapper {
        display: block;
        width: 100%;
        height: auto;
    }

    .megamenu-wrapper.mobile-panel-open .megamenu-nav {
        display: none;
    }

    .megamenu-wrapper.mobile-panel-open .megamenu-panels {
        display: block;
    }

    .megamenu-nav {
        width: 100%;
        background: #f8f9fa;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .megamenu-panels {
        width: 100%;
        background: #fff;
        display: none;
    }

    .megamenu-panel {
        width: 100%;
        padding: 15px;
        box-sizing: border-box;
        display: none;
    }

    .megamenu-panel.active {
        display: block;
    }

    /* Improve mobile product grid layout */
    .megamenu-panels .listing.products.columns {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .megamenu-panels .listing.categories.columns {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }
}

.megamenu-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid var(--default-border-color);
    color: var(--default-text-color);
    font-weight: 600;
    text-decoration: none;
}

.megamenu-link:after {
    content: "›";
    opacity: 0.6;
    font-size: 1.25em;
    line-height: 1;
}

.megamenu-panels {
    background: #f8f9fa;
    overflow-y: auto;
}

.megamenu-panel {
    display: none;
    padding: 15px;
}

.megamenu-panel.active {
    display: block;
}

/* Mobile panel header improvements */
.panel-header {
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.panel-title-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
}

.panel-category-image,
.panel-category-icon {
    width: 32px;
    height: 32px;
    border-radius: 4px;
    object-fit: cover;
}

.panel-category-icon {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #868e96;
}

.panel-header h3 {
    font-size: 1.1em;
    margin: 0;
}

.panel-view-all {
    display: inline-block;
}

/* Mobile subcategory grid improvements */
.subcategory-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.subcategory-item {
    background: #fff;
    border-radius: 8px;
    padding: 12px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s;
}

.subcategory-item:active {
    transform: scale(0.98);
}

.subcategory-item .img-wrapper {
    width: 60px;
    height: 60px;
    margin: 0 auto 8px;
    border-radius: 6px;
}

.subcategory-item .title {
    font-size: 0.85em;
    font-weight: 500;
    line-height: 1.2;
}

.subcategory-item .price {
    font-size: 0.8em;
    font-weight: 600;
    margin-top: 4px;
}

/* Mobile View All Button */
.mobile-view-all {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--default-border-color);
}

.panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--default-border-color);
}

.panel-title-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1 1 auto;
}

.panel-category-image {
    width: 40px;
    height: 40px;
    border-radius: 6px;
    object-fit: cover;
    flex-shrink: 0;
}

.panel-category-icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    color: #868e96;
    font-size: 20px;
    flex-shrink: 0;
}

.panel-header .panel-title {
    flex: 1 1 auto;
    text-decoration: none;
    color: inherit;
}

.panel-header h3 {
    margin: 0;
    font-size: 1.35em;
    color: var(--default-text-color);
}

.panel-header .panel-view-all {
    white-space: nowrap;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95em;
}

.panel-header .megamenu-back {
    padding: 0.25em 0.5em;
}

/* Subcategory Grid */
.subcategory-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 20px;
}

.subcategory-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: var(--default-text-color);
    padding: 15px;
    border-radius: var(--border-radius);
    transition: all 0.2s;
    background: #fff;
    border: 1px solid transparent;
}

.subcategory-item:hover {
    background: #f8f9fa;
    border-color: var(--default-border-color);
    transform: translateY(-2px);
    text-decoration: none;
    color: var(--link-color);
}

.subcategory-item .img-wrapper {
    width: 100px;
    height: 100px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
    background: #f8f9fa;
    border: 1px solid #e9ecef;
}

.subcategory-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.subcategory-item .no-image {
    width: 80px;
    height: 80px;
    background: #f1f3f5;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
    font-size: 32px;
}

.subcategory-item .title {
    font-weight: 500;
    line-height: 1.3;
    font-size: 0.9em;
    margin-bottom: 5px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.subcategory-item .price {
    font-size: 0.9em;
    color: #333;
    font-weight: 600;
}

.subcategory-item .campaign-price {
    color: #c00;
}

.subcategory-item .regular-price {
    color: #999;
    font-weight: normal;
    font-size: 0.9em;
}

/* Fix for mobile accordion */
@media (max-width: 991px) {
    .panel-header h3 {
        font-size: 1.1em;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================
   TuttoLed 2026 visual refresh
   Catalog-only presentation layer. Checkout templates untouched.
   ========================================================== */

:root {
    --tl-blue: #0b63ce;
    --tl-blue-dark: #073b82;
    --tl-ink: #162033;
    --tl-muted: #687386;
    --tl-surface: #ffffff;
    --tl-soft: #f4f7fb;
    --tl-border: #e3e9f1;
    --tl-radius: 14px;
    --tl-shadow: 0 8px 28px rgba(20, 44, 82, 0.08);
    --tl-shadow-hover: 0 14px 35px rgba(20, 44, 82, 0.14);
}

body {
    color: var(--tl-ink);
    background: var(--tl-soft);
}

#content-wrapper {
    margin: 0;
}

.fourteen-forty {
    width: min(100%, 1440px);
    margin-left: auto;
    margin-right: auto;
}

#important-notice {
    background: linear-gradient(90deg, #081d3b, #0b63ce);
    font-weight: 700;
    letter-spacing: .01em;
}

#important-notice .fourteen-forty {
    padding-top: .65rem;
    padding-bottom: .65rem;
}

#site-menu {
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--tl-border);
    box-shadow: 0 3px 16px rgba(25, 47, 76, .06);
}

.navbar-header {
    background: #fff;
}

@media (min-width: 992px) {
    #site-menu .navbar {
        margin-top: 6.85em;
    }
    .navbar-header {
        top: -5.55rem;
        min-height: 74px;
    }
}

.navbar-header .logotype img {
    object-fit: contain;
}

.navbar-header form[name="search_form"] .input-group,
.offcanvas .navbar-search-mobile .input-group {
    background: #f5f7fb;
    border: 1px solid var(--tl-border);
    border-radius: 999px;
    box-shadow: inset 0 1px 2px rgba(20,44,82,.03);
    overflow: hidden;
}

.navbar-header .navbar-icon {
    color: var(--tl-blue-dark);
}

#cart > a,
.navbar-header > a:not(.logotype) {
    border-radius: 10px;
    transition: background .18s ease, transform .18s ease;
}

#cart > a:hover,
.navbar-header > a:not(.logotype):hover {
    background: #f1f5fb;
    transform: translateY(-1px);
}

.navbar-nav > .nav-item > .nav-link {
    font-weight: 700;
    letter-spacing: .01em;
    border-radius: 9px;
}

.navbar-nav > .nav-item > .nav-link:hover {
    background: #eef5ff;
    color: var(--tl-blue-dark);
}

#content {
    padding-top: 1.1rem;
    padding-bottom: 2rem;
}

#content > .card,
#content > section.card {
    background: var(--tl-surface);
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
    overflow: hidden;
    margin-bottom: 1.35rem;
}

.card > .card-header,
.card > .card-body {
    border-color: var(--tl-border);
}

.card .card-title,
.card h1,
.card h2,
.card h3 {
    color: var(--tl-ink);
}

/* Homepage carousel / banner */
#box-slides,
#box-slides .carousel,
#box-slides .carousel-inner,
#box-slides .item,
#box-slides img {
    border-radius: var(--tl-radius);
}

#box-slides {
    overflow: hidden;
    box-shadow: var(--tl-shadow);
    margin-bottom: 1.35rem;
}

/* Featured categories */
#box-featured-categories {
    border: 0 !important;
}

#box-featured-categories .card-body {
    padding: clamp(.75rem, 2vw, 1.3rem);
}

#box-featured-categories .row {
    row-gap: .75rem;
}

#box-featured-categories .no-images,
#box-featured-categories .images {
    min-height: 74px;
    background: linear-gradient(135deg, #fff, #f7faff);
    border: 1px solid var(--tl-border) !important;
    border-radius: 12px !important;
    color: var(--tl-ink) !important;
    box-shadow: 0 2px 8px rgba(20,44,82,.04);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

#box-featured-categories .no-images:hover,
#box-featured-categories .images:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--tl-shadow-hover) !important;
    border-color: #c9daf2 !important;
}

#box-featured-categories .caption h3 {
    color: var(--tl-ink);
    font-weight: 700;
    line-height: 1.25;
}

/* Product grids */
.listing.products.columns {
    grid-gap: 14px;
}

@media (min-width: 768px) {
    .listing.products.columns {
        grid-template-columns: repeat(auto-fill, minmax(205px, 1fr));
    }
}

.listing .product {
    border: 1px solid var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: 0 3px 12px rgba(20,44,82,.05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

@media (min-width: 768px) {
    .listing .product:hover {
        transform: translateY(-5px);
        box-shadow: var(--tl-shadow-hover);
        border-color: #cbd9eb;
    }
}

.listing .product .image-wrapper {
    padding: .75rem .75rem 0;
    background: #fff;
}

.listing.columns .product .image {
    border-radius: 9px;
}

.listing.columns .product .info {
    padding: .65rem .8rem .9rem;
    text-align: left;
}

.listing .product .name {
    justify-content: flex-start;
    padding: 0;
    height: 3.1em;
    color: var(--tl-ink);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45em;
}

.listing .product .manufacturer-img {
    margin-top: .35rem !important;
}

.listing .product .price-wrapper {
    margin-top: .55rem;
    color: var(--tl-blue);
    font-size: 1.3em;
    line-height: 1.15;
}

.listing .product .price-wrapper .campaign-price {
    color: #d62d2d;
}

.listing .product .image-wrapper .sticker {
    top: 18px;
    left: -34px;
    width: 132px;
    box-shadow: 0 2px 7px rgba(0,0,0,.15);
}

.listing .product .preview {
    border-radius: 999px;
    background: #fff;
    border-color: var(--tl-border);
    box-shadow: 0 6px 20px rgba(20,44,82,.13);
}

/* Product detail */
#box-product .main-image,
#box-product form[name="buy_now_form"] {
    background: #fff;
    border-color: var(--tl-border);
    border-radius: var(--tl-radius);
    box-shadow: var(--tl-shadow);
}

#box-product .main-image {
    padding: .7rem;
}

#box-product form[name="buy_now_form"] {
    padding: clamp(1rem, 2vw, 1.45rem);
}

#box-product .price-wrapper {
    color: var(--tl-blue-dark);
    font-weight: 700;
}

.btn-primary,
button.btn-primary,
input.btn-primary {
    background: var(--tl-blue);
    border-color: var(--tl-blue);
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(11,99,206,.18);
    font-weight: 700;
}

.btn-primary:hover,
button.btn-primary:hover,
input.btn-primary:hover {
    background: var(--tl-blue-dark);
    border-color: var(--tl-blue-dark);
}

/* Breadcrumbs and filters */
.breadcrumb,
.breadcrumbs,
#box-filter {
    border-radius: 10px;
}

#box-filter {
    background: #fff;
    border: 1px solid var(--tl-border);
}

/* Newsletter / supporting blocks */
#box-newsletter-subscribe,
#box-manufacturer-logotypes {
    border-radius: var(--tl-radius);
}

/* Footer */
#footer {
    margin-top: 1rem;
    padding-top: 2.4rem;
    padding-bottom: 2.2rem;
    background: #0c1e35;
    color: #dce6f3;
}

#footer .title {
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .02em;
}

#footer a {
    color: #dce6f3;
    opacity: .9;
}

#footer a:hover {
    color: #fff;
    opacity: 1;
}

#copyright {
    background: #071426;
    color: #aebdd0;
}

#copyright .notice {
    padding-top: .9rem;
    padding-bottom: .9rem;
}

#scroll-up {
    opacity: .7;
}

/* Mobile refinement */
@media (max-width: 767px) {
    #content {
        padding-top: .65rem;
    }

    #content > .card,
    #content > section.card,
    #box-slides {
        border-radius: 10px;
        margin-bottom: .85rem;
    }

    .listing.products.columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .listing.columns .product .info {
        padding: .5rem .55rem .7rem;
    }

    .listing .product .image-wrapper {
        padding: .4rem .4rem 0;
    }

    .listing .product .name {
        font-size: 12.5px;
        height: 3.05em;
    }

    .listing .product .price-wrapper {
        font-size: 1.12em;
    }

    #box-featured-categories .no-images,
    #box-featured-categories .images {
        min-height: 58px;
    }
}

/* ==========================================================
   TUTTOLED 2026 - PROFESSIONAL HOME EXPERIENCE
   Hero + 3 promo banners + responsive image category menu
   ========================================================== */

/* Main hero */
#box-slides {
    position: relative;
    overflow: hidden;
    margin: 0 0 18px;
    border: 0;
    border-radius: 18px;
    background: #081323;
    box-shadow: 0 18px 46px rgba(9, 28, 54, .14);
}

#box-slides .carousel-inner,
#box-slides .item {
    width: 100%;
}

#box-slides .item > a,
#box-slides .item > img,
#box-slides .item > a > img {
    display: block;
    width: 100%;
}

#box-slides .item img {
    width: 100% !important;
    height: clamp(370px, 36vw, 560px);
    object-fit: cover;
    object-position: center;
}

#box-slides .item:after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(3, 14, 30, .62) 0%, rgba(3, 14, 30, .2) 46%, rgba(3, 14, 30, 0) 72%);
}

#box-slides .carousel-caption {
    z-index: 2;
    left: 7%;
    right: 48%;
    bottom: 50%;
    transform: translateY(50%);
    padding: 0;
    text-align: left;
    text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

#box-slides .carousel-caption h1,
#box-slides .carousel-caption h2,
#box-slides .carousel-caption h3 {
    margin: 0 0 .3em;
    color: #fff;
    font-weight: 700;
    line-height: 1.04;
    letter-spacing: -.025em;
}

#box-slides .carousel-caption p {
    max-width: 580px;
    color: rgba(255,255,255,.9);
    font-size: 1.05em;
}

#box-slides .carousel-control {
    width: 7%;
    opacity: 0;
    transition: opacity .2s ease;
    background: none;
}

#box-slides:hover .carousel-control { opacity: .8; }

#box-slides .carousel-indicators {
    bottom: 13px;
}

#box-slides .carousel-indicators li {
    width: 24px;
    height: 4px;
    margin: 0 3px;
    border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.55);
}

#box-slides .carousel-indicators .active {
    width: 42px;
    height: 4px;
    background: #fff;
}

/* Three editorial promo banners */
#home-promo-banners {
    margin: 0 0 34px;
}

.tl-promo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.tl-promo-card {
    position: relative;
    display: block;
    min-height: 255px;
    overflow: hidden;
    border-radius: 16px;
    background: #0d213c;
    box-shadow: 0 11px 30px rgba(19, 42, 72, .11);
    color: #fff !important;
    text-decoration: none !important;
    isolation: isolate;
}

.tl-promo-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .55s cubic-bezier(.2,.65,.3,1);
}

.tl-promo-card:hover img {
    transform: scale(1.055);
}

.tl-promo-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(6,18,34,.05) 10%, rgba(4,15,29,.78) 100%);
}

.tl-promo-content {
    position: absolute;
    z-index: 2;
    left: 22px;
    right: 22px;
    bottom: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.tl-promo-content small,
.tl-eyebrow {
    margin-bottom: 7px;
    color: #94c4ff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .15em;
}

.tl-promo-content strong {
    color: #fff;
    font-size: clamp(19px, 1.6vw, 27px);
    line-height: 1.08;
    font-weight: 700;
}

.tl-promo-content em {
    display: block;
    margin-top: 7px;
    color: rgba(255,255,255,.78);
    font-size: 12px;
    line-height: 1.35;
    font-style: normal;
}

.tl-promo-link {
    display: inline-block;
    margin-top: 13px;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(255,255,255,.65);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
}

/* Professional visual category menu */
#box-featured-categories.tl-category-section {
    margin: 0 0 38px;
    padding: 26px;
    border: 1px solid #e8edf4;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(19,42,72,.07);
}

.tl-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    margin-bottom: 20px;
}

.tl-section-heading h2 {
    margin: 0;
    color: #10243f;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.05;
    letter-spacing: -.025em;
}

.tl-section-heading p {
    max-width: 510px;
    margin: 0;
    color: #6b7888;
    font-size: 13px;
    line-height: 1.55;
}

.tl-eyebrow {
    display: block;
    color: #0b63ce;
}

.tl-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.tl-category-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border-radius: 14px;
    background: #eef3f8;
}

.tl-category-card a {
    position: relative;
    display: block;
    min-height: 210px;
    overflow: hidden;
    color: #fff !important;
    text-decoration: none !important;
}

.tl-category-media,
.tl-category-media img,
.tl-category-placeholder,
.tl-category-overlay {
    position: absolute;
    inset: 0;
}

.tl-category-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.tl-category-card:hover .tl-category-media img {
    transform: scale(1.06);
}

.tl-category-placeholder {
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #dce7f4, #f4f8fb);
    color: #7393b7;
    font-size: 50px;
}

.tl-category-overlay {
    background: linear-gradient(180deg, rgba(5,20,38,0) 40%, rgba(5,20,38,.76) 100%);
}

.tl-category-name {
    position: absolute;
    z-index: 2;
    left: 16px;
    right: 42px;
    bottom: 15px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.15;
    text-shadow: 0 1px 5px rgba(0,0,0,.24);
}

.tl-category-arrow {
    position: absolute;
    z-index: 2;
    right: 15px;
    bottom: 13px;
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
    color: #fff;
    line-height: 1;
    transition: background .2s ease, transform .2s ease;
}

.tl-category-card:hover .tl-category-arrow {
    background: #fff;
    color: #0b63ce;
    transform: translateX(2px);
}

/* Keep credibility area quieter than merchandising */
#box-features {
    margin-top: 6px;
}

#box-features .features-intro {
    border-radius: 14px;
}

@media (max-width: 991px) {
    #box-slides .item img {
        height: clamp(330px, 48vw, 460px);
    }

    #box-slides .carousel-caption {
        right: 35%;
    }

    .tl-promo-card {
        min-height: 220px;
    }

    .tl-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .tl-category-card a {
        min-height: 190px;
    }
}

@media (max-width: 767px) {
    #box-slides {
        margin-left: -2px;
        margin-right: -2px;
        border-radius: 13px;
    }

    #box-slides .item img {
        height: min(72vw, 390px);
        min-height: 270px;
    }

    #box-slides .item:after {
        background: linear-gradient(180deg, rgba(3,14,30,.03) 25%, rgba(3,14,30,.7) 100%);
    }

    #box-slides .carousel-caption {
        left: 20px;
        right: 20px;
        bottom: 34px;
        transform: none;
    }

    #box-slides .carousel-caption h1,
    #box-slides .carousel-caption h2,
    #box-slides .carousel-caption h3 {
        font-size: 24px;
    }

    #box-slides .carousel-caption p {
        margin-bottom: 0;
        font-size: 13px;
    }

    #home-promo-banners {
        overflow: hidden;
        margin-right: -15px;
    }

    .tl-promo-grid {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding-right: 15px;
        padding-bottom: 4px;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .tl-promo-grid::-webkit-scrollbar { display: none; }

    .tl-promo-card {
        flex: 0 0 78vw;
        min-height: 205px;
        scroll-snap-align: start;
    }

    .tl-promo-content {
        left: 17px;
        right: 17px;
        bottom: 16px;
    }

    #box-featured-categories.tl-category-section {
        padding: 18px 14px;
        border-radius: 14px;
    }

    .tl-section-heading {
        display: block;
        margin-bottom: 15px;
    }

    .tl-section-heading p {
        margin-top: 8px;
        font-size: 12px;
    }

    .tl-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .tl-category-card a {
        min-height: 155px;
    }

    .tl-category-name {
        left: 12px;
        right: 36px;
        bottom: 12px;
        font-size: 13px;
    }

    .tl-category-arrow {
        right: 10px;
        bottom: 10px;
        width: 25px;
        height: 25px;
        font-size: 12px;
    }
}

@media (max-width: 420px) {
    .tl-promo-card {
        flex-basis: 84vw;
    }

    .tl-category-card a {
        min-height: 138px;
    }
}

/* ==========================================================
   TUTTOLED 2026 - MOBILE FIX V3
   Banner responsive + promo full width + no horizontal overflow
   ========================================================== */
@media (max-width: 767px) {
    html, body {
        max-width: 100%;
        overflow-x: hidden;
    }

    #box-slides,
    #box-slides .carousel-inner,
    #box-slides .item,
    #box-slides .item > a {
        width: 100% !important;
        max-width: 100% !important;
    }

    #box-slides {
        margin-left: 0 !important;
        margin-right: 0 !important;
        border-radius: 12px;
    }

    /* Sul telefono il banner mantiene le proporzioni originali: niente tagli laterali. */
    #box-slides .item img,
    #box-slides .item > a > img {
        display: block;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        object-fit: contain !important;
        object-position: center center !important;
    }

    /* I 3 banner non scorrono fuori schermo: uno sotto l'altro, larghi 100%. */
    #home-promo-banners {
        width: 100%;
        margin-right: 0 !important;
        overflow: visible !important;
    }

    .tl-promo-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 10px;
        width: 100%;
        overflow: visible !important;
        padding: 0 !important;
    }

    .tl-promo-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        aspect-ratio: 16 / 8.5;
        flex: none !important;
        border-radius: 12px;
    }

    .tl-promo-card img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center !important;
    }

    #box-featured-categories.tl-category-section {
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        padding: 16px 10px;
    }

    .tl-category-grid {
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px;
    }

    .tl-category-card,
    .tl-category-card a {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 420px) {
    .tl-promo-card {
        aspect-ratio: 16 / 9.5;
    }

    .tl-promo-content {
        left: 14px;
        right: 14px;
        bottom: 13px;
    }

    .tl-promo-content em {
        display: none;
    }

    .tl-category-card a {
        min-height: 145px;
    }
}


/* TUTTOLED 2026 - APPROVED HOME V4 */
.tl-hero-composition{display:grid;grid-template-columns:minmax(0,2.08fr) minmax(310px,1fr);gap:16px;align-items:stretch;margin:0 0 18px}.tl-hero-main,.tl-hero-side{min-width:0}.tl-hero-composition #box-slides{height:100%;margin:0;border-radius:16px;box-shadow:0 10px 30px rgba(17,54,101,.10)}.tl-hero-composition #box-slides .carousel-inner,.tl-hero-composition #box-slides .item{height:100%}.tl-hero-composition #box-slides .item img{height:100%!important;min-height:430px;object-fit:cover}.tl-hero-side #home-promo-banners{height:100%;margin:0}.tl-hero-side .tl-promo-grid{height:100%;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}.tl-hero-side .tl-promo-card{min-height:0;height:100%;border-radius:15px;box-shadow:0 8px 22px rgba(17,54,101,.08)}.tl-hero-side .tl-promo-content{left:20px;right:20px;bottom:16px}.tl-hero-side .tl-promo-content strong{font-size:clamp(16px,1.25vw,21px)}.tl-hero-side .tl-promo-content em{display:none}.tl-hero-side .tl-promo-link{margin-top:7px}
#box-featured-categories.tl-category-section{border:0;padding:28px 0 8px;box-shadow:none;background:transparent}.tl-section-heading{align-items:center}.tl-section-heading h2{color:#0c2344}.tl-category-card{border:1px solid #e2e9f3;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(23,61,111,.055);transition:transform .2s ease,box-shadow .2s ease}.tl-category-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(23,61,111,.11)}.tl-category-card a{min-height:260px;color:#0c2344!important;background:#fff}.tl-category-media{bottom:72px;background:#f5f8fc;overflow:hidden}.tl-category-media img{object-fit:contain;padding:8px}.tl-category-overlay{display:none}.tl-category-name{left:16px;right:52px;bottom:39px;color:#0c2344;text-shadow:none;font-size:15px}.tl-category-arrow{right:14px;bottom:21px;border-color:#d7e3f2;color:#0966dc;background:#fff}.tl-category-card:hover .tl-category-arrow{background:#0966dc;color:#fff}.tl-category-extra{display:none}.tl-category-extra.tl-category-extra-visible{display:block}.tl-all-categories-wrap{display:flex;justify-content:center;padding:18px 0 5px}.tl-all-categories-btn{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:10px;padding:12px 22px;background:linear-gradient(135deg,#0754bd,#0878f5);color:#fff;font-weight:700;font-size:12px;box-shadow:0 8px 18px rgba(7,99,218,.2);cursor:pointer}
#site-menu{background:#fff;border-bottom:1px solid #e8edf5;box-shadow:0 3px 14px rgba(15,48,91,.045)}.navbar-sticky{padding-top:10px;padding-bottom:8px}.navbar-header .logotype img{max-height:58px;width:auto}.navbar-search-header input{border-radius:999px!important;border:1px solid #dce4ef!important;background:#fbfcfe!important;box-shadow:none!important}.navbar-icon{color:#075dcc}.navbar-nav>.nav-item>.nav-link{font-weight:600}.navbar-nav>.nav-item.categories>.nav-link{border-radius:9px;background:linear-gradient(135deg,#0754bd,#0878f5);color:#fff!important;padding-left:18px;padding-right:18px}
@media(max-width:991px){.tl-hero-composition{grid-template-columns:1fr;gap:10px}.tl-hero-composition #box-slides .item img{min-height:0;height:auto!important;object-fit:contain}.tl-hero-side .tl-promo-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:1fr}.tl-hero-side .tl-promo-card{aspect-ratio:16/8.5}}
@media(max-width:767px){.tl-hero-composition{width:100%}.tl-hero-side .tl-promo-grid{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:none}.tl-hero-side .tl-promo-card{width:100%!important;aspect-ratio:16/8.5}.tl-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.tl-category-card a{min-height:205px!important}.tl-category-media{bottom:66px}.tl-category-name{left:11px;right:42px;bottom:34px;font-size:12px}.tl-category-arrow{right:9px;bottom:17px;width:27px;height:27px}.tl-section-heading{display:block}}


/* ==========================================================
   TUTTOLED 2026 - PROFESSIONAL V5
   Approved white/blue header + native backend-managed media
   ========================================================== */
:root{--tl-v5-blue:#075fd7;--tl-v5-blue2:#0a79f5;--tl-v5-navy:#09264d;--tl-v5-text:#10233f;--tl-v5-line:#e4ebf4;--tl-v5-soft:#f6f9fd}
#site-menu{overflow:visible;background:#fff!important}.navbar-sticky{position:relative;padding:0!important}.tl-service-topbar{position:absolute;left:50%;top:-8.25rem;transform:translateX(-50%);width:100vw;height:42px;background:linear-gradient(90deg,#0b60d5,#0644a4);color:#fff;z-index:2}.tl-service-topbar-left{width:min(1440px,100%);height:100%;margin:auto;display:flex;align-items:center;gap:45px;padding:0 22px;font-size:13px;font-weight:700}.tl-service-topbar span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.tl-service-topbar svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:992px){#site-menu .navbar{margin-top:9rem!important}.navbar-header{top:-6.6rem!important;min-height:88px!important;padding:13px 18px!important;border-bottom:1px solid var(--tl-v5-line)}.navbar-header .logotype{width:280px!important;flex:0 0 280px!important}.navbar-header .logotype img{max-width:245px!important;max-height:66px!important}.navbar-header .navbar-search{max-width:none!important;flex:1 1 520px!important}.navbar-header form[name="search_form"] .input-group{height:50px;background:#fff!important;border:1px solid #d7e1ee!important;border-radius:999px!important;box-shadow:0 4px 16px rgba(23,61,111,.04)!important}.navbar-header form[name="search_form"] input{height:48px!important;padding-left:18px!important;font-size:14px}.navbar-header>a:not(.logotype),#cart>a{min-width:74px!important;padding:6px 8px!important;border:0!important;background:transparent!important}.navbar-header>a:not(.logotype):hover,#cart>a:hover{background:#f4f8fd!important;transform:none!important}.navbar-header .navbar-icon,#cart .navbar-icon{height:30px;display:flex;align-items:center;justify-content:center;color:#082b5a!important}.navbar-header small,#cart small{font-size:11px;color:#182b45;margin-top:2px}.tl-header-svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tl-desktop-quicknav{display:flex!important;align-items:center;gap:18px;min-height:64px;border-bottom:1px solid var(--tl-v5-line);background:#fff}.tl-allcats-link{display:inline-flex;align-items:center;gap:13px;padding:14px 22px;border-radius:10px;background:linear-gradient(135deg,var(--tl-v5-blue),var(--tl-v5-blue2));color:#fff!important;font-size:13px;font-weight:800;text-decoration:none!important;box-shadow:0 8px 18px rgba(7,99,218,.18)}.tl-burger{display:grid;gap:4px}.tl-burger i{display:block;width:21px;height:2px;background:#fff;border-radius:3px}.tl-quicklinks{display:flex;align-items:stretch;flex:1;min-width:0;height:52px}.tl-quicklink{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 auto;min-width:0;padding:7px 14px;border-left:1px solid var(--tl-v5-line);color:#14243d!important;font-size:11px;font-weight:800;text-decoration:none!important;white-space:nowrap}.tl-quicklink:hover{background:#f7faff;color:var(--tl-v5-blue)!important}.tl-quickicon{display:inline-flex;color:#0874e8}.tl-quickicon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.tl-offer-link{color:#e22b2b!important}.offcanvas{margin-top:0}.offcanvas>.offcanvas-body>.navbar-nav{display:none!important}}
#cart .badge.quantity{position:absolute;top:0;right:8px;min-width:18px;height:18px;line-height:18px;padding:0!important;background:#e10b16!important;color:#fff;font-size:10px;border-radius:999px}
.tl-home-benefits{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:12px 0 18px;border:1px solid var(--tl-v5-line);border-radius:16px;background:#fff;box-shadow:0 7px 24px rgba(22,57,102,.055);overflow:hidden}.tl-home-benefit{display:flex;align-items:center;gap:13px;padding:16px 18px;min-width:0}.tl-home-benefit+.tl-home-benefit{border-left:1px solid var(--tl-v5-line)}.tl-benefit-icon{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:#edf4ff;color:#0867df}.tl-benefit-icon svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.tl-home-benefit strong,.tl-home-benefit small{display:block}.tl-home-benefit strong{font-size:11px;line-height:1.2;color:#10233f}.tl-home-benefit small{margin-top:5px;font-size:10px;line-height:1.45;color:#64748b}
#box-featured-categories.tl-category-section{padding-top:22px!important}.tl-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}.tl-category-card a{min-height:260px!important}.tl-category-media{bottom:70px!important;background:#f3f7fc!important}.tl-category-media img{padding:10px!important;object-fit:contain!important}.tl-category-name{font-size:15px!important;font-weight:800!important}.tl-all-categories-btn{border-radius:9px!important;padding:13px 24px!important}
.tl-hero-composition{margin-top:12px!important}.tl-hero-composition #box-slides,.tl-hero-side .tl-promo-card{border-radius:15px!important}.tl-hero-side .tl-promo-card img{object-fit:cover!important}.tl-promo-shade{background:linear-gradient(90deg,rgba(6,28,61,.84) 0%,rgba(6,28,61,.42) 55%,rgba(6,28,61,.08) 100%)!important}
@media(max-width:1199px) and (min-width:992px){.tl-service-topbar-left{gap:24px}.navbar-header .logotype{width:230px!important;flex-basis:230px!important}.navbar-header .logotype img{max-width:210px!important}.tl-quicklink{font-size:10px;padding-left:9px;padding-right:9px}.tl-quickicon svg{width:20px;height:20px}.tl-home-benefit{padding:13px 10px}.tl-benefit-icon{flex-basis:38px;width:38px;height:38px}.tl-benefit-icon svg{width:23px;height:23px}}
@media(max-width:991px){#site-menu .navbar{padding:10px 12px!important}.navbar-header{gap:8px!important}.navbar-header .logotype img{max-width:185px!important;max-height:45px!important}.navbar-header .navbar-icon{font-size:1em!important}.tl-header-svg{width:25px;height:25px}.tl-home-benefits{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:13px}.tl-home-benefit{padding:12px 10px}.tl-home-benefit+.tl-home-benefit{border-left:0;border-top:1px solid var(--tl-v5-line)}.tl-home-benefit:nth-child(even){border-left:1px solid var(--tl-v5-line)}.tl-home-benefit:last-child{grid-column:1/-1}.tl-hero-composition{margin-top:5px!important}.tl-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.navbar-header .logotype img{max-width:145px!important;max-height:38px!important}.tl-home-benefits{grid-template-columns:1fr}.tl-home-benefit,.tl-home-benefit:nth-child(even){border-left:0!important;border-top:1px solid var(--tl-v5-line)}.tl-home-benefit:first-child{border-top:0!important}.tl-home-benefit:last-child{grid-column:auto}.tl-category-grid{gap:9px!important}.tl-category-card a{min-height:190px!important}.tl-category-media{bottom:62px!important}.tl-category-name{font-size:12px!important}.tl-hero-side .tl-promo-card{aspect-ratio:16/8.2!important}}
