/* Separate, replaceable presentation; all native product forms remain intact. */
/* One continuous row for both category navigation and its native collapse button. */
.baltesa-category-branch{padding:20px;background:#fff;border:1px solid #e3e5e8;border-radius:.7rem}
.baltesa-category-branch .left-block__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .375rem;
    min-block-size: 44px;
    margin: 0 0 14px;
    padding-inline: .625rem;
    border-bottom: 1px solid #e3e5e8;
    font-size: 1.05rem;
    line-height: 1.4;
}
.baltesa-category-branch .category-tree__list{margin:0;padding:0;list-style:none}
.baltesa-category-branch .category-tree__item{padding:0;margin:0 0 4px;border:0;background:transparent;min-width:0}
.baltesa-category-branch .category-tree__item-header{display:flex;align-items:stretch;padding:0;min-height:44px;border-radius:.4rem;background:#f6f7f8;overflow:hidden}
.baltesa-category-branch .category-tree__item-link{display:flex;align-items:center;flex:1;min-width:0;padding:11px 14px;line-height:1.4;font-size:.85rem;text-decoration:none;border-radius:0;background:transparent;color:inherit}
.baltesa-category-branch :is(.left-block__title-link, .category-tree__item-link) {
    overflow-wrap: anywhere;
}
.baltesa-category-branch .category-tree__item-header:hover{background:#f0e8e5}
.baltesa-category-branch .is-active-ancestor>.category-tree__item-header{background:#f4e8e4;color:#70281f}
.baltesa-category-branch .is-active-ancestor>.category-tree__item-header>a{font-weight:650;color:inherit}
.baltesa-category-branch .is-current>.category-tree__item-header{background:#96392f;color:#fff}
.baltesa-category-branch .is-current>.category-tree__item-header>a{background:transparent;color:inherit;font-weight:700;border-radius:0}
.baltesa-category-branch .accordion-body{padding:6px 0 6px 10px;border-inline-start:1px solid #e3d2ce;margin-inline-start:12px;background:transparent}
.baltesa-category-branch .accordion-body .category-tree__item-header{background:transparent}
.baltesa-category-branch .accordion-body .category-tree__item-header:hover{background:#f4e8e4}
.baltesa-category-branch .accordion-body .is-current>.category-tree__item-header{background:#96392f;color:#fff}
.baltesa-category-branch .accordion-body .is-active-ancestor>.category-tree__item-header{background:#f4e8e4;color:#70281f}
.baltesa-category-branch .accordion-button{align-self:stretch;width:44px;min-width:44px;flex:0 0 44px;padding:12px;background:transparent;color:inherit;box-shadow:none;border:0;border-inline-start:1px solid transparent;border-radius:0}
.baltesa-category-branch .is-current>.category-tree__item-header>.accordion-button{color:#fff;border-inline-start-color:#ffffff25}
.baltesa-category-branch .accordion-button::after {
    background: currentColor;
    mask: var(--bs-accordion-btn-icon) center / contain no-repeat;
}
.baltesa-category-branch .category-tree__item:not(.is-current) > .category-tree__item-header:has(> button[aria-expanded=true]) {
    background: #f4e8e4;
    color: #70281f;
}
.baltesa-category-branch .category-tree__item-header:has(> button[aria-expanded=true]) > .category-tree__item-link {
    font-weight: 650;
}
.baltesa-category-branch .is-current > .category-tree__item-header:has(> button[aria-expanded=true]) > .category-tree__item-link {
    font-weight: 700;
}
.baltesa-category-branch .left-block__title:has(> [aria-current=page], > button[aria-expanded=true]) {
    background: #f4e8e4;
    color: #70281f;
    border-radius: .4rem;
}
.baltesa-category-branch .left-block__title:has(> [aria-current=page], > button[aria-expanded=true]) > .left-block__title-link {
    color: inherit;
    font-weight: 700;
}
.baltesa-category-branch .category-tree__item-header>:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
/* Native counter, sort dropdown and view buttons share one wrapping toolbar. */
#js-product-list-top .products__selection{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 18px;padding:0;margin:20px 0}
#js-product-list-top .products__count{flex:1 1 150px;width:auto;font-size:.875rem}
#js-product-list-top .products__sort{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:auto;max-width:100%;flex-wrap:wrap;gap:10px;margin:0}
#js-product-list-top .products__sort-label{width:auto;flex:0 0 auto;font-size:.8rem;white-space:nowrap}
#js-product-list-top .products__sort-dropdown{width:225px;max-width:100%;flex:0 1 225px}
#js-product-list-top .products__sort-dropdown-button{width:100%;min-height:44px;padding:.65rem .85rem;font-size:.8rem}
.baltesa-listing-views{display:inline-flex;gap:2px;padding:3px;border:1px solid #dfe2e7;border-radius:.6rem;background:#fff;flex:0 0 auto}
.baltesa-listing-views .btn{display:grid;place-items:center;width:40px;min-width:40px;height:40px;min-height:40px;padding:0!important;border:0!important;border-radius:.38rem!important;margin:0!important;background:transparent;color:#626974;box-shadow:none}
.baltesa-listing-views svg {
    display: block;
    width: 20px;
    height: 20px;
    fill: currentColor;
    pointer-events: none;
}
.baltesa-page-size {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: .8rem;
}
.baltesa-page-size .dropdown-toggle {
    min-height: 44px;
    padding: .55rem .7rem;
    font-size: inherit;
}
.baltesa-page-size .dropdown-menu {
    min-width: 100%;
}
.products__pagination .pagination__container:has(.baltesa-pagination) {
    gap: .625rem 1rem;
    margin-block-start: 1.25rem;
    padding: .625rem .875rem;
    border: 1px solid #dfe2e7;
    border-radius: .7rem;
    background: #fff;
}
.products__pagination .pagination__number {
    font-size: .875rem;
    font-variant-numeric: tabular-nums;
}
.baltesa-pagination {
    --pager-gap: .25rem;
    --pager-width: 44px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--pager-gap);
}
.baltesa-pagination .pagination {
    justify-content: center;
    align-items: center;
    gap: var(--pager-gap);
    padding: 0;
    margin: 0;
}
.baltesa-pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: var(--pager-width);
    min-height: 44px;
    margin: 0;
    padding: .25rem;
    border: 1px solid #dfe2e7;
    border-radius: .45rem;
    background: #fff;
    color: #292d33;
    font-size: .875rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.baltesa-pagination .page-link:is(.previous, .next) {
    background: #f5f6f7;
}
.baltesa-pagination .page-link .material-icons {
    font-size: 1.25rem;
}
.baltesa-pagination .page-link[aria-current="page"] {
    border-color: #96392f;
    background: #96392f;
    color: #fff;
}
.baltesa-pagination .page-link:disabled {
    background: #f5f6f7;
    color: #68717c;
    opacity: .65;
}
.baltesa-pagination .page-link.js-pager-link:hover {
    border-color: #dcc3bd;
    background: #f4e8e4;
    color: #70281f;
}
.baltesa-pagination .page-link.js-pager-link:focus-visible {
    outline: 2px solid #96392f;
    outline-offset: 1px;
    box-shadow: none;
}
.baltesa-pagination__spacer {
    min-width: .75rem;
    color: #626974;
    text-align: center;
}
@media (max-width: 767.98px) {
    .products__pagination .pagination__container:has(.baltesa-pagination) {
        flex-direction: column;
        padding-inline: .375rem;
    }
    .products__pagination .pagination__nav {
        max-width: 100%;
    }
    .baltesa-pagination {
        --pager-gap: .125rem;
        --pager-width: 34px;
    }
}
.baltesa-listing-views .btn:hover{background:#f4e8e4;color:#70281f}
.baltesa-listing-views .btn[aria-pressed=true]{background:#96392f;color:#fff}
html:not([data-baltesa-listing-view]) .baltesa-listing-views [data-baltesa-view=grid]{background:#96392f;color:#fff}
html[data-baltesa-listing-view=list] #js-product-list .products,html[data-baltesa-listing-view=compact] #js-product-list .products{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
html[data-baltesa-listing-view=compact] #js-product-list .products{gap:7px}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__inner {
    --baltesa-thumbnail-inset: .5rem;
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr);
    height: auto;
    align-items: center;
    padding-inline-start: var(--baltesa-thumbnail-inset);
}
html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__inner{grid-template-columns:48px minmax(0,1fr);border-radius:.45rem}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__top {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    margin-block: var(--baltesa-thumbnail-inset);
}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__bottom{grid-column:2;display:grid;grid-template-columns:minmax(0,1fr);gap:10px 18px;align-items:center;padding:16px!important;min-width:0}
html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__bottom{padding:10px 12px!important;gap:7px 14px}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__infos{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:6px 18px;align-items:center;grid-column:1;grid-row:1;min-width:0;margin:0}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-product-main{grid-column:1;grid-row:1;min-width:0}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__prices {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    padding: 0;
    min-height: 0;
    gap: 2px;
    border-top: 0;
}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-card-order{grid-column:1/-1;grid-row:2;margin:0;padding:0;justify-self:end;min-width:0}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__title {
    font-size: .92rem;
    line-height: 1.4;
    min-height: 0;
}
html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__title {
    font-size: .83rem;
}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-product-reference{min-height:0;margin-top:4px;font-size:.72rem!important}
html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__price{font-size:1.05rem}
html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__quickview{display:none}
.baltesa-row-flags {
    display: none;
}
html:is([data-baltesa-listing-view=list], [data-baltesa-listing-view=compact]) #js-product-list {
    & .product-miniature__top .product-flags {
        display: none;
    }
    & .baltesa-card-identity:has(> .baltesa-row-flags) {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: .25rem .5rem;

        & > .product-miniature__title {
            flex-basis: 100%;
            min-width: 0;
        }
        & > .baltesa-product-reference {
            min-width: 0;
            margin-block-start: 0;
            overflow-wrap: anywhere;
        }
    }
    & .baltesa-row-flags {
        display: block;
        min-width: 0;
        max-width: 100%;
    }
    & .baltesa-row-flags .product-flags {
        position: static;
        width: auto;
        gap: .25rem;
        padding: 0;
    }
    & .baltesa-row-flags .badge {
        max-width: 100%;
        padding: .2rem .4rem;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
        text-align: start;
    }
}
html[data-baltesa-listing-view=compact] #js-product-list .baltesa-image-placeholder{font-size:0;gap:0;background:transparent}
html[data-baltesa-listing-view=compact] #js-product-list .baltesa-image-placeholder svg{width:28px;height:28px}
@container product-miniature (min-width:760px){
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__infos{grid-template-columns:minmax(0,1fr) 145px}
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__bottom{grid-template-columns:minmax(0,1fr) 256px}
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-card-order{grid-column:2;grid-row:1;justify-self:stretch}
}
@container product-miniature (max-width:480px){
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__infos{grid-template-columns:minmax(0,1fr)}
 html[data-baltesa-listing-view=list] #js-product-list .product-miniature__inner{grid-template-columns:64px minmax(0,1fr)}
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__bottom{grid-template-columns:minmax(0,1fr);gap:9px;padding:12px!important}
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__prices{grid-column:1;grid-row:2}
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-card-order{grid-column:1;grid-row:2;justify-self:stretch}
}
@media(max-width:767px){
 #js-product-list-top .products__selection{gap:12px;margin:16px 0}
 #js-product-list-top .products__count{flex-basis:100%}
 #js-product-list-top .products__sort{width:100%;flex-basis:100%;justify-content:flex-start;gap:10px 8px}
 .baltesa-listing-views{width:auto;max-width:100%;display:flex}
 .baltesa-listing-views .btn{flex:0 0 44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:0}
 #js-product-list-top .products__sort-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 #js-product-list-top .products__sort-dropdown{flex:1 1 160px;min-width:min(160px,100%);width:auto}
 .baltesa-category-branch{padding:16px}
}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__variants{grid-column:1;grid-row:2}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-card-reviews{grid-column:1;grid-row:3}
@container product-miniature (max-width:480px){
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .product-miniature__variants{grid-row:3}
 html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-card-reviews{grid-row:4}
}
.baltesa-category-branch .left-block__title-link[aria-current=page]{color:#70281f}

html[data-baltesa-listing-view=compact] #js-product-list :is(.product-miniature__quickview-button,.product-miniature__quickview-touch){display:none}
.baltesa-listing-views .btn,.baltesa-category-branch a,.baltesa-category-branch button{touch-action:manipulation}
@media(max-width:991px){
 .baltesa-category-branch{padding:10px 14px;margin-bottom:20px}
 .baltesa-category-branch .left-block__title{margin:0;padding-inline-end:.125rem;border:0;font-size:.95rem}
 .baltesa-category-branch:has(.baltesa-branch-content.show) .left-block__title{margin-bottom:12px}
 .baltesa-category-branch .baltesa-branch-toggle{flex:0 0 44px;width:44px;min-height:44px}
}

/* Give the category heading room through the Bootstrap column breakpoints. */
@media (768px <= width < 992px) {
    #category .row:has(> #left-column > .baltesa-category-branch) > :is(#left-column, #center-column) {
        width: 100%;
    }
}
@media (992px <= width < 1200px) {
    #category #left-column:has(> .baltesa-category-branch) {
        width: calc(100% / 3);
    }
    #category #left-column:has(> .baltesa-category-branch) + #center-column {
        width: calc(200% / 3);
    }
}
@container product-miniature (max-width:480px){
 html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__top{display:none}
 html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__inner {
  grid-template-columns: minmax(0, 1fr);
  padding-inline-start: 0;
 }
 html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__bottom{grid-column:1}
 html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__infos{grid-template-columns:minmax(0,1fr) 100px;gap:6px 12px}
 html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__prices{grid-column:2;grid-row:1}
 html[data-baltesa-listing-view=compact] #js-product-list .product-miniature__variants{grid-row:2}
 html[data-baltesa-listing-view=compact] #js-product-list .baltesa-card-reviews{grid-row:3}
}

/* Preserve the native mobile drill-down; decorate its existing full-width rows. */
.ps-mainmenu--mobile .menu__list>li:not(.menu__title){display:flex;align-items:stretch;margin-block-end:6px;border:1px solid var(--baltesa-menu-border);border-radius:.5rem}
.ps-mainmenu--mobile .menu__title{padding-block-end:.65rem;border-block-end:1px solid #e2e5e8}
.ps-mainmenu--mobile .menu__list>li>.menu__link{display:flex;align-items:center;flex:1;min-width:0;padding:.75rem .875rem;line-height:1.4;text-decoration:none}
.ps-mainmenu--mobile .menu__list>li>.menu__toggle-child{display:grid;place-items:center;position:static;flex:0 0 44px;min-width:44px;min-height:44px;padding:0;margin:0;color:inherit;background:transparent;border-inline-start:1px solid #80889035;touch-action:manipulation}
.ps-mainmenu--mobile .menu__list>li:has(>.baltesa-active-ancestor){background:var(--baltesa-menu-accent-light);border-color:var(--baltesa-menu-branch-border);color:var(--baltesa-menu-accent-dark)}
.ps-mainmenu--mobile .menu__list>li:has(>.baltesa-current-category){background:var(--baltesa-menu-accent);border-color:var(--baltesa-menu-accent-dark);color:#fff}
.ps-mainmenu--mobile .menu__list>li>.menu__link:is(.baltesa-active-ancestor,.baltesa-current-category){background:transparent;color:inherit;font-weight:700}
.ps-mainmenu--mobile .menu__list>li>:focus-visible{outline:2px solid currentColor;outline-offset:-3px}
#mobileMenu .ps-mainmenu__back-button {
    min-width: 0;
}
#mobileMenu .js-back-button[data-baltesa-category-id] {
    display: flex;
    align-items: center;
    gap: .4375rem;
    min-height: 44px;
    max-width: 100%;
    padding: .4375rem .625rem;
    color: #fff;
    background: var(--baltesa-menu-accent);
    border: 1px solid var(--baltesa-menu-accent-dark);
    border-radius: .5rem;
    text-align: start;
    line-height: 1.3;
    font-weight: 700;
    --baltesa-category-icon-color: currentColor;
    --baltesa-primary-category-icon-size: 1.625rem;
}
#mobileMenu .js-back-button[data-baltesa-category-id] > .material-icons {
    order: -1;
    flex: none;
}
#mobileMenu .js-back-button:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -3px;
}
#mobileMenu .js-back-button[data-baltesa-category-id] > .js-menu-back-title {
    display: none;
}
#mobileMenu .baltesa-open-category-name {
    min-width: 0;
    overflow-wrap: anywhere;
}
#mobileMenu .js-back-button[data-baltesa-category-id]::before {
    margin-inline-end: 0;
}
#mobileMenu .js-back-button > .baltesa-subcategory-icon {
    position: static;
    transform: none;
    flex: none;
    width: 1.5rem;
    height: 1.5rem;
}
#mobileMenu:has(.js-back-button[data-baltesa-category-id]) nav.menu--current[data-id] .menu__title {
    display: none;
}

/* The product's category path stays in view across mobile menu levels. */
#mobileMenu .offcanvas-header:has(> .baltesa-menu-product-path) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: .75rem;
    row-gap: .625rem;
}
#mobileMenu .offcanvas-header:has(> .baltesa-menu-product-path) > .btn-close {
    grid-area: 1 / 2;
}
#mobileMenu .baltesa-menu-product-path {
    grid-column: 1 / -1;
    min-width: 0;
    padding: .5rem .625rem;
    border: 1px solid var(--baltesa-menu-branch-border);
    border-radius: .5rem;
    background: var(--baltesa-menu-accent-light);
    font-size: .8125rem;
    line-height: 1.4;
}
#mobileMenu .offcanvas-header:has(.js-back-button.d-none) > .baltesa-menu-product-path {
    grid-area: 1 / 1;
}
#mobileMenu .baltesa-menu-product-path ol {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .25rem .4375rem;
    padding: 0;
    margin: 0;
    list-style: none;
}
#mobileMenu .baltesa-menu-product-path li {
    display: inline-flex;
    align-items: baseline;
    min-width: 0;
    gap: .375rem;
}
#mobileMenu .baltesa-menu-product-path li + li::before {
    content: '';
    align-self: center;
    width: .3rem;
    height: .3rem;
    flex: 0 0 .3rem;
    border: solid var(--baltesa-menu-accent-dark);
    border-width: 1px 1px 0 0;
    transform: rotate(45deg);
}
#mobileMenu .baltesa-menu-product-path a {
    color: var(--baltesa-menu-accent-dark);
    font-weight: 650;
    overflow-wrap: anywhere;
}
#mobileMenu .baltesa-menu-product-path a[aria-current=location] {
    padding: .125rem .375rem;
    border-radius: .3125rem;
    background: var(--baltesa-menu-accent);
    color: #fff;
    font-weight: 700;
}
#mobileMenu .baltesa-menu-product-path a:focus-visible {
    outline: 2px solid var(--baltesa-menu-accent-dark);
    outline-offset: 2px;
}

