/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */


/* =========================================================
   HOME PAGE 
   Product sliders and everything else on home page
========================================================= */

body#index .page-content--home {
    gap: 1rem;
}

body#index .module-products--slider {
    margin-block: 2.5rem;
}

body#index .module-products__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

body#index .module-products__header .section-title {
    margin-bottom: 0;
}

body#index .module-products__buttons {
    margin: 0;
}

body#index .module-products__slider {
    position: relative;
}

body#index .module-products__viewport {
    overflow-x: auto;
    overflow-y: visible;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding-bottom: 32px;
    margin-bottom: -32px;
}

body#index .module-products__viewport::-webkit-scrollbar {
    display: none;
}

body#index .module-products__viewport .products {
    display: flex;
    flex-wrap: nowrap;
    gap: 1rem;
}

body#index .module-products__viewport .product-miniature {
    flex: 0 0 calc((100% - 3rem) / 4);
    scroll-snap-align: start;
}

body#index .module-products__nav {
    position: absolute;
    top: 42%;
    z-index: 2;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 50%;
    background: #fff;
    color: #232323;
    box-shadow: 0 4px 16px rgba(0,0,0,.08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

body#index .module-products__nav--prev {
    left: -19px;
}

body#index .module-products__nav--next {
    right: -19px;
}

body#index .module-products__nav:hover {
    color: #000;
    box-shadow: 0 6px 20px rgba(0,0,0,.12);
}

body#index .module-products__nav .material-icons {
    font-size: 24px;
}

/* Tablet */
@media (max-width: 1199.98px) {
    body#index .module-products__viewport .product-miniature {
        flex-basis: calc((100% - 2rem) / 3);
    }
}

/* Mobile */
@media (max-width: 767.98px) {
    body#index .module-products__header {
        align-items: flex-start;
        flex-direction: column;
    }

    body#index .module-products__viewport .product-miniature {
        flex-basis: calc((100% - 1rem) / 2);
    }

    body#index .module-products__nav {
        display: none;
    }
}
/* Show small hint of next product in the end of the slider*/
/* Very small phones */
@media (max-width: 359.98px) {
    body#index .module-products__viewport .product-miniature {
        flex-basis: 80%;
    }
}

/* Desktop: show 4.2 products */
body#index .module-products__viewport .product-miniature {
    flex: 0 0 calc((100% - 3rem) / 4.2);
}
/*Tablet*/
@media (max-width: 1199.98px) {
    body#index .module-products__viewport .product-miniature {
        flex-basis: calc((100% - 2rem) / 3.2);
    }
}
/*Mobile*/
@media (max-width: 767.98px) {
    body#index .module-products__viewport .product-miniature {
        flex-basis: calc((100% - 1rem) / 2.2);
    }
}

/*Very small phones*/
@media (max-width: 359.98px) {
    body#index .module-products__viewport .product-miniature {
        flex-basis: 80%;
    }
}

/* Homepage sliders: reduce spacing between sections */
body#index .module-products--slider {
    margin-block: 0.8rem;
}

#ybc-nivo-slider-wrapper.theme-default {
    margin-bottom: 0;
}

/* =========================================================
   CMS PAGES
   Everything on CMS pages
========================================================= */
/* CMS pages: content card */
body#cms #content.page-content {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 12px;
    padding: 35px 35px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

/* CMS pages: softer body text */
body#cms #content.page-content,
body#cms #content.page-content p,
body#cms #content.page-content li {
    color: var(--bs-secondary-color);
}

/* Keep headings strong */
body#cms #content.page-content h1,
body#cms #content.page-content h2,
body#cms #content.page-content h3,
body#cms #content.page-content h4 {
    color: var(--bs-body-color);
}

@media (max-width: 767.98px) {
    body#cms #content.page-content {
        padding: 24px 20px;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    body#cms.layout-left-column #left-column,
    body#cms.layout-left-column #center-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* =========================================================
   PRODUCT PAGE
   Product page appearance fixes
========================================================= */
 /* Product description full width */
.product__bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
}

.product__bottom-left {
    width: 100% !important;
    max-width: 100% !important;
}

.product__bottom-right {
    display: none !important;
}

/* Product page bottom product blocks: 4 products per row on desktop */
@media (min-width: 1200px) {
    body#product.layout-left-column .product__accessories .products,
    body#product.layout-left-column .ps-categoryproducts .products,
    body#product.layout-left-column .ps-viewedproduct .products,
    body#product.layout-left-column .ps-crossselling .products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Product page bottom product blocks: 3 products per row on medium desktop/tablet */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body#product.layout-left-column .product__accessories .products,
    body#product.layout-left-column .ps-categoryproducts .products,
    body#product.layout-left-column .ps-viewedproduct .products,
    body#product.layout-left-column .ps-crossselling .products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

/* Product page: spacing for share buttons under product thumbnails */
body#product .product__left .ps-sharebuttons {
    margin-top: 14px;
}

/* Viewed products in left column: 2 thumbnails per row, image only */
#left-column .ps-viewedproduct .module-products {
    padding: 0;
}

#left-column .ps-viewedproduct .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

/* Product page stacked sidebar: viewed products 3 per row on tablet screens */
@layer ps-components {
    @media (min-width: 360px) and (max-width: 991.98px) {
        body#product.layout-left-column #left-column .ps-viewedproduct .products,
        body#category.layout-left-column #left-column .ps-viewedproduct .products,
        body#cms.layout-left-column #left-column .ps-viewedproduct .products {
            grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }
    }
}

/* Hide duplicate Product Comments review button under add-to-cart */
body#product .product__right .product-comments-additional-info,
body#product .product__right .comments_note,
body#product .product__right .post-product-comment {
    display: none !important;
}

/* Product page: volume discount title */
body#product .product__discounts-title {
    margin: 0 0 0px;
    font-weight: 550;
}

/* Product page: DSP calculator products - balance add-to-cart button inset */
@media (min-width: 576px) {
    html.has-dsp-calculator body.page-product .product__add-to-cart {
        margin-right: 1rem;
    }
}

/* Hide quick view in left column thumbnails*/ 
#left-column .ps-viewedproduct .product-miniature__bottom,
#left-column .ps-viewedproduct .product-miniature__quickview-button,
#left-column .ps-viewedproduct .product-flags {
    display: none !important;
}

#left-column .ps-viewedproduct .product-miniature__top {
    margin: 0;
}

#left-column .ps-viewedproduct .product-miniature__image-container,
#left-column .ps-viewedproduct .product-miniature__image {
    width: 100%;
}

#left-column .ps-viewedproduct .product-miniature__inner {
    box-shadow: none;
    background: transparent;
}

/* Product page LEFT sidebar viewed products: 2 image-only thumbnails */
body#product.layout-left-column #left-column .ps-viewedproduct .products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

body#product.layout-left-column #left-column .ps-viewedproduct .product-miniature__bottom,
body#product.layout-left-column #left-column .ps-viewedproduct .product-miniature__quick-view,
body#product.layout-left-column #left-column .ps-viewedproduct .quick-view,
body#product.layout-left-column #left-column .ps-viewedproduct .product-flags {
    display: none !important;
}

/* Product page: make image and info columns equal width on desktop */
@media (min-width: 992px) {
    body#product .product__container {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    }
}

/* Product short description: softer contrast */
body#product .product__description-short {
    color: var(--bs-secondary-color);
}

/* Product page: reduce Hummingbird right column vertical spacing to make it more compact*/
@layer ps-pages {
  @media (min-width: 1200px) {
    body#product.page-product .product__actions,
    body#product.page-product .product__add-to-cart-container,
    body#product.page-product .product__availability,
    body#product.page-product .product__customization,
    body#product.page-product .product__description-short,
    body#product.page-product .product__discounts,
    body#product.page-product .product__manufacturer,
    body#product.page-product .product__minimal-quantity,
    body#product.page-product .product__name,
    body#product.page-product .product__pack,
    body#product.page-product .product__prices,
    body#product.page-product .product__variants {
      margin-block-end: 1rem;
    }
  }
}

/* Product page long description paragrah text color different than H1, H2, H3 */
body#product #tab-description .product-tabs__pane-content p,
body#product #tab-description .product-tabs__pane-content li {
    color: var(--bs-secondary-color);
}

/* Product description lists */
body#product #tab-description .product-tabs__pane-content ul,
body#product #tab-description .product-tabs__pane-content ol {
    padding-left: 3rem;
}

body#product #tab-description .product-tabs__pane-content ul {
    list-style: disc;
}

body#product #tab-description .product-tabs__pane-content ol {
    list-style: decimal;
}

body#product #tab-description .product-tabs__pane-content li {
    padding-left: 0.25rem;
    margin-bottom: 0.35rem;
}

/* Hide "tax included" text on product page */
body#product .product__tax-infos {
    display: none !important;
}

/* Regular price */
.product__price {
    color: #2fb5d2;
}

/* Discounted product price only */
body#product .product__price--discounted {
    color: #f28c52;
    font-weight: 700;
    line-height: 1.2;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* Discount badge classic style */
body#product .product__discount-badge {
    display: inline-flex;
    align-items: center;
    padding: 5px 9px;
    background: #f28c52;
    color: #fff !important;
    font-size: 0.9rem;
    font-weight: 700;
    border-radius: 3px;
    line-height: 1;
}
/* Product image badges: unified classic style */
@layer ps-components {
  .product-flags .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 10px;
    line-height: 0.9;
    font-weight: 600;
    border-radius: 2px;
    box-shadow: 2px 2px 4px 0 rgba(0,0,0,.2);
  }

  .product-flags .badge.discount {
    background-color: #f28c52;
    color: #fff;
    border: 0;
  }
}

/* Product page: make discounted old price row more compact */
body#product .product__discount-price {
    margin-bottom: -0.5rem;
}

/* Product page buttons and fields: subtle shadow */
body#product .product__right .btn {
    box-shadow: 1px 2px 4px rgba(0,0,0,.15);
}

body#product .product__variants .form-select,
body#product .product__quantity .form-control {
    box-shadow: 1px 2px 4px rgba(0,0,0,.08);
}

/* Product page product area form fields only */
body#product .product__variants .form-select,
body#product .product__customization .form-control,
body#product .product__quantity.quantity-button,
body#product .product__quantity .form-control  {
    background-color: #fff;
}

/* DSP calculator card similar to customization block*/
.dsp-calculator.card .card-body {
	box-shadow: 1px 2px 8px rgba(0,0,0,.08);
}

/* Product customization block: white card, inner fields match page background, more compact*/
body#product .product__customization {
    background: #fff;
    border: none;
    margin-top: 10px;
    padding: 0.5rem 0.7rem 0.7rem 0.7rem;
    box-shadow: 1px 2px 8px rgba(0,0,0,.18);
}

body#product .product__customization .form-control,
body#product .product__customization textarea,
body#product .product__customization input {
    background: var(--bs-body-bg);
}

body#product .product-customization__title{
    display: none;
}

@layer ps-components {
  .product-customization__item {
    border-block-start: none;
    margin-block-end: 0;
    margin-block-start: 0;
    padding-block-start: 0;
  }
}

body#product .product-customization__textarea,
body#product textarea.product-message {
    height: 40px;
}

body#product .product-customization__notice {
    font-size: 0.9rem;
    line-height: 1.35;
    color: #444;
    margin-bottom:0.3rem;
}

/* Product customization file input text color */
body#product .product__customization input[type="file"] {
    color: var(--bs-secondary-color);
}

/* Product customization: align buttons to the right */
body#product .product__customization .product-customization__field {
    display: flex;
    flex-direction: column;
}

body#product .product__customization .btn {
    align-self: flex-end;
}

/* Product customization: hide optional labels and move jpg/gif/png and max250tm to the right*/
body#product .product__customization .product-customization__field-footer small:last-child {
    display: none;
}