/* Anchor the visible logo when Hummingbird constrains the image height. */
#header .header-bottom__logo img {
    object-position: left center;
}

/* Let the desktop search field follow the space available between the logo and actions. */
.baltesa-header-search #_desktop_ps_searchbar .ps-searchbar {
    min-inline-size: 0;
}

@media (768px <= width < 992px) {
    .baltesa-header-main .baltesa-header-search {
        padding-inline: .25rem;
    }
    #_desktop_ps_searchbar .ps-searchbar__input:placeholder-shown {
        padding-inline-end: .5rem;
        text-overflow: ellipsis;
    }
    #_desktop_ps_searchbar .ps-searchbar__input::placeholder {
        font-size: .85rem;
    }
    #_desktop_ps_searchbar .ps-searchbar__dropdown {
        inset-inline: 0 auto;
    }
}

/* Match Hummingbird's layered display utility while preserving its search offcanvas. */
@layer utilities {
 @media(max-width:767px){
  #header .baltesa-header-search .ps-searchbar--mobile>.header-block{display:none!important}
 }
}
@media(max-width:991px){
 .baltesa-category-branch .baltesa-branch-toggle{padding:12px;background:transparent;box-shadow:none;border:0;border-radius:.35rem}
 .baltesa-category-branch .baltesa-branch-toggle::after{margin:0}
}
/* Keep Hummingbird's native offcanvas fixed, including with a cached older brand stylesheet. */
@media(max-width:767px){
 #header .baltesa-navigation .ps-mainmenu--mobile.offcanvas{position:fixed}
}
html:is([data-baltesa-listing-view=list],[data-baltesa-listing-view=compact]) #js-product-list .baltesa-image-placeholder{font-size:0;gap:0}