body#product .product__customization .product-customization__field-footer {
    display: flex;
    justify-content: flex-end;
}

body#product .product__customization .product-customization__field-footer small:first-child {
    margin-left: auto;
}

/* Product customization: file upload button classic/primary style */
body#product .product__customization input[type="file"]::file-selector-button {
    background: var(--bs-primary);
    color: #fff;
    border: 0;
    padding: 0.45rem 0.9rem;
    margin-right: 12px;
    cursor: pointer;
}

body#product .product__customization input[type="file"]::-webkit-file-upload-button {
    background: var(--bs-primary);
    color: #fff;
    border: 0;
    padding: 0.45rem 0.9rem;
    margin-right: 12px;
    cursor: pointer;
}

/* Product customization buttons aligned right */
body#product .product__customization .btn {
    display: table;
    margin-left: auto;
}

/*Product cutomization fields translatable*/
body#product .product-customization__file {
    display: flex;
    align-items: center;
    background: var(--bs-body-bg);
    border: 1px solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    overflow: hidden;
}

body#product .product-customization__file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

body#product .product-customization__file-button {
    margin: 0;
    border-radius: 0;
    white-space: nowrap;
}

body#product .product-customization__file-name {
    padding: 0.45rem 0.9rem;
    color: var(--bs-secondary-color);
}

body#product .product-customization__file {
    justify-content: flex-start;
}

body#product .product-customization__file-button {
    order: 1;
    flex: 0 0 auto;
}

body#product .product-customization__file-name {
    order: 2;
    flex: 1 1 auto;
    min-width: 0;
}

/* Product color variants: responsive controlled grid */
body#product .product-variant__colors {
    display: grid;
    gap: 13px;
    width: 100%;
}

body#product .product-variant__color {
    width: 100%;
}

body#product .product-variant__color .input-color__label,
body#product .product-variant__color .color {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
}

/* Small Mobile */
@media (max-width: 485.98px) {
    body#product .product-variant__colors {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
}

/* Mobile */
@media (min-width: 486px) and (max-width: 575.98px) {
    body#product .product-variant__colors {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/* Small tablet */
@media (min-width: 576px) and (max-width: 991.98px) {
    body#product .product-variant__colors {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/* Large tablet */
@media (min-width: 992px) and (max-width: 1199.98px) {
    body#product .product-variant__colors {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }
}
/* Desktop */
@media (min-width: 1200px) and (max-width: 1399.98px) {
    body#product .product-variant__colors {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        gap: 10px !important;
    }
}

/* Large desktop */
@media (min-width: 1400px) {
    body#product .product-variant__colors {
        grid-template-columns: repeat(12, minmax(0, 1fr));
    }
}

/* Product color variants: clearer swatches */
body#product .product-variant__color .input-color__label,
body#product .product-variant__color .color {
    border-radius: 2px;
    border: none;
    box-shadow: 1px 2px 4px rgba(0,0,0,.18);
}

/* Product image: allow opening zoom modal by clicking the image without changing image styling */
body#product .product__carousel .carousel-item {
    position: relative;
}

body#product .product__cover-click-zoom {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

/* Hide default small zoom button */
body#product .product__zoom {
    display: none !important;
}

/* Larger product thumbnails on desktop */

@media (min-width: 992px) and (max-width: 1999.98px) {

    body#product .product__thumbnails-list {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 12px !important;
        width: 100%;
    }

    body#product .product__thumbnail.focus-ring.js-thumb-container {
        width: 100% !important;
        max-width: none !important;
    }

    body#product .product__thumbnail-image {
        width: 100% !important;
        height: auto !important;
    }
}

@media (min-width: 1200px) {

    body#product .product__thumbnails-list {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 12px !important;
        width: 100%;
    }

    body#product .product__thumbnail.focus-ring.js-thumb-container {
        width: 100% !important;
        max-width: none !important;
    }

    body#product .product__thumbnail-image {
        width: 100% !important;
        height: auto !important;
    }
}

/* Product page: hide main image carousel arrows on desktop when image click opens zoom modal */
@media (min-width: 992px) {
    body#product .product__carousel .carousel-control-prev,
    body#product .product__carousel .carousel-control-next {
        display: none !important;
    }
}

/* Product modal: fixed compact classic-style image stage */
body#product #product-modal .modal-dialog {
    width: fit-content;
    max-width: calc(100vw - 40px);
    margin: 20px auto;
}

body#product #product-modal .modal-content {
    background: transparent;
    border: 0;
    box-shadow: none;
}

body#product #product-modal .modal-header {
    padding: 0;
    border: 0;
}

body#product #product-modal .btn-close {
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 10;
}

body#product #product-modal .modal-body {
    padding: 0;
}

body#product #product-modal .carousel-item {
    text-align: center;
    transition: none !important;
}

body#product .product-images-modal__layout {
    display: grid;
    grid-template-columns: auto 140px;
    gap: 14px;
    align-items: start;
}

body#product .product-images-modal__carousel,
body#product .product-images-modal__figure {
    width: min(760px, calc(100vw - 180px));
    max-width: min(760px, calc(100vw - 180px));
    margin: 0;
}

body#product .product-images-modal__image {
    display: block;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 170px);
    object-fit: contain;
    border-radius: 4px;
}

body#product .product-images-modal__caption {
    width: min(760px, calc(100vw - 180px));
    box-sizing: border-box;
    margin: 0;
    padding: 8px 12px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.35;
    text-align: left;
}

body#product .product-images-modal__thumbs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
}

body#product .product-images-modal__thumb {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

body#product .product-images-modal__thumb img {
    display: block;
    width: 140px;
    height: auto;
    border-radius: 4px;
}

@media (max-width: 767px) {
    body#product .product-images-modal__layout {
        grid-template-columns: 1fr;
    }

    body#product .product-images-modal__carousel,
    body#product .product-images-modal__figure,
    body#product .product-images-modal__caption {
        width: calc(100vw - 30px);
        max-width: calc(100vw - 30px);
    }

    body#product .product-images-modal__thumbs {
        flex-direction: row;
        overflow-x: auto;
        overflow-y: hidden;
    }

    body#product .product-images-modal__thumb img {
        width: 70px;
    }
}

/* Product modal: remove image slide transition */
body#product #product-modal .carousel-item {
    transition: none !important;
}

body#product #product-modal .carousel-item {
    text-align: center;
}

/* Product modal: fixed compact image stage */
body#product #product-modal .modal-dialog {
    width: fit-content;
    max-width: calc(100vw - 40px);
    margin: 20px auto;
}

body#product .product-images-modal__layout {
    display: grid;
    grid-template-columns: auto 140px;
    gap: 14px;
    align-items: start;
}

body#product .product-images-modal__carousel,
body#product .product-images-modal__figure {
    width: min(760px, calc(100vw - 180px));
    max-width: min(760px, calc(100vw - 180px));
}

body#product .product-images-modal__image {
    display: block;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
    max-height: calc(100vh - 170px);
    height: auto;
    object-fit: initial;
    border-radius: 4px;
}

body#product .product-images-modal__caption {
    width: min(760px, calc(100vw - 180px));
    box-sizing: border-box;
    margin: 0;
    padding: 8px 12px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1.35;
    text-align: left;
}

/* Force modal main image to fill the fixed stage width */
body#product #product-modal .product-images-modal__figure > img.product-images-modal__image {
    display: block !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

/* Modal image */
body#product .product-images-modal__image {
    border-radius: 3px;
    display: block;
}

/* Caption under image */
body#product .product-images-modal__caption {
    margin-top: 8px;
    padding: 10px 14px;
    border-radius: 3px;
    background: rgba(255,255,255,0.96);
    font-size: 13px;
    line-height: 1.35;
}

/* Open zoom modal only on desktop/tablet-wide */
@media (max-width: 991.98px) {
    body#product .product__cover-click-zoom,
    body#product .product__zoom {
        display: none !important;
        pointer-events: none !important;
    }
}

/*Product desritpion block from accordion to tabs*/
body#product .product-tabs__nav {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 0;
}

body#product .product-tabs__tab {
    appearance: none;
    background: transparent;
    border: 0;
    color: var(--bs-body-color);
    padding: 0.75rem 1.4rem;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.3;
}

body#product .product-tabs__tab + .product-tabs__tab {
    border-left: 1px solid var(--bs-border-color);
}

body#product .product-tabs__tab::after {
    content: "";
    display: inline-block;
    width: 0.55rem;
    height: 0.55rem;
    margin-left: 0.55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
}

body#product .product-tabs__tab.active {
    color: var(--bs-primary);
}

body#product .product-tabs__tab.active::after {
    transform: rotate(225deg) translateY(-2px);
}

body#product .product-tabs__content {
    padding-top: 1.25rem;
}

/* Product attachments: link flat layout on tablet/desktop */
@media (min-width: 768px) {
    body#product .product__attachments .attachment {
        border: 0;
        background: transparent;
        padding: 0;
        box-shadow: none;
    }
}

/* Product page: description text line height */
body#product .product__description-short.rich-text,
body#product .product__description-full.rich-text {
    line-height: 1.45;
}

/*Product page FAQ section*/
body#product .faq-product-wrapper {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
    padding: 1.5rem 1.5rem 1.5rem;
    margin-bottom: 2.5rem;
    margin-top: 1rem !important;
}

body#product section.faq-product-wrapper .faq-list details.faq-item .faq-answer p {
    color: var(--bs-secondary-color);
    margin: 0.5rem 0 0.75rem;
    line-height: 1.5;
}

body#product .faq-product-wrapper .faq-title {
    margin-bottom: 0.25rem;
}

/* Product FAQ: compact item spacing */
body#product .faq-product-wrapper .faq-list {
    margin-top: 0.1rem;
}

body#product .faq-product-wrapper .faq-item {
    display: block;
    margin-bottom: 0.7rem;
}

body#product .faq-product-wrapper .faq-item:last-child {
    margin-bottom: 0;
}

/* Less gap between product description and Faq module*/
@media (min-width: 1200px) {
    .page-product .product__bottom-left {
        margin-block-end: 1.8rem;
    }
}



/* =========================================================
   CATEGORY PAGE
   Category appearance fixes blow this line
========================================================= */
/* Product listing pages: sort dropdown background */
body#prices-drop .sort-by-row .form-select,
body#new-products .sort-by-row .form-select,
body#best-sales .sort-by-row .form-select,
body#prices-drop .products-sort-order .form-select,
body#new-products .products-sort-order .form-select,
body#best-sales .products-sort-order .form-select {
    background-color: #fff;
    box-shadow: 1px 2px 4px rgba(0,0,0,.08);
}

/* Category description softer text */
body#category .category__description.rich-text,
body#category .category__description.rich-text p,
body#category .category__description.rich-text li {
    color: var(--bs-secondary-color);
}

/* =========================================================
   CART PAGE
   Ostukorv, summary, product lines, mobile cart fixes
========================================================= */

body#cart .cart-grid__products-details {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 10px;
    padding: 0 28px 0px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

body#cart .cart-grid__aside-wrapper {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 10px;
    padding: 28px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
    margin-top: 20px;
}

/* Cart mobile: reduce gap between cart products and order summary */
@media (max-width: 991.98px) {
    body#cart .cart-grid__content {
        margin-block-end: 0;
    }
}

/* Empty cart: lower summary card slightly */
body#cart .cart-grid__aside .cart-summary {
    margin-top: 18px;
}

/* Keep separators aligned */
body#cart .cart__overview > hr:first-child {
    margin-left: -28px;
    margin-right: -28px;
}

/* Bottom separator unnecessary */
body#cart .cart__overview > hr:last-child {
    display: none;
}

/* Cart page: discount price styling similar to product/category pages */
body#cart .product-line__item--prices {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

body#cart .product-line__discount-row {
    display: flex;
    align-items: center;
    gap: 10px;
}