/* Style the native Hummingbird menu states and category groups. */
.baltesa-navigation {
    --baltesa-menu-border: #e2e5e8;
    --baltesa-menu-surface: #f5f6f7;
    --baltesa-menu-accent: #96392f;
    --baltesa-menu-accent-dark: #70281f;
    --baltesa-menu-accent-light: #f4e8e4;
    --baltesa-menu-branch-border: #dcc3bd;
    --baltesa-menu-current-border: #ae6e62;
}

.baltesa-navigation .ps-mainmenu--desktop {
    & .ps-mainmenu__tree {
        align-items: stretch;
        padding-block: .4375rem;
    }
    & .ps-mainmenu__tree-item {
        display: flex;
        align-items: stretch;
        flex: 1 1 min-content;
        min-width: min-content;
        max-width: max-content;
    }
    & .ps-mainmenu__tree-item-wrapper {
        display: grid;
        grid-template-columns: minmax(min-content, 1fr) auto;
        align-items: stretch;
        flex: 1 1 auto;
        min-width: 0;
        padding: 0;
        background: var(--baltesa-menu-surface);
        border: 1px solid var(--baltesa-menu-border);
        border-radius: .5rem;
    }
    & .ps-mainmenu__tree-link {
        display: flex;
        align-items: center;
        min-width: min-content;
        min-height: 44px;
        padding: .5rem .875rem;
        line-height: 1.35;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: none;
        text-decoration: none;
    }
    & .ps-mainmenu__tree-link:has(+ button) {
        padding-inline-end: .75rem;
    }
    & .ps-mainmenu__tree-dropdown-toggle {
        width: 44px;
        padding: 0;
    }
    & .ps-mainmenu__tree-dropdown-toggle::after {
        margin: 0;
    }
    & .ps-mainmenu__tree-item:is(.baltesa-active-branch, .current) > .ps-mainmenu__tree-item-wrapper,
    & .ps-mainmenu__tree-item-wrapper:has(> .baltesa-current-category) {
        background: var(--baltesa-menu-accent-light);
        border-color: var(--baltesa-menu-branch-border);
        color: var(--baltesa-menu-accent-dark);
    }
    & .ps-mainmenu__tree-item-wrapper:has(> .baltesa-current-category) {
        border-color: var(--baltesa-menu-current-border);
    }
    & .ps-mainmenu__tree-item:is(.baltesa-active-branch, .current) > .ps-mainmenu__tree-item-wrapper > :is(a, button),
    & .ps-mainmenu__tree-item-wrapper:has(> .baltesa-current-category) > :is(a, button) {
        color: inherit;
    }
    & .ps-mainmenu__tree-item > .ps-mainmenu__tree-item-wrapper:has(> button[aria-expanded=true]) {
        background: var(--baltesa-menu-accent);
        border-color: var(--baltesa-menu-accent-dark);
        color: #fff;
    }
    & .ps-mainmenu__tree-item-wrapper:has(> button[aria-expanded=true]) > :is(a, button) {
        color: inherit;
    }
    & :is(.ps-mainmenu__tree-link, .ps-mainmenu__tree-dropdown-toggle, .submenu a):focus-visible {
        outline: 2px solid currentColor;
        outline-offset: -3px;
    }
    & :is(.ps-mainmenu__tree-link, .ps-mainmenu__tree-dropdown-toggle, .submenu a):focus:not(:focus-visible) {
        outline: none;
    }

    & .submenu {
        max-block-size: max(9rem, calc(100dvh - var(--scroll-padding-top, 13rem)));
        overflow-y: auto;
        overscroll-behavior: contain;
        background: #fff;
    }
    & .submenu__row {
        display: grid;
        grid-template-columns: minmax(14rem, 1fr) minmax(0, 3.5fr);
        align-items: start;
        gap: clamp(.75rem, 1.5vw, 1.25rem);
        margin: 0;
        padding-block: 1rem 1.125rem;
    }
    & :is(.submenu__left, .submenu__right) {
        width: auto;
        min-width: 0;
        margin: 0;
    }
    & .submenu__left {
        gap: .25rem;
        padding: .5rem;
        background: var(--baltesa-menu-surface);
        border: 1px solid var(--baltesa-menu-border);
        border-radius: .75rem;
    }
    & .submenu__left-item {
        justify-content: space-between;
        gap: .5rem;
        min-height: 44px;
        padding: .5rem .75rem;
        border: 1px solid transparent;
        font-size: .875rem;
        line-height: 1.35;
        border-radius: .45rem;
        text-decoration: none;
        overflow-wrap: anywhere;
    }
    & .submenu__left-item:is(.baltesa-active-ancestor, .baltesa-current-category) {
        background: var(--baltesa-menu-accent-light);
        border-color: var(--baltesa-menu-branch-border);
        color: var(--baltesa-menu-accent-dark);
        font-weight: 700;
    }
    & .submenu__left-item.baltesa-current-category {
        border-color: var(--baltesa-menu-current-border);
    }
    & .submenu__left-item[aria-selected=true] {
        color: #fff;
        font-weight: 650;
        background: var(--baltesa-menu-accent);
        border-color: var(--baltesa-menu-accent-dark);
    }
    & .submenu__left-item[data-ps-has-child=true]::after {
        flex: none;
        font-size: 1.125rem;
        margin: 0;
    }
    & .submenu__right {
        padding: 0;
    }
    & .submenu__right-items:not(.not-active):is(.active, :first-child) {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr));
        align-items: start;
        gap: .75rem;
    }
    & .submenu__right-items > ul {
        margin: 0;
        padding: .5rem;
        list-style: none;
        background: #fff;
        border: 1px solid var(--baltesa-menu-border);
        border-radius: .625rem;
    }
    & .submenu__right-items .menu-item {
        padding: .4rem .625rem;
        border: 1px solid transparent;
        font-size: .875rem;
        line-height: 1.4;
        overflow-wrap: anywhere;
        border-radius: .4rem;
        text-decoration: none;
    }
    & .submenu__right-items .menu-item__group-main-item {
        margin: 0;
        font-size: .9375rem;
        font-weight: 700;
        background: var(--baltesa-menu-surface);
    }
    & .submenu__right-items .menu-item__group--child > li:first-child {
        margin-block-end: .25rem;
    }
    & .submenu__right-items .menu-item__group--nochild .menu-item__group-main-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: .625rem;
        min-height: 36px;
        background: transparent;
    }
    & .submenu__right-items .menu-item__group--nochild .menu-item__group-main-item::after {
        flex: 0 0 .4rem;
        width: .4rem;
        height: .4rem;
        border: solid currentColor;
        border-width: 1.5px 1.5px 0 0;
        transform: rotate(45deg);
        content: '';
    }
    & .submenu__right-items .menu-item:is(:hover, .baltesa-active-ancestor, .baltesa-current-category) {
        color: var(--baltesa-menu-accent-dark);
        background: var(--baltesa-menu-accent-light);
    }
    & .submenu__right-items .menu-item.baltesa-active-ancestor {
        border-color: var(--baltesa-menu-branch-border);
        font-weight: 700;
    }
    & .submenu__right-items .menu-item.baltesa-current-category {
        border-color: var(--baltesa-menu-current-border);
        font-weight: 700;
    }
}