body#cart .product-line__item-price--discounted {
    color: #f28c52;
    font-weight: 700;
}

body#cart .product-line__item-discount {
    display: inline-flex;
    align-items: center;
    padding: 7px 12px;
    border-radius: 4px;
    background: #f28c52;
    color: #fff;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}

body#cart .product-line__item-regular-price {
    color: #6c757d;
    text-decoration: line-through;
}

/* Cart page: keep order summary and reassurance sticky together */
@media (min-width: 992px) {
    body#cart .cart-grid__aside {
        position: sticky;
        top: var(--scroll-padding-top);
        align-self: flex-start;
        z-index: 2;
    }

    body#cart .cart-grid__aside-wrapper {
        position: static;
        top: auto;
        z-index: auto;
    }
}

/* Cart page: remove unnecessary top separator above first cart item */
body#cart .cart__overview > hr:first-of-type {
    display: none;
}

/* Cart page: add top spacing after removing first separator */
body#cart .cart__list {
    padding-top: 24px;
}

/* Compact order summary block vertically only */

body#cart .cart-grid__aside-wrapper {
    padding-top: 18px;
    padding-bottom: 18px;
}

body#cart .cart-grid__aside-wrapper h2 {
    margin-bottom: 14px;
}

body#cart .cart-summary-line {
    padding-top: 8px;
    padding-bottom: 8px;
}

body#cart .cart-summary__totals {
    margin-top: 8px;
}

body#cart .cart-summary__promocode {
    margin-top: 10px;
}

body#cart .checkout .btn {
    margin-top: 10px;
}

body#cart .blockreassurance_product {
    margin-top: 14px;
}

/* Tighter spacing inside order summary */

body#cart .cart-summary__line {
    padding-top: 6px;
    padding-bottom: 6px;
}

body#cart .cart-summary hr {
    margin-top: 10px;
    margin-bottom: 10px;
}

body#cart .cart-summary__promocode {
    margin-top: 4px;
    margin-bottom: 6px;
}

body#cart .cart-summary__actions.checkout {
    margin-top: 6px;
}

/* Reduce gap between promocode block and checkout button */

body#cart .cart-summary__actions {
    margin-top: 8px;
    padding-top: 0;
}

body#cart .cart-summary__actions .btn {
    margin-top: 0;
}

/* Match promocode area background with summary wrapper */

body#cart .cart-voucher__accordion,
body#cart .cart-voucher__accordion-item,
body#cart .cart-voucher__accordion-button {
    background-color: #fff;
}

/* Cart page: continue shopping as simple text link */
body#cart .cart__continue-shopping {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #232323;
    font-size: 1.08rem;
    font-weight: 400;
    text-decoration: none;
    transition: all .18s ease;
    margin-top: 18px;
    margin-left: 18px;
}

body#cart .cart__continue-shopping:hover {
    color: #000;
    font-weight: 600;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body#cart .cart__continue-shopping::before {
    transition: all .18s ease;
}

/* Continue shopping arrow like Hummingbird accordion */
body#cart .cart__continue-shopping .material-icons {
    display: none;
}

body#cart .cart__continue-shopping::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 4px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    vertical-align: middle;
    transition: all .18s ease;
}

/* Add breathing room below header on cart page */
body#cart .page-title-section {
    margin-top: 10px;
}

/* Cart: remove link as black trash icon */
body#cart .product-line__actions .js-remove-from-cart {
    color: #232323;
    text-decoration: none;
}

body#cart .product-line__actions .js-remove-from-cart:hover {
    color: #000;
}

body#cart .product-line__actions .material-icons {
    font-size: 22px;
    line-height: 1;
}

/* Cart row desktop: qty + total + trash on one row */
@media (min-width: 1200px) {
    body#cart .product-line__content {
        grid-template-columns: minmax(0, 1fr) auto;
        column-gap: 28px;
        align-items: start;
    }

    body#cart .product-line__content-right {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    align-self: center;
    margin-block-end: 0;
}

    body#cart .product-line__quantity-button {
        width: 9rem;
        max-width: 9rem;
        flex: 0 0 9rem;
        margin: 0;
    }

    body#cart .product-line__quantity-button .quantity-button__group {
        width: 100%;
        flex-wrap: nowrap;
    }

    body#cart .product-line__price {
        min-width: 82px;
        text-align: right;
        white-space: nowrap;
        font-weight: 700;
    }

    body#cart .product-line__actions {
    grid-column: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 24px;
    margin-left: 50px;
    }
}

/* Cart tablet/smaller desktop: separate trash icon */
@media (max-width: 1199.98px) {
    body#cart .product-line__actions {
        margin-top: 18px;
    }
}
/* Empty cart message vertical centering */
body#cart.cart-empty .cart__overview {
    min-height: 88px;
    padding: 0 32px;
    display: flex;
    align-items: center;
}

body#cart.cart-empty .cart__empty {
    margin: 0;
}


/* =========================================================
   CHECKOUT PAGE
   Checkout page fixes below this line
========================================================= */

/* Checkout page: form card */
body#checkout .checkout-grid__content .step__content {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 10px;
    padding: 28px 50px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

/* Checkout page: summary card */
body#checkout .checkout-grid__aside-wrapper .cart-summary {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 10px;
    padding: 18px 28px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

/* Checkout page: keep summary internals white */
/* Checkout page: keep only summary internals white */
body#checkout .cart-summary,
body#checkout .checkout-grid__aside-wrapper .accordion-button,
body#checkout .cart-voucher__accordion-button {
    background-color: #fff;
}

/* Checkout page: sticky right column on desktop */
@media (min-width: 992px) {
    body#checkout .checkout-grid__aside {
        position: sticky;
        top: var(--scroll-padding-top);
        align-self: flex-start;
        z-index: 2;
    }
}

/* Checkout page: mobile spacing */
@media (max-width: 767.98px) {
    body#checkout .checkout-grid__content .step__content,
    body#checkout .checkout-grid__aside-wrapper {
        padding: 20px;
    }
}