/* Standalone storefront forms use the same card as sign-in. */
body:is(#authentication, #password, #registration) #center-column,
body#guest-tracking #center-column:has(#guestOrderTrackingForm),
body#contact #center-column .contact-form {
    width: 100%;
    max-width: var(--baltesa-form-width, 32rem);
    margin: clamp(1.25rem, 3vw, 2.5rem) auto clamp(1.75rem, 4vw, 3.25rem);
    padding: clamp(1rem, 3vw, 2rem);
    background: #fff;
    border: 1px solid #dfe3e8;
    border-radius: .875rem;

    & .page-header {
        margin: 0 0 1.25rem;
    }
    & .page-title-section {
        margin: 0 0 var(--baltesa-form-title-gap, 0px);
        font-size: clamp(1.5rem, 2.5vw, 1.75rem);
    }
    & #content {
        padding: 0;
        margin: 0;
    }
}

body:is(#registration, #contact) {
    --baltesa-form-width: 44rem;
}

body:is(#authentication, #password, #registration) #notifications > .container,
body#guest-tracking:has(#guestOrderTrackingForm) #notifications > .container {
    max-width: calc(var(--baltesa-form-width, 32rem) + var(--bs-gutter-x, 1.5rem));
}

body#contact #center-column .contact-form {
    --baltesa-form-title-gap: 1.25rem;
    margin-block-start: 0;
}

@media (max-width: 575.98px) {
    body#contact .contact-form input[type="file"] {
        font-size: .875rem;

        &::file-selector-button {
            margin-inline-end: .5rem;
        }
    }
}

body#authentication #center-column {
    & .login hr {
        margin-block: 1rem;
        border-color: #dfe3e8;
        opacity: 1;
    }
    & .login__register-prompt .h4 {
        margin: 0 0 .75rem;
        font-size: 1rem;
    }
    & #login-form .buttons-wrapper .btn-basic {
        padding-inline: 0;
        font-size: .875rem;
    }
}

/* Native password visibility control. */
#wrapper .input-group.password-field {
    flex-wrap: nowrap;
    border-radius: .5rem;

    &:focus-within {
        outline: 2px solid #96392f;
        outline-offset: 2px;
    }
    & > .form-control {
        border-start-end-radius: 0;
        border-end-end-radius: 0;
        box-shadow: none;
    }
    & > button[data-ps-action="toggle-password"] {
        display: grid;
        flex: 0 0 3rem;
        place-items: center;
        padding: 0;
        margin-inline-start: 0;
        border-inline-start: 0;
        border-start-start-radius: 0;
        border-end-start-radius: 0;
        box-shadow: none;
    }
    & > button[data-ps-action="toggle-password"]:focus-visible {
        outline: 2px solid #fff;
        outline-offset: -4px;
    }
}

#footer .footer__main-top {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    gap: clamp(1.25rem, 3vw, 3rem);
    margin-inline: 0;

    & > .footer-block {
        width: auto;
        min-width: 0;
        padding-inline: 0;
        margin: 0;
    }
    & .footer-block__title {
        margin: 0 0 .75rem;
        padding-block-end: .625rem;
        border-block-end: 1px solid #dce1e6;
        color: #272d35;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1.4;
    }
    & .footer-block__content {
        color: #46505a;
        font-size: .875rem;
        line-height: 1.55;
        overflow-wrap: anywhere;
    }
    & :is(.footer-block__title, .footer-block__content) a {
        color: inherit;
    }
    & :is(.footer-block__title, .footer-block__content) a:hover {
        color: #96392f;
        text-decoration: underline;
    }
    & .footer-block__list {
        padding-inline: 0;
        margin: 0;
    }
    & .ps-contactinfo__infos {
        margin-block: .25rem .625rem;
        font-style: normal;
    }
}

#footer .copyright {
    padding-block-start: 1rem;
    margin-block-start: 1.5rem;
}
#footer .baltesa-footer-credit {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: .375rem 1rem;
    color: #46505a;
    font-size: .8125rem;
    text-align: start;
}
@media (max-width: 767px) {
    #footer .footer__main-top {
        grid-template-columns: minmax(0, 1fr);
        gap: 0;

        & > .footer-block {
            border-block-end: 1px solid #dce1e6;
        }
        & .footer-block__title {
            min-height: 44px;
            padding: 0;
            margin: 0;
            border: 0;
        }
        & .footer-block__title button {
            display: grid;
            width: 44px;
            min-height: 44px;
            place-items: center;
        }
        & .footer-block__content {
            padding-block-end: .75rem;
        }
    }
    #footer .baltesa-footer-credit {
        flex-direction: column;
    }
}