/* Checkout summary: product details accordion background */
body#checkout .checkout-grid__aside-wrapper .accordion-button {
    background-color: #fff;
}

/* Checkout progress bar compact */
body#checkout .checkout-steps {
    padding-top: 15px;
    padding-bottom: 10px;
    margin-bottom: 0px;
    background: transparent;
    border-bottom: 0;
}

body#checkout .checkout-steps .checkout-step {
    padding-top: 0;
    padding-bottom: 0;
}

body#checkout .checkout-steps .checkout-step__title,
body#checkout .checkout-steps .step-title {
    margin-top: 4px;
    font-size: .95rem;
}

/* Checkout: remove separator under step title */
body#checkout .step__title hr {
    display: none;
}

/* Checkout: compact horizontal form fields */
@media (min-width: 768px) {
    body#checkout #customer-form section > .mb-3:has(> label) {
        display: grid;
        grid-template-columns: 170px 1fr;
        column-gap: 1rem;
        align-items: center;
    }

    body#checkout #customer-form section > .mb-3:has(> label) > label {
        margin-bottom: 0;
    }

    body#checkout #customer-form section > .mb-3:has(> label) > .form-control,
    body#checkout #customer-form section > .mb-3:has(> label) > .input-group {
        grid-column: 2;
    }

    body#checkout #customer-form section > .mb-3:has(> label) > .form-text,
    body#checkout #customer-form section > .mb-3:has(> label) > small {
        grid-column: 2;
        margin-top: .25rem;
    }
}

/* Checkout: compact horizontal address fields on desktop/tablet */
@media (min-width: 768px) {
    body#checkout #delivery-address .form-fields > .mb-3:has(> label),
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) {
        display: grid;
        grid-template-columns: 190px 1fr;
        column-gap: 1rem;
        align-items: center;
    }

    body#checkout #delivery-address .form-fields > .mb-3:has(> label) > label,
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) > label {
        margin-bottom: 0;
    }

    body#checkout #delivery-address .form-fields > .mb-3:has(> label) > .form-control,
    body#checkout #delivery-address .form-fields > .mb-3:has(> label) > .form-select,
    body#checkout #delivery-address .form-fields > .mb-3:has(> label) > .input-group,
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) > .form-control,
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) > .form-select,
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) > .input-group {
        grid-column: 2;
    }

    body#checkout #delivery-address .form-fields > .mb-3:has(> label) > .form-text,
    body#checkout #delivery-address .form-fields > .mb-3:has(> label) > small,
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) > .form-text,
    body#checkout #invoice-address .form-fields > .mb-3:has(> label) > small {
        grid-column: 2;
        margin-top: .25rem;
    }
}

/* CustomCheckout address forms - compact desktop layout */
@media (min-width: 768px) {

  body#checkout .customcheckout-address-form .mb-3 {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 0 20px;
    align-items: start;
  }

  body#checkout .customcheckout-address-form .mb-3 > .form-label {
    grid-column: 1;
    margin-top: 10px;
    margin-bottom: 0;
  }

  body#checkout .customcheckout-address-form .mb-3 > .form-control,
  body#checkout .customcheckout-address-form .mb-3 > .form-select {
    grid-column: 2;
  }

  body#checkout .customcheckout-address-form .mb-3 > .form-text,
  body#checkout .customcheckout-address-form .mb-3 > .help-block {
    grid-column: 2;
    margin-top: 4px;
  }
}

.customcheckout-invoice-address {
	background: white;
}

body#checkout input[type="radio"] {
    background: #fff;
}

body#checkout .customcheckout-shipping-help label.form-control-label {
    font-weight: 600;
}

body#checkout .form-check-input:checked {
    background-color: #0d6efd;
    border-color: #ffffff;
    border-width: 3px;
}


/* Checkout: minimal header/footer */

/* Hide right top links */
body#checkout .header-top__right {
    display: none !important;
}

/* Keep phone/contact line */
body#checkout .header-top__left {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    text-align: right;
}

/* Hide everything in main header row except logo */
body#checkout .header-bottom__row > :not(.header-bottom__logo) {
    display: none !important;
}

/* Hide full-width menu */
body#checkout .header-nav-full-width {
    display: none !important;
}

/* Hide footer modules, keep only copyright */
body#checkout .footer__before,
body#checkout .footer__main-top,
body#checkout .footer__main-bottom {
    display: none !important;
}

body#checkout .footer__main {
    padding: 1.25rem 0;
}

body#checkout .copyright {
    text-align: center;
}

/* Checkout: hide search bar, recaptcha fields*/
body#checkout #_desktop_ps_searchbar {
    display: none !important;
}

body#checkout #ps_searchbar {
    display: none !important;
}

body#checkout .mb-3:has(> #field-captcha) {
    display: none !important;
}

/* =========================================================
   CUSTOMER PAGES
   Login, register, password, guest tracking, password reset
========================================================= */

body#authentication .login,
body#registration .register-form,
body#password #content.page-content--customer,
body#guest-tracking #guestOrderTrackingForm,
body#password .forgotten-password {
    max-width: 620px;
    margin: 0 auto 2.5rem;
    padding: 28px;
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 12px;
    box-shadow: 0 8px 26px rgba(0,0,0,.06);
}

body#authentication .page-header,
body#registration .page-header,
body#password .page-header,
body#guest-tracking .page-header {
    max-width: 620px;
    margin-left: auto;
    margin-right: auto;
}

body#authentication .login hr,
body#registration .register-form hr {
    margin: 1.35rem 0;
}

@media (max-width: 767.98px) {
    body#authentication .login,
    body#registration .register-form,
    body#password #content.page-content--customer,
    body#guest-tracking #guestOrderTrackingForm {
        max-width: none;
        margin-left: 12px;
        margin-right: 12px;
        padding: 20px;
    }
}

/* Login page polish */
/* Login page: button and forgot-password layout */
body#authentication #login-form .buttons-wrapper {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    margin-top: 1.25rem;
}