/* Native facets and their selected values share the category filter panel. */
.baltesa-catalogue-filters {
    --baltesa-filter-border: #e0e3e6;
    margin-block: .875rem 1.125rem;
    border: 1px solid var(--baltesa-filter-border);
    border-radius: .75rem;
    background: #fff;
    font-size: .875rem;
    line-height: 1.4;
}
.baltesa-catalogue-filters__options > summary {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-block-size: 44px;
    margin: .25rem;
    padding: .5rem .625rem;
    border-radius: .5rem;
    color: var(--bs-body-color);
    cursor: pointer;
    font-weight: 650;
    list-style: none;
}
.baltesa-catalogue-filters__options > summary::-webkit-details-marker {
    display: none;
}
.baltesa-catalogue-filters__options > summary::after {
    content: "";
    flex: 0 0 .4375rem;
    block-size: .4375rem;
    margin-inline: auto .125rem;
    border: solid currentColor;
    border-width: 0 2px 2px 0;
    transform: translateY(-.125rem) rotate(45deg);
}
.baltesa-catalogue-filters__options[open] > summary {
    color: #70281f;
}
.baltesa-catalogue-filters__options[open] > summary::after {
    transform: translateY(.125rem) rotate(225deg);
}
.baltesa-catalogue-filters__options > summary:hover {
    background: #f4e8e4;
    color: #70281f;
}
.baltesa-catalogue-filters__options > summary > .material-icons {
    font-size: 1.125rem;
}
.baltesa-catalogue-filters__body {
    border-block-start: 1px solid var(--baltesa-filter-border);
    padding: .625rem;
}
@layer utilities {
    .baltesa-catalogue-filters .search-filters > :is(.left-block__title, .search-filters__clear),
    #category #search_filter_toggler {
        display: none !important;
    }
}
.baltesa-catalogue-filters .search-filters > .accordion {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 11.75rem), 1fr));
    align-items: start;
    gap: .5rem;
}
.baltesa-catalogue-filters .accordion-item {
    min-width: 0;
    border: 1px solid var(--baltesa-filter-border);
    border-radius: .5rem;
}
.baltesa-catalogue-filters :is(.accordion-button, .search-filters__dropdown-toggle, .search-filters__dropdown-menu) {
    font-size: inherit;
}
.baltesa-catalogue-filters .accordion-button {
    min-block-size: 44px;
    gap: .5rem;
    padding: .5rem .75rem;
    border-radius: .5rem;
    font-weight: 650;
    overflow-wrap: anywhere;
}
.baltesa-catalogue-filters .accordion-body {
    padding: .25rem .75rem .625rem;
    overflow-wrap: anywhere;
}
.baltesa-catalogue-filters ul.accordion-body {
    max-block-size: min(16rem, 44vh);
    margin: 0;
    overflow: auto;
    overscroll-behavior-y: contain;
    scrollbar-gutter: stable;
}
.baltesa-catalogue-filters [data-type="category"]:has(> .accordion-button[aria-expanded="true"]) {
    grid-column: 1 / -1;
}
.baltesa-catalogue-filters [data-type="category"] ul.accordion-body {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
    align-content: start;
    column-gap: .75rem;
}
.baltesa-catalogue-filters ul.accordion-body > li[hidden] {
    display: none;
}
.baltesa-facet-search {
    padding: .25rem .75rem .125rem;
}
.baltesa-facet-search .form-control {
    max-inline-size: 24rem;
    min-block-size: 2.5rem;
    padding: .375rem .5rem;
    font-size: inherit;
    line-height: 1.4;
}
.baltesa-facet-search__status {
    margin: .375rem 0 0;
    color: var(--bs-secondary-color);
}
.baltesa-facet-search__status:empty {
    margin: 0;
}
.baltesa-catalogue-filters .search-filters__form-label {
    flex: 1;
    min-width: 0;
    white-space: normal;
}
.baltesa-catalogue-filters .search-filters__link {
    display: block;
    padding-block: .3125rem;
}
.baltesa-catalogue-filters__selection {
    display: grid;
    gap: .5rem;
    margin: .375rem .625rem .625rem;
    padding: .5rem .625rem .625rem;
    border: 1px solid #ead8d2;
    border-radius: .5rem;
    background: #faf4f2;
}
#category #js-product-list-header:has(.baltesa-catalogue-filters__empty) ~ #products .page-content--not-found {
    display: none;
}
.baltesa-catalogue-filters__selection-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .25rem .75rem;
}
.baltesa-catalogue-filters__selection-title {
    margin: 0;
    color: #70281f;
    font-weight: 650;
}
.baltesa-catalogue-filters__selection .active-filters__list {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin: 0;
    padding: 0;
    list-style: none;
}
.baltesa-catalogue-filters__selection .active-filters__item:has(> .active-filters__title) {
    display: none;
}
.baltesa-catalogue-filters__selection .active-filters__item {
    min-width: 0;
    max-width: 100%;
}
.baltesa-catalogue-filters__selection .active-filters__link,
.baltesa-catalogue-filters__clear {
    --bs-border-radius-pill: .4375rem;
    display: inline-flex;
    align-items: center;
    gap: .4375rem;
    min-block-size: 36px;
    max-width: 100%;
    padding: .375rem .625rem;
    border: 1px solid #e1cbc4;
    border-radius: .4375rem;
    background: #fff;
    color: #70281f;
    font-size: .8125rem;
    line-height: 1.35;
    text-align: start;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.baltesa-catalogue-filters__clear {
    font-weight: 650;
}
.baltesa-catalogue-filters__selection .active-filters__link > .material-icons {
    flex: none;
    font-size: 1rem;
}
.baltesa-catalogue-filters__selection :is(.active-filters__link, .baltesa-catalogue-filters__clear):hover {
    border-color: #c7a49e;
    background: #f4e8e4;
    color: #70281f;
}
.baltesa-catalogue-filters :is(summary, .accordion-button, .active-filters__link, .baltesa-catalogue-filters__clear):focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: -2px;
}
@media (max-width: 767px) {
    .baltesa-catalogue-filters__selection :is(.active-filters__link, .baltesa-catalogue-filters__clear) {
        min-block-size: 44px;
    }
    .baltesa-facet-search .form-control {
        min-block-size: 44px;
        font-size: 1rem;
    }
    .baltesa-catalogue-filters .search-filters__form-label {
        display: flex;
        align-items: center;
        min-block-size: 44px;
    }
}

/* Shared product cards for catalogue grids and storefront modules. */
.product-miniature__image,
.product-miniature .baltesa-image-placeholder {
    max-block-size: 196px;
}
.product-miniature__bottom {
    padding: 14px !important;
    gap: 10px;
}
.product-miniature__infos {
    flex-grow: 0;
    gap: 8px;
}
.product-miniature__title,
.product-miniature .baltesa-product-reference {
    min-height: 0;
}
.baltesa-card-supply {
    display: grid;
    gap: 4px;
    margin-block-start: 8px;
    padding-block-start: 8px;
    border-block-start: 1px solid #e2e5e8;
}
.baltesa-product-supply > :is(.baltesa-supply-stock, .baltesa-supply-delivery, .baltesa-supply-unavailable, small) {
    font-size: .8125rem;
    line-height: 1.35;
}
.baltesa-supply-stock {
    font-weight: 650;
}
.product-miniature__prices {
    min-height: 0;
    margin-block-start: 0;
    padding-top: 8px;
    border-top: 1px solid #e2e5e8;
}
.baltesa-card-price-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 6px;
}
:is(.baltesa-card-tax-label, .baltesa-card-secondary-price, .baltesa-card-step-note) {
    color: #565f6b;
    font-size: .75rem;
    line-height: 1.35;
}
.baltesa-card-order {
    min-width: 0;
    margin-block-start: auto;
}
.baltesa-card-step-note {
    display: block;
    margin-bottom: 6px;
}
.baltesa-card-order .product-miniature__actions {
    margin-block-start: 0;
    padding-top: 0;
}
.baltesa-card-order .product-miniature__form {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 8px;
}
.baltesa-card-order .product-miniature__form > .quantity-button {
    flex: 1 1 130px;
    min-width: min(100%, 130px);
    width: auto;
}
.baltesa-card-order .quantity-button__group {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}
.baltesa-card-order .quantity-button__group > button {
    flex: 0 0 30px;
    width: 30px;
    min-width: 0;
    min-height: 44px;
    padding-inline: 0;
}
.baltesa-card-order .quantity-button__group > input {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    width: 1%;
    padding-inline: 4px;
    font-size: 1rem;
    text-align: center;
    font-variant-numeric: tabular-nums;
}
.baltesa-card-order .product-miniature__add {
    flex: 1 1 104px;
    min-height: 44px;
    width: auto;
    padding-inline: 6px;
}
@container product-miniature (width < 200px) {
    .product-miniature__bottom {
        padding: 10px !important;
    }
    .baltesa-card-order .quantity-button__group > button {
        flex-basis: 26px;
        width: 26px;
    }
}