body#authentication #login-form .buttons-wrapper .btn.btn-primary {
    width: 45%;
    min-width: 180px;
    max-width: 260px;
}

body#authentication #login-form .buttons-wrapper a.btn.btn-basic {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-weight: 400;
}

/* Login page make register prompt look like text link */
body#authentication .login__register-prompt {
    text-align: center;
}

body#authentication .login__register-prompt h2 {
    display: none;
}

body#authentication .login__register-prompt .d-grid {
    display: block !important;
}

/* Hide recaptha fieads*/
body#registration .mb-3:has(> #field-captcha) {
    display: none !important;
}

/* Login page links */
body#authentication #login-form .buttons-wrapper a.btn.btn-basic,
body#authentication .login__register-prompt .btn.btn-outline-primary {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    font-weight: 400;
    color: var(--bs-link-color);
    transition: opacity .18s ease, color .18s ease;
}

/* Hover effect without underline */
body#authentication #login-form .buttons-wrapper a.btn.btn-basic:hover,
body#authentication .login__register-prompt .btn.btn-outline-primary:hover {
    background: transparent;
    box-shadow: none;
    text-decoration: none;

    color: #0b5ed7;
    font-weight: 550;
}

/* Login page: more spacing between login button and forgot-password */
body#authentication #login-form .buttons-wrapper {
    gap: 1.15rem;
}

/* Login page buttons: subtle shadow */
body#authentication #login-form .btn.btn-primary,
body#authentication #login-form .show-password {
    box-shadow: 1px 2px 4px rgba(0,0,0,.15);
}

body#authentication #login-form .btn.btn-primary:hover,
body#authentication #login-form .show-password:hover {
    box-shadow: 1px 2px 4px rgba(0,0,0,.15);
} 

/* Guest tracking: registered customer link */
body#guest-tracking .guest-tracking-login-separator {
    margin: 1.5rem 0 1rem;
}

body#guest-tracking .guest-tracking-login-link {
    text-align: center;
    margin-bottom: 0;
}

body#guest-tracking .guest-tracking-login-link a {
    text-decoration: none;
    transition: color .18s ease, font-weight .18s ease;
}

body#guest-tracking .guest-tracking-login-link a:hover {
    text-decoration: none;
    color: #084298;
    font-weight: 600;
}

/* Guest tracking: order details page content card */
body#guest-tracking #content.page-content--customer:has(.order-infos) {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 12px;
    padding: 35px 35px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

/* Guest tracking: order details title should not keep narrow tracking-form width */
body#guest-tracking .center-column:has(#content.page-content--customer .order-infos) .page-header {
    max-width: none;
}

@media (max-width: 767.98px) {
    body#guest-tracking #content.page-content--customer:has(.order-infos) {
        padding: 24px 20px;
    }
}

/* Customer account pages */
body.page-customer-account #content.page-content--customer {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 12px;
    padding: 35px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

@media (max-width: 767.98px) {
    body.page-customer-account #content.page-content--customer {
        padding: 24px 20px;
    }
}

/* Registered customer account pages: white content wrapper */
body#my-account #content.page-content--customer,
body#identity #content.page-content--customer,
body#addresses #content.page-content--customer,
body#address #content.page-content--customer,
body#history #content.page-content--customer,
body#order-detail #content.page-content--customer,
body#order-slip #content.page-content--customer,
body#discount #content.page-content--customer,
body#module-psgdpr-gdpr #content.page-content--customer {
    background: #fff;
    border: 1px solid rgba(0,0,0,.05);
    border-radius: 12px;
    padding: 35px;
    box-shadow: 0 6px 24px rgba(0,0,0,.04);
}

@media (max-width: 767.98px) {
    body#identity #content.page-content--customer,
    body#addresses #content.page-content--customer,
    body#address #content.page-content--customer,
    body#history #content.page-content--customer,
    body#order-detail #content.page-content--customer,
    body#order-slip #content.page-content--customer,
    body#discount #content.page-content--customer,
    body#module-psgdpr-gdpr #content.page-content--customer {
        padding: 24px 20px;
    }
}

/* =========================================================
   PASSWORD RESET PAGE
========================================================= */

@media (max-width: 767.98px) {
    body#password .forgotten-password {
        margin-left: 12px;
        margin-right: 12px;
        padding: 20px;
    }
}

/* Reset password button */
body#password .btn.btn-primary {
    box-shadow: 1px 2px 4px rgba(0,0,0,.15);
    transition: box-shadow .18s ease;
}

body#password .btn.btn-primary:hover {
    box-shadow: 1px 3px 6px rgba(0,0,0,.18);
}


/* =========================================================
   CONTACT PAGE
========================================================= */

body#contact .contact-form {
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 12px;
    padding: 28px;
    box-shadow: 0 8px 26px rgba(0,0,0,.06);
}

/* Contact form submit button */
body#contact .contact-form .btn-primary {
    box-shadow: 1px 2px 4px rgba(0,0,0,.15);
    transition: box-shadow .18s ease;
}

body#contact .contact-form .btn-primary:hover {
    box-shadow: 1px 3px 6px rgba(0,0,0,.18);
}

@media (max-width: 767.98px) {
    body#contact .contact-form {
        padding: 20px;
    }
}


/* =========================================================
   GLOBAL CODE
   Code that affects global appearance below this line
========================================================= */
/* Sticky footer background to bottom of viewport */
html,
body {
    min-height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main#wrapper {
    flex: 1 0 auto;
}

footer#footer {
    margin-top: auto;
}

/* Top bar color*/
#header { background: rgb(255, 255, 255) !important; }

:root {
    --bs-body-bg: #f6f6f6;
}

select.form-select.js-language-selector {
    background-color: #fff
}

select.form-select.js-currency-selector {
    background-color: #fff
}
/* Larger logo*/
.header-bottom .navbar-brand .logo {
	max-height: 4rem;
}

/* Catalog product cards: hide variants and add-to-cart controls */
.product-miniature__variants,
.product-miniature__actions {
    display: none !important;
}