/* Totals shared by the add-to-cart confirmation and the cart. */
.baltesa-cart-totals {
    margin: 0;
    font-size: .875rem;
}
.baltesa-cart-totals__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 12px;
    padding-block: 7px;
}
.baltesa-cart-totals__row dt {
    font-weight: 500;
}
.baltesa-cart-totals__row dd {
    margin: 0;
    font-weight: 650;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.baltesa-cart-totals__row--gross {
    margin-block-start: 5px;
    padding-block-start: 11px;
    border-block-start: 1px solid #e2e5e8;
}
.baltesa-cart-totals__row--gross dt,
.baltesa-cart-totals__row--gross dd {
    font-weight: 750;
}
.baltesa-cart-totals__row--gross dd {
    font-size: 1.1rem;
}

/* Shipping and voucher controls shared by the cart and checkout. */
body:is(#cart, #checkout) .baltesa-cart-shipping {
    padding-block-end: .5rem;
}
body:is(#cart, #checkout) .baltesa-cart-shipping .baltesa-cart-totals__row {
    grid-template-columns: auto minmax(0, 1fr);
}
body:is(#cart, #checkout) .baltesa-cart-shipping dd {
    text-align: end;
    white-space: normal;
}
body:is(#cart, #checkout) .baltesa-cart-shipping .cart-summary__value-inner:empty {
    display: none;
}

body:is(#cart, #checkout) .cart-summary__voucher .cart-voucher__accordion-item {
    background: #f5f6f7;
    border: 1px solid #e2e5e8;
    border-radius: 10px;
}
body:is(#cart, #checkout) .cart-summary__voucher .cart-voucher__accordion-button {
    min-height: 44px;
    padding: .625rem .75rem;
    background: transparent;
    border-radius: inherit;
    box-shadow: none;
}
body:is(#cart, #checkout) .cart-summary__voucher .cart-voucher__accordion-button:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: -2px;
}
body:is(#cart, #checkout) .cart-summary__voucher .accordion-body {
    padding: 0 .75rem .75rem;
}
body:is(#cart, #checkout) .cart-summary__voucher .cart-voucher__form {
    flex-wrap: wrap;
}
body:is(#cart, #checkout) .cart-voucher__form > .form-control {
    flex: 1 1 10.5rem;
    min-width: 0;
    min-height: 44px;
    padding: .5rem .625rem;
}
body:is(#cart, #checkout) .cart-voucher__form > .form-control::placeholder {
    font-size: .875rem;
}
body:is(#cart, #checkout) .cart-voucher__form > .btn {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    min-height: 44px;
    margin-inline-start: auto;
    padding: .5rem .75rem;
    font-size: .875rem;
    white-space: nowrap;
}

.baltesa-added-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
    gap: 14px;
}
.baltesa-added-panel {
    min-width: 0;
    padding: clamp(12px, 2vw, 18px);
    background: #fff;
    border: 1px solid #e2e5e8;
    border-radius: 10px;
}
.baltesa-added-heading {
    margin-block-end: 10px;
    font-size: 1rem;
    font-weight: 650;
}
.baltesa-added-product {
    display: grid;
    grid-template-columns: clamp(56px, 11vw, 88px) minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}
.baltesa-added-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
    border: 1px solid #e2e5e8;
    border-radius: 8px;
}
.baltesa-added-details {
    overflow-wrap: anywhere;
}
.baltesa-added-details .blockcart-modal__name {
    margin-block-end: 6px;
    font-size: .925rem;
}
.baltesa-added-details .blockcart-modal__quantity {
    margin: 8px 0 0;
    font-size: .8125rem;
}
.baltesa-added-prices {
    display: grid;
    gap: 3px;
}
.baltesa-added-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 2px 5px;
    color: #565f6b;
    font-size: .8rem;
}
.baltesa-added-price strong {
    color: var(--bs-primary);
    font-size: 1.15rem;
    font-variant-numeric: tabular-nums;
}
@media (width < 576px) {
    #blockcart-modal .modal-header {
        padding: 12px 14px;
    }
    #blockcart-modal .modal-body {
        padding: 10px 12px;
    }
    #blockcart-modal .modal-footer {
        gap: 6px;
        padding: 8px 12px 12px;
    }
    #blockcart-modal .modal-footer .btn {
        min-height: 44px;
        padding-block: .5rem;
    }
    .baltesa-added-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }
    .baltesa-added-heading {
        margin-block-end: 8px;
    }
    .baltesa-added-details .blockcart-modal__name {
        font-size: .875rem;
        line-height: 1.35;
    }
    .baltesa-added-panel .baltesa-cart-totals__row {
        padding-block: 5px;
    }
    .baltesa-added-panel .baltesa-cart-totals__row--gross {
        padding-block-start: 8px;
    }
}

/* Contact and store information links */
.baltesa-topline .baltesa-topline__contacts,
.baltesa-topline .baltesa-topline__policies {
    display: flex;
    align-items: center;
    gap: clamp(.25rem, 1vw, .9rem);
    font-size: .8125rem;
}
.baltesa-topline :is(.baltesa-topline__contacts, .baltesa-topline__policies) a {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 36px;
    padding-inline: .55rem;
    border-radius: .375rem;
    white-space: nowrap;
}
.baltesa-topline__contacts .material-icons {
    color: #efb8ae;
    font-size: 1rem;
}
.baltesa-topline__help {
    justify-content: center;
    min-width: 36px;
}
.baltesa-topline__policies a[aria-current="page"] {
    background: #3d4249;
}
.header-top .baltesa-topline a:is(:hover, :focus-visible) {
    background-color: #454b53;
    text-decoration: none;
}
.baltesa-topline a:focus-visible {
    outline: 2px solid #efb8ae;
    outline-offset: -2px;
}