/* Product miniature title: dark color + 2-line clamp */
.product-miniature .product-miniature__title {
    color: #222 !important;
    text-decoration: none !important;

    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: normal !important;

    line-height: 1.35;
    max-height: 2.7em;

    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;

    overflow-wrap: break-word;
    word-break: normal;
}

/* Breadcrumb more compact*/
.breadcrumb__wrapper{
    margin-bottom: 0.2rem;
}

/* Breadcrumb color not default blue */
body#product .breadcrumb-link {
    color: #777;
    text-decoration: none;
}

body#product .breadcrumb-link:hover {
    color: #222;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    body#product.layout-left-column #left-column,
    body#product.layout-left-column #center-column,
    body#category.layout-left-column #left-column,
    body#category.layout-left-column #center-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

/* Product listing pages: sort dropdown button background */
.products__sort-dropdown-button {
    background-color: #fff;
    box-shadow: 1px 2px 4px rgba(0,0,0,.08);
}

/* Module product section buttons */

.module-products__buttons .btn.btn-outline-primary {
    border-color: rgba(37, 99, 235, 0.35);

    box-shadow:
        0 1px 2px rgba(0,0,0,.04),
        0 2px 8px rgba(37,99,235,.06);

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease,
        color .18s ease,
        transform .18s ease;
}

.module-products__buttons .btn.btn-outline-primary:hover {
    transform: translateY(-1px);

    border-color: #2563eb;

    box-shadow:
        0 4px 14px rgba(37,99,235,.16),
        0 2px 6px rgba(0,0,0,.06);
}

/* Reassurance icons color */
.reassurance__image svg path {
    fill: #f28c52 !important;
}

/* Product cards: white card background 
.product-miniature .product-miniature__inner {
    background-color: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,.05);
}

@media (hover: hover) {
    .product-miniature .product-miniature__inner:hover,
    .product-miniature .product-miniature__inner:has(*:focus-visible) {
        box-shadow: var(--bs-box-shadow-md);
    }
} */

/* Main menu: simple mega menu */
.ps-mainmenu--desktop .ps-mainmenu__tree > li {
    position: static;
}

/*.ps-mainmenu--desktop .submenu--simple-mega.is-open {
    display: block;
    opacity: 1;
    visibility: visible;
}*/

.ps-mainmenu--desktop [data-ps-ref="desktop-submenu"].is-open {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.ps-mainmenu--desktop .ps-mainmenu__tree > li .submenu--simple-mega {
    left: 50%;
    right: auto;
    top: 100% !important;
    margin-top: 0 !important;
    transform: translateX(-50%);
    width: min(1180px, calc(100vw - 80px));
    background: #fff;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 0 0 12px 12px;
    box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.submenu-simple-mega__inner {
    columns: 4 190px;
    column-gap: 56px;
    padding: 18px 28px 20px;
}

.submenu-simple-mega__item {
    break-inside: avoid;
    margin-bottom: 14px;
}

.submenu-simple-mega__link {
    display: block;
    font-weight: 700;
    text-transform: uppercase;
    color: inherit;
    margin-bottom: 7px;
}

.submenu-simple-mega__child-link {
    display: block;
    padding: 3px 0;
    color: inherit;
    font-size: .95rem;
}

.submenu-simple-mega__link:hover,
.submenu-simple-mega__child-link:hover {
    color: #0d6efd;
}


/* Category tree: compact global styling */
.ps-categorytree .category-tree__list {
    gap: 0;
}

.ps-categorytree .category-tree__item-header {
    border-radius: 8px;
    transition: background-color .15s ease, box-shadow .15s ease;
}

.ps-categorytree .category-tree__item-link {
    display: block;
    width: 100%;
    padding: 3px 12px;
    line-height: 1.25;
    border-radius: 8px;
}

.ps-categorytree .category-tree__item-header:hover,
.ps-categorytree .category-tree__item-header.is-current {
    background: #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

.ps-categorytree .category-tree__item-header:hover .category-tree__item-link {
    color: #0d6efd;
}

.ps-categorytree .category-tree__item-header.split .accordion-button {
    padding-inline-end: 12px;
}

.ps-categorytree .category-tree__item-header.is-current {
    position: relative;
}

.ps-categorytree .category-tree__item-header.is-current::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    border-radius: 4px;
    background: #0d6efd;
}

.ps-categorytree .category-tree__item-header.is-current .category-tree__item-link {
    color: inherit;
    padding-left: 16px;
}

#tags_block_left {
	margin-bottom: 2rem;
}

/* Cart Modal appearance */

@media (min-width: 992px) {
    .modal-lg, .modal-xl {
      --bs-modal-width: 900px;
    }
  }

  @media (min-width: 768px) and (max-width: 991.98px) {
    .modal-lg, .modal-xl {
      --bs-modal-width: 700px;
    }
      #blockcart-modal .s24-upsell-img {
        width: 100px;
    }
  }

@media (min-width: 576px) and (max-width: 767.98px) {
    .modal-lg, .modal-xl {
      --bs-modal-width: 550px;
    }
  }

/* Cart modal next-step helper text */
/* Cart modal header layout */
.blockcart-modal .modal-header {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: start;
    gap: 0 1rem;
}

.blockcart-modal__title {
    grid-column: 1;
    margin-bottom: 0;
}

.blockcart-modal__next-step {
    grid-column: 1;
    margin: 0.25rem 0 0;
    padding-left: 38px;
    font-size: .95rem;
    color: var(--bs-secondary-color);
}

.blockcart-modal .btn-close {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: start;

    width: 2rem;
    height: 2rem;
    opacity: 1;
    filter: none;
    background-size: 1.2rem;
}

/* Hide FAQs page breadcrumb*/

body#module-faq-faqpage .breadcrumb__wrapper {
    display: none;
}


/* Left column spacing tighter*/
.left-block {
	margin-bottom: 1.4rem;
	padding-bottom: 0.2rem;
}

/* Call us lighter text color*/
#header .ps-contactinfo a {
	color: var(--bs-secondary-color);
}