/* Store policies use the regular CMS page and editable content. */
#cms:has(.baltesa-policy) .page-header,
#module-prcontact-form .page-header,
.baltesa-policy {
    max-width: 68rem;
    margin-inline: auto;
}
#cms:has(.baltesa-policy--document) .page-header,
.baltesa-policy--document {
    max-width: 58rem;
}
.baltesa-policy {
    --policy-border: #dce1e5;
    --policy-surface: #f5f6f7;
    --policy-accent: #96392f;
    --policy-accent-tint: #f4e8e4;
    display: grid;
    gap: 1rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.baltesa-policy .baltesa-policy__lead {
    margin: 0;
    padding: 1rem clamp(.875rem, 2.6vw, 1.5rem);
    border-inline-start: 3px solid var(--policy-accent);
    border-radius: .5rem;
    background: var(--policy-accent-tint);
    font-size: 1.0625rem;
}
.baltesa-policy__section,
.baltesa-policy__card {
    min-width: 0;
    padding: clamp(.875rem, 2.6vw, 1.5rem);
    border: 1px solid var(--policy-border);
    border-radius: .75rem;
    background: #fff;
}
.baltesa-policy__grid {
    display: grid;
    gap: .75rem;
}
.baltesa-policy__section > .baltesa-policy__grid {
    margin-block: .75rem;
}
.baltesa-policy__section .baltesa-policy__card {
    padding: 1rem;
    background: var(--policy-surface);
}
.baltesa-policy h2,
.baltesa-policy h3 {
    margin: 0 0 .625rem;
    line-height: 1.25;
}
.baltesa-policy h2 { font-size: 1.25rem; }
.baltesa-policy h3 { font-size: 1.0625rem; }
.baltesa-policy :is(h2, h3):has(> .baltesa-policy__icon),
.baltesa-policy__contact-line {
    display: flex;
    align-items: center;
    gap: .625rem;
}
.baltesa-policy .baltesa-policy__icon {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: .5rem;
    background: var(--policy-accent-tint);
    color: var(--policy-accent);
    font-size: 1.25rem;
}
.baltesa-policy h3 > .baltesa-policy__icon {
    width: 2rem;
    height: 2rem;
    font-size: 1.125rem;
}
.baltesa-policy__contact-line {
    align-items: baseline;
}
.baltesa-policy__contact-line .baltesa-policy__icon {
    width: 1.25rem;
    height: 1.25rem;
    background: transparent;
    font-size: 1rem;
}
.baltesa-policy :is(p, ul, ol, dl) { margin: 0 0 .75rem; }
.baltesa-policy :is(ol, ul) { padding-inline-start: 1.25rem; }
.baltesa-policy ol > li { list-style-type: decimal; }
.baltesa-policy li + li { margin-block-start: .375rem; }
.baltesa-policy :is(p, ul, ol, dl):last-child { margin-block-end: 0; }
.baltesa-policy__bank {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: .375rem .875rem;
    padding: .75rem;
    border-radius: .5rem;
    background: var(--policy-surface);
    font-variant-numeric: tabular-nums;
}
.baltesa-policy__bank dd {
    margin: 0;
    overflow-wrap: anywhere;
}
.baltesa-policy__details {
    padding: .75rem;
    border: 1px solid var(--policy-border);
    border-radius: .5rem;
    background: var(--policy-surface);
}
.baltesa-policy__details summary {
    cursor: pointer;
    font-weight: 600;
}
.baltesa-policy__details[open] summary { margin-block-end: .625rem; }
.baltesa-policy h2[id] {
    scroll-margin-block-start: 9rem;
}
.baltesa-policy .baltesa-policy__revision {
    margin: 0;
    color: #59616d;
    font-size: .875rem;
}
.baltesa-policy__contents {
    padding: 1rem clamp(.875rem, 2.6vw, 1.5rem);
    border: 1px solid var(--policy-border);
    border-radius: .75rem;
    background: #fff;
}
.baltesa-policy__contents > p {
    font-size: 1rem;
    font-weight: 650;
}
.baltesa-policy .baltesa-policy__contents ul {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    padding: 0;
    list-style: none;
}
.baltesa-policy__contents li + li { margin: 0; }
.baltesa-policy__contents a {
    display: block;
    padding: .375rem .625rem;
    border: 1px solid var(--policy-border);
    border-radius: .45rem;
    background: var(--policy-surface);
    color: #292d33;
    font-size: .875rem;
    text-decoration: none;
}
.baltesa-policy__contents a:hover,
.baltesa-policy__contents a:focus-visible {
    border-color: #dcc3bd;
    background: var(--policy-accent-tint);
    color: #70281f;
}
.baltesa-policy__table {
    max-width: 100%;
    overflow: auto;
    border: 1px solid var(--policy-border);
    border-radius: .5rem;
}
.baltesa-policy__table:focus-visible {
    outline: 2px solid var(--policy-accent);
    outline-offset: 2px;
}
.baltesa-policy .baltesa-policy__data-table {
    width: 100%;
    min-width: 46rem;
    margin: 0;
    font-size: .875rem;
}
.baltesa-policy__data-table :is(th, td) {
    padding: .625rem;
    border: 1px solid var(--policy-border);
    vertical-align: top;
}
.baltesa-policy__data-table th,
.baltesa-policy__data-table tbody tr:nth-child(even) td {
    background: var(--policy-surface);
}
.baltesa-policy__map {
    display: block;
    width: 100%;
    height: clamp(14rem, 36vw, 23rem);
    border: 1px solid var(--policy-border);
    border-radius: .5rem;
}
.baltesa-contact__details {
    margin-block: 1rem;
    padding-block: .875rem;
    border-block: 1px solid var(--policy-border);
}
@media (min-width: 992px) {
    .baltesa-contact {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
        align-items: start;
    }
}
@media (max-width: 575.98px) {
    .baltesa-contact__actions > .btn {
        width: 100%;
    }
}
@media (min-width: 768px) {
    .baltesa-policy__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .baltesa-policy__grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Share content heights within each visible grid row. List views keep their side-by-side columns. */
@supports (grid-template-rows: subgrid) {
    .products:has(> .product-miniature):not(:where(html:is([data-baltesa-listing-view=list], [data-baltesa-listing-view=compact]) #js-product-list .products)) {
        /* Space between card rows belongs outside the shared internal tracks. */
        --baltesa-product-row-gap: clamp(12px, 1.6vw, 20px);
        row-gap: 0;

        & > .product-miniature {
            display: grid;
            grid-row: span 7;
            grid-template-rows: subgrid;
            row-gap: 0;
            margin-block-end: var(--baltesa-product-row-gap);
            container-type: normal;

            /* Keep the native width queries on the card sections that use them. */
            & :is(.product-miniature__top, .baltesa-card-order) {
                container: product-miniature / inline-size;
            }
            & :is(.product-miniature__inner, .product-miniature__bottom, .product-miniature__infos, .baltesa-product-main) {
                display: grid;
                grid-template-columns: minmax(0, 1fr);
                grid-template-rows: subgrid;
                row-gap: 0;
                min-width: 0;
            }
            & .product-miniature__inner {
                grid-row: 1 / -1;
                height: auto;
            }
            & .product-miniature__top { grid-row: 1; }
            & .product-miniature__bottom { grid-row: 2 / -1; }
            & .product-miniature__infos { grid-row: 1 / 6; }
            & .baltesa-product-main { grid-row: 1 / 3; }
            & .baltesa-card-identity { grid-row: 1; }
            & .baltesa-card-supply { grid-row: 2; }
            & .product-miniature__variants {
                grid-row: 3;
                margin-block-start: 8px;
            }
            & .product-miniature__prices {
                grid-row: 4;
                margin-block-start: 8px;
            }
            & .baltesa-card-reviews {
                grid-row: 5;
                margin-block-start: 8px;
            }
            & .baltesa-card-order {
                grid-row: 6;
                align-self: end;
                margin-block-start: 8px;
            }
        }
    }

    /* The homepage section gap starts at the last row of cards. */
    .baltesa-project-products .products:has(> .product-miniature) {
        margin-block-end: calc(-1 * var(--baltesa-product-row-gap));
    }
}

/* Home hero uses the native image slider inside the visual panel. */
.baltesa-hero .baltesa-hero__visual--carousel {
    display: block;
}
.baltesa-hero-carousel {
    --hero-caption-inset: clamp(.75rem, 2vw, 1.5rem);
    --hero-caption-bottom: .875rem;
    position: absolute;
    inset: 0;
}
.baltesa-hero-carousel:has(.baltesa-hero-carousel__indicators) {
    --hero-caption-bottom: 3.25rem;
}
.baltesa-hero-carousel :is(.carousel-inner, .carousel-item, .baltesa-hero-carousel__slide) {
    height: 100%;
}
.baltesa-hero-carousel__slide {
    position: relative;
    display: block;
    color: #252a32;
    text-decoration: none;
}
.baltesa-hero-carousel__slide:hover,
.baltesa-hero-carousel__slide:focus-visible {
    color: #863229;
    text-decoration: none;
}
.baltesa-hero-carousel__slide:focus-visible {
    outline: 2px solid #96392f;
    outline-offset: -4px;
}
.baltesa-hero-carousel__backdrop {
    display: none;
}
.baltesa-hero-carousel__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.baltesa-hero-carousel__caption {
    position: absolute;
    inset-inline-start: var(--hero-caption-inset);
    inset-block-end: var(--hero-caption-bottom);
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    max-inline-size: calc(100% - 2 * var(--hero-caption-inset));
    padding: .65rem .85rem;
    border: 1px solid #e0d9d4;
    border-radius: .7rem;
    background: #fff;
    font-size: clamp(.875rem, 1.3vw, 1.1rem);
    font-weight: 650;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.baltesa-hero-carousel__caption .material-icons {
    color: #96392f;
    flex: none;
    font-size: 1.15rem;
}
.baltesa-hero-carousel__arrow {
    inset-block-start: 50%;
    inset-block-end: auto;
    transform: translateY(-50%);
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid #ded7d1;
    border-radius: 50%;
    background: #fff;
    color: #303640;
    opacity: 1;
}
.baltesa-hero-carousel__arrow.carousel-control-prev {
    inset-inline-start: .5rem;
}
.baltesa-hero-carousel__arrow.carousel-control-next {
    inset-inline-end: .5rem;
}
.baltesa-hero-carousel__arrow:hover,
.baltesa-hero-carousel__arrow:focus-visible {
    background: #96392f;
    color: #fff;
    opacity: 1;
}
.baltesa-hero-carousel__indicators {
    position: absolute;
    inset-inline: 0;
    inset-block-end: .6rem;
    width: fit-content;
    gap: .25rem;
    margin: 0 auto;
    padding: .15rem .35rem;
    border-radius: 2rem;
    background: #fff;
}
.baltesa-hero-carousel__indicators [data-bs-target] {
    display: grid;
    place-items: center;
    width: 1.75rem;
    height: 1.5rem;
    margin: 0;
    border: 0;
    background: transparent;
    opacity: 1;
}
.baltesa-hero-carousel__indicators [data-bs-target]::after {
    content: "";
    width: .5rem;
    height: .5rem;
    border-radius: .3rem;
    background: #756c66;
}
.baltesa-hero-carousel__indicators .active::after {
    width: 1rem;
    background: #96392f;
}
.baltesa-hero-carousel__arrow:focus-visible,
.baltesa-hero-carousel__indicators button:focus-visible {
    outline: 2px solid #96392f;
    outline-offset: 2px;
}

@media (max-width: 767.98px),
       (max-width: 991.98px) and (orientation: landscape) and (pointer: coarse) {
    .baltesa-hero .baltesa-hero__visual--carousel {
        min-block-size: clamp(19rem, 86vw, 26rem);
    }
    .baltesa-hero-carousel__slide {
        display: grid;
        grid-template-rows: minmax(0, 1fr) auto;
        gap: .625rem;
        padding-block: .75rem var(--hero-caption-bottom);
        isolation: isolate;
        overflow: hidden;
        background: #e9e6e1;
    }
    .baltesa-hero-carousel__backdrop {
        display: block;
        position: absolute;
        inset: 0;
        z-index: -1;
        width: 100%;
        height: 100%;
        object-fit: cover;
        filter: blur(1.25rem);
        transform: scale(1.15);
        opacity: .65;
        pointer-events: none;
    }
    .baltesa-hero-carousel__image {
        object-fit: contain;
        min-block-size: 0;
        padding-inline: .75rem;
    }
    .baltesa-hero-carousel__caption {
        position: static;
        justify-self: start;
        margin-inline: var(--hero-caption-inset);
    }
    .baltesa-hero-carousel__arrow {
        inset-block-start: auto;
        inset-block-end: .45rem;
        transform: none;
    }
}

@media (max-width: 991.98px) and (orientation: landscape) and (pointer: coarse) {
    .baltesa-hero-carousel__image {
        align-self: center;
        max-block-size: max(6rem, calc(100dvh - var(--scroll-padding-top, 13rem)));
    }
}

/* Share the primary category icons across cards and native menu links. */
:where([data-baltesa-category-id="10"], .ps-mainmenu__tree-item[data-id="category-10"], #menu-mobile > ul > li[id="category-10"]) {
    --baltesa-category-icon: url("../img/category-icons/telecommunications.svg?v=c1e3871b3479");
    --baltesa-category-icon-display: grid;
}
:where([data-baltesa-category-id="9"], .ps-mainmenu__tree-item[data-id="category-9"], #menu-mobile > ul > li[id="category-9"]) {
    --baltesa-category-icon: url("../img/category-icons/electrotechnics.svg?v=94c6320bc254");
    --baltesa-category-icon-display: grid;
}
:where([data-baltesa-category-id="8"], .ps-mainmenu__tree-item[data-id="category-8"], #menu-mobile > ul > li[id="category-8"]) {
    --baltesa-category-icon: url("../img/category-icons/automation.svg?v=4c987d2f13d1");
    --baltesa-category-icon-display: grid;
}
:where([data-baltesa-category-id="11"], .ps-mainmenu__tree-item[data-id="category-11"], #menu-mobile > ul > li[id="category-11"]) {
    --baltesa-category-icon: url("../img/category-icons/security.svg?v=49fe2295cf56");
    --baltesa-category-icon-display: grid;
}
:where([data-baltesa-category-id="343"], .ps-mainmenu__tree-item[data-id="category-343"], #menu-mobile > ul > li[id="category-343"]) {
    --baltesa-category-icon: url("../img/category-icons/ev-charging.svg?v=425b87d71d49");
    --baltesa-category-icon-display: grid;
}

.baltesa-category__icon {
    display: var(--baltesa-category-icon-display, none);
}

:where(
    .baltesa-category__icon,
    .baltesa-navigation .ps-mainmenu__tree-item-wrapper > .ps-mainmenu__tree-link,
    #menu-mobile > ul > li > .menu__link,
    #mobileMenu .js-back-button[data-baltesa-category-id],
    .baltesa-category-branch a[data-baltesa-category-id]
)::before {
    content: "";
    display: var(--baltesa-category-icon-display, none);
    flex: 0 0 auto;
    inline-size: var(--baltesa-primary-category-icon-size, 1.375rem);
    block-size: var(--baltesa-primary-category-icon-size, 1.375rem);
    margin-inline-end: .3125rem;
    background-color: var(--baltesa-category-icon-color, #96392f);
    -webkit-mask: var(--baltesa-category-icon) center / contain no-repeat;
    mask: var(--baltesa-category-icon) center / contain no-repeat;
}

.baltesa-category__icon::before {
    inline-size: 1.8125rem;
    block-size: 1.8125rem;
    margin-inline-end: 0;
}

.baltesa-category-branch .left-block__title-link {
    display: flex;
    align-items: center;
    align-self: stretch;
    flex: 1;
    min-width: 0;
    padding-block: .625rem;
}
.baltesa-category-branch .left-block__title-link::before {
    margin-inline-end: .4375rem;
}

@media (max-width: 767.98px) {
    :where(#menu-mobile > ul > li > .menu__link, .baltesa-category-branch .left-block__title-link) {
        --baltesa-primary-category-icon-size: 1.625rem;
    }
    #menu-mobile > ul > li > .menu__link {
        padding-block: .625rem;
        padding-inline-start: .625rem;
    }
}

.baltesa-navigation .ps-mainmenu__tree-item-wrapper:has(> button[aria-expanded=true], > a:is(.baltesa-active-ancestor, .baltesa-current-category)),
.baltesa-navigation .ps-mainmenu--mobile .menu__list > li:has(> .menu__link:is(.baltesa-active-ancestor, .baltesa-current-category)),
.baltesa-category-branch .left-block__title:has(> [aria-current=page], > button[aria-expanded=true]),
.baltesa-category-branch :is(.is-current, .is-active-ancestor) > .category-tree__item-header,
.baltesa-category-branch .category-tree__item-header:has(> button[aria-expanded=true]) {
    --baltesa-category-icon-color: currentColor;
}

/* Subcategory line icons come from the shared SVG sprite. */
[data-baltesa-subcategory-icon] {
    --baltesa-subcategory-icon-size: 1.3125rem;
    --baltesa-subcategory-icon-inset: .625rem;
}
@media (max-width: 767.98px) {
    [data-baltesa-subcategory-icon] {
        --baltesa-subcategory-icon-size: 1.5rem;
    }
}
.baltesa-navigation .ps-mainmenu--desktop :is(.submenu__left-item, .submenu__right-items .menu-item__group-main-item)[data-baltesa-subcategory-icon],
.ps-mainmenu--mobile .menu__list > li > .menu__link[data-baltesa-subcategory-icon],
.baltesa-category-branch .category-tree__item-link[data-baltesa-subcategory-icon] {
    position: relative;
    padding-inline-start: calc(var(--baltesa-subcategory-icon-inset) + var(--baltesa-subcategory-icon-size) + .4375rem);
}
.baltesa-subcategory-icon {
    position: absolute;
    inset-inline-start: var(--baltesa-subcategory-icon-inset);
    inset-block-start: 50%;
    inline-size: var(--baltesa-subcategory-icon-size);
    block-size: var(--baltesa-subcategory-icon-size);
    transform: translateY(-50%);
    color: var(--baltesa-category-icon-color, #96392f);
    fill: none;
    stroke: currentColor;
    stroke-width: 1.75;
    stroke-linecap: round;
    stroke-linejoin: round;
    pointer-events: none;
}
.baltesa-navigation :is(.submenu__left-item, .menu-item__group-main-item):is([aria-selected=true], .baltesa-active-ancestor, .baltesa-current-category) {
    --baltesa-category-icon-color: currentColor;
}
