.page-wrapper{max-width:100%;}
.navigation, .breadcrumbs, .page-header .header.panel, .header.content, .footer.content, .page-wrapper > .widget, .page-wrapper > .page-bottom, .block.category.event, .top-container, .page-main{max-width:1440px;}
.page-header{background-color:#012a3b;border-color:#e8edf2;}
.page-header .panel.wrapper{background-color:#012a3b;}
.page-header .block-search .input-text{border-color:#ebebeb;background:#f3f3f3;}
.page-header .block-search.inline .action.close{color:#fff;}
.action.primary{background:#ea1819;border-color:#ea1819;}
.action.primary:hover, .action.primary:focus, .action.primary:active{background:#ea1819;border-color:#ea1819;}
.tocart.action, .block.soldtogether-block .soldtogether-cart-btn, .bundle-actions .action.primary.customize{background:#ea1819;border-color:#ea1819;}
.tocart.action:hover, .block.soldtogether-block .soldtogether-cart-btn:hover, .bundle-actions .action.primary.customize:hover, .tocart.action:active, .block.soldtogether-block .soldtogether-cart-btn:active, .bundle-actions .action.primary.customize:active, .tocart.action:focus, .block.soldtogether-block .soldtogether-cart-btn:focus, .bundle-actions .action.primary.customize:focus{background:#ea1819;border-color:#ea1819;}
.page-title-wrapper .page-title, .catalog-product-view .column.main > .block .block-title [role="heading"]{font-family:'Work Sans', sans-serif;color:#012a3b;}
div.block .block-title strong, .block.askit-question-form > .block-title strong, .contact.form .legend, .column.main .block-title [aria-level="3"], div.block .content-heading [role="heading"]{font-family:'Work Sans', sans-serif;color:#012a3b;}
.product-info-main .product-info-price .price-box .price-container [data-price-type=finalPrice] .price, .product-info-main .product-info-price .price-box .price-container [data-price-type=minPrice] .price, .product-info-main .product-info-price .price-box .price-container [data-price-type=maxPrice] .price, .bundle-options-container .block-bundle-summary .price-box [data-price-type=finalPrice] .price{color:#ea1819;}
/* ==========================================================================
   FLUIDICS AJAXSEARCH — COSMETIC / MUTABLE v6
   ──────────────────────────────────────────────────────────────────────────
   Design tokens — edit here to restyle the whole dropdown
   ──────────────────────────────────────────────────────────────────────────
   --fl-dark        #012a3b   site navigation blue — text, active state
   --fl-accent      #0066cc   h1 accent blue — title left bar
   --fl-red         #ea1819   product-page red — price, count badge
   --fl-cream       #F7F5EF   sidebar + photo background
   ========================================================================== */

.tt-menu.block-swissup-ajaxsearch-results {
    --fl-dark:        #012a3b;
    --fl-accent:      #0066cc;
    --fl-red:         #ea1819;
    --fl-cream:       #F7F5EF;
    --fl-border-soft: rgba(0, 0, 0, 0.08);
    --fl-border:      rgba(0, 0, 0, 0.12);
    --fl-hover-bg:    rgba(1, 42, 59, 0.08);
    --fl-font:        'Work Sans', sans-serif;
}


/* ==========================================================================
   MENU SHELL
   ========================================================================== */
.tt-menu.block-swissup-ajaxsearch-results {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: 0.5px solid var(--fl-border) !important;
    box-shadow: 0 10px 40px rgba(1, 42, 59, 0.15) !important;
}

.tt-menu .tt-dataset.wrapper.grid.grid-product {
    background: #ffffff !important;
    font-family: var(--fl-font) !important;
}

.tt-menu .custom-item-info-wrapper {
    background: var(--fl-cream) !important;
    border-right: 0.5px solid var(--fl-border-soft) !important;
}


/* ==========================================================================
   SECTION TITLES — h1-style vertical accent
   ========================================================================== */
.tt-menu.block-swissup-ajaxsearch-results .tt-dataset .ajaxsearch-title {
    font-family: var(--fl-font) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    line-height: 1.25 !important;
    color: var(--fl-dark) !important;
    text-transform: uppercase !important;
    margin: 0 0 14px !important;
    padding: 2px 0 2px 12px !important;
    border: none !important;
    border-left: 4px solid var(--fl-accent) !important;
    border-radius: 0 !important;
    background: transparent !important;
    display: block !important;
}


/* ==========================================================================
   SIDEBAR ITEMS — Kategorien + Suchbegriffe
   ========================================================================== */
.tt-menu .category-item-info,
.tt-menu .popular-item-info,
.tt-menu .category-item-info .qs-option-name,
.tt-menu .popular-item-info .qs-option-name,
.tt-menu .category-item-info a,
.tt-menu .popular-item-info a {
    font-weight: 400 !important;
}

.tt-menu .category-item-info,
.tt-menu .popular-item-info {
    color: var(--fl-dark) !important;
    font-size: 13px !important;
    background: transparent !important;
    border-radius: 8px !important;
    transition: background 0.15s ease !important;
}

.tt-menu .category-item-info a,
.tt-menu .popular-item-info a {
    color: inherit !important;
    text-decoration: none !important;
    padding: 0 !important;
    display: block !important;
}

.tt-menu .category-item-info:hover,
.tt-menu .popular-item-info:hover,
.tt-menu .category-item-info.tt-cursor,
.tt-menu .popular-item-info.tt-cursor {
    background: var(--fl-hover-bg) !important;
}

.tt-menu .category-item-info-wrapper .category-item-info:first-of-type,
.tt-menu .category-item-info-wrapper .category-item-info:first-of-type:hover {
    background: var(--fl-dark) !important;
    color: #ffffff !important;
}
.tt-menu .category-item-info-wrapper .category-item-info:first-of-type a {
    color: #ffffff !important;
}

.tt-menu .popular-item-info .amount {
    font-size: 10px !important;
    font-weight: 500 !important;
    color: var(--fl-red) !important;
    font-variant-numeric: tabular-nums !important;
    background: rgba(234, 24, 25, 0.08) !important;
    padding: 2px 7px !important;
    border-radius: 10px !important;
    flex-shrink: 0 !important;
}


/* ==========================================================================
   SEARCH DROPDOWN — PRODUCT CARDS
   ========================================================================== */
.tt-menu .product-item-info.tt-suggestion {
    background: #ffffff !important;
    border: 0.5px solid var(--fl-border) !important;
    border-radius: 12px !important;
    transition: border-color 0.15s ease, transform 0.15s ease !important;
}
.tt-menu .product-item-info.tt-suggestion:hover,
.tt-menu .product-item-info.tt-suggestion.tt-cursor {
    border-color: var(--fl-dark) !important;
    transform: translateY(-1px) !important;
}

.tt-menu .product-item-info.tt-suggestion .product-item-photo {
    background: var(--fl-cream) !important;
}

.tt-menu .product-item-info.tt-suggestion .product-item-link {
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: var(--fl-dark) !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    min-height: 51px !important;
}

.tt-menu .product-item-info.tt-suggestion .product-info-stock-sku .value {
    font-size: 10px !important;
    font-weight: 500 !important;
    color: var(--fl-dark) !important;
    opacity: 0.7 !important;
    letter-spacing: 0.02em !important;
    font-variant-numeric: tabular-nums !important;
}

.tt-menu .product-item-info.tt-suggestion .price-box {
    border-top: 0.5px solid var(--fl-border-soft) !important;
}
.tt-menu .product-item-info.tt-suggestion .price,
.tt-menu .product-item-info.tt-suggestion .symbol.after {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--fl-red) !important;
    letter-spacing: -0.01em !important;
    font-variant-numeric: tabular-nums !important;
}

.tt-menu .product-item-info.tt-suggestion .price-box::after {
    content: 'exkl. MwSt.' !important;
    font-size: 9px !important;
    font-weight: 400 !important;
    color: #999999 !important;
}
html[lang="en"] .tt-menu .product-item-info.tt-suggestion .price-box::after,
body.store-view-en .tt-menu .product-item-info.tt-suggestion .price-box::after {
    content: 'excl. VAT' !important;
}


/* ==========================================================================
   RESSOURCEN — Seitenverweise
   ========================================================================== */
.tt-menu .page-item-info {
    color: var(--fl-dark) !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    padding: 4px 10px !important;
    background: transparent !important;
    border-radius: 8px !important;
    transition: background 0.15s ease !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.tt-menu .page-item-info a {
    color: inherit !important;
    text-decoration: none !important;
    padding: 0 !important;
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.tt-menu .page-item-info:hover,
.tt-menu .page-item-info.tt-cursor {
    background: var(--fl-hover-bg) !important;
}

.tt-menu .tt-dataset.wrapper.grid.grid-product > .product-item-info-wrapper:only-child,
.tt-menu .tt-dataset.wrapper.grid.grid-product > .category-item-info-wrapper:only-child,
.tt-menu .tt-dataset.wrapper.grid.grid-product > .page-item-info-wrapper:only-child {
    grid-column: 1 / -1 !important;
}


/* ==========================================================================
   CATALOG PRODUCT CARDS V5 "Editorial + Hover Reveal"
   Scope: .products-grid — category pages, widget blocks, homepage highlights
   No overlap with .tt-menu search dropdown rules above.
   ========================================================================== */

/* CSS custom properties — scoped to product-item-info */
.products-grid .product-item-info {
    --card-accent:       #e06f1a;
    --card-bg:           #ffffff;
    --card-border:       rgba(0, 0, 0, 0.09);
    --card-border-hover: rgba(0, 0, 0, 0.22);
    --card-radius:       14px;
    --card-t:            0.18s ease;
}

/* Item wrapper reset */
.products-grid .product-item {
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Card shell */
.products-grid .product-item-info {
    border: 0.5px solid var(--card-border) !important;
    border-radius: var(--card-radius) !important;
    background: var(--card-bg) !important;
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    transition: border-color var(--card-t), box-shadow var(--card-t) !important;
    box-shadow: none !important;
}
.products-grid .product-item-info:hover {
    border-color: var(--card-border-hover) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06) !important;
}
.products-grid .product-item-info::before { display: none !important; }

/* Image area */
.products-grid .prolabels-wrapper {
    background: #ffffff !important;
    position: relative !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}
.products-grid .prolabels-wrapper::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: 3px !important;
    background: var(--card-accent) !important;
    z-index: 4 !important;
    pointer-events: none !important;
}
.products-grid .product-item-photo { display: block !important; }
.products-grid .product-image-container { width: 100% !important; display: block !important; }
.products-grid .product-image-wrapper {
    padding-bottom: 0 !important;
    height: 210px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}
.products-grid .product-image-photo {
    position: static !important;
    width: auto !important;
    height: auto !important;
    max-height: 185px !important;
    max-width: 88% !important;
    object-fit: contain !important;
    mix-blend-mode: multiply !important;
    transition: transform 0.28s ease !important;
    display: block !important;
    margin: auto !important;
}
.products-grid .product-item-info:hover .product-image-photo {
    transform: scale(1.04) !important;
}

/* Hover-reveal action buttons */
.products-grid .product-item-actions {
    position: absolute !important;
    bottom: 12px !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    transform: translateX(-50%) translateY(8px) !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    opacity: 0 !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
    width: auto !important;
    height: auto !important;
}
.products-grid .product-item-info:hover .product-item-actions {
    opacity: 1 !important;
    transform: translateX(-50%) translateY(0) !important;
}
.products-grid .actions-secondary {
    display: flex !important;
    gap: 8px !important;
    order: 1 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.products-grid .actions-secondary .action,
.products-grid .actions-primary .action.tocart {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    text-decoration: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    font-size: 0 !important;
    line-height: 1 !important;
    color: transparent !important;
    box-sizing: border-box !important;
    transition: background 0.15s, border-color 0.15s, transform 0.15s !important;
    flex-shrink: 0 !important;
}
.products-grid .actions-secondary .action {
    background: rgba(255, 255, 255, 0.92) !important;
    border: 1px solid rgba(0, 0, 0, 0.12) !important;
}
.products-grid .actions-secondary .action:hover {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.25) !important;
    transform: scale(1.1) !important;
}
.products-grid .actions-secondary .action span,
.products-grid .actions-primary .action.tocart span { display: none !important; }
.products-grid .actions-secondary .action::before {
    font-family: FontAwesome !important;
    font-size: 15px !important;
    color: #555 !important;
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    position: static !important;
}
.products-grid .actions-secondary .action.towishlist::before { content: '\f08a' !important; }
.products-grid .actions-secondary .action.tocompare::before  { content: '\f0ec' !important; font-size: 14px !important; }
.products-grid .actions-secondary .action.quick-view::before { content: '\f06e' !important; }
.products-grid .actions-secondary .action.towishlist:hover::before { color: #d0421a !important; }
.products-grid .actions-secondary .action.quick-view:hover::before  { color: #1a73e8 !important; }
.products-grid .actions-secondary .action.tocompare:hover::before   { color: #0F6E56 !important; }
.products-grid .actions-primary {
    order: 2 !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
.products-grid .actions-primary .action.tocart {
    background: #e06f1a !important;
    border: none !important;
}
.products-grid .actions-primary .action.tocart:hover {
    background: #c85e12 !important;
    transform: scale(1.1) !important;
}
.products-grid .actions-primary .action.tocart::before {
    content: '\f07a' !important;
    font-family: FontAwesome !important;
    font-size: 16px !important;
    color: #ffffff !important;
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    position: static !important;
}

/* Card details area */
.products-grid .product-item-details {
    padding: 14px 16px 16px !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #f9f8f4 !important;
}
.products-grid .product-item-name {
    display: -webkit-box !important;
    -webkit-line-clamp: 5 !important;
    -webkit-box-orient: vertical !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
    overflow: hidden !important;
    white-space: normal !important;
    height: calc(13.5px * 1.4 * 5) !important;
    min-height: calc(13.5px * 1.4 * 5) !important;
    max-height: calc(13.5px * 1.4 * 5) !important;
}
.products-grid .product-item-link {
    color: #1a1a1a !important;
    text-decoration: none !important;
}
.products-grid .product-item-link:hover { color: #e06f1a !important; }

/* Price */
.products-grid .price-box {
    margin-top: auto !important;
    padding-top: 10px !important;
}
.products-grid .product-item .price-wrapper.price-excluding-tax { display: inline !important; }
.products-grid .product-item .price-wrapper.price-including-tax { display: none !important; }
.products-grid .price-excluding-tax::before { display: none !important; content: none !important; }
.products-grid .price-container .price-label { display: none !important; }
.products-grid .price-wrapper.price-excluding-tax .price {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    font-variant-numeric: tabular-nums !important;
}
.products-grid .special-price .price-wrapper.price-excluding-tax .price { color: #d0421a !important; }
.products-grid .price-details { margin-top: 2px !important; }
.products-grid .tax-details,
.products-grid .tax-details a {
    font-size: 10.5px !important;
    color: #b0b0a8 !important;
    text-decoration: none !important;
}
.products-grid .product-item-inner { display: none !important; }
.products-grid .prolabel-wrapper,
.products-grid .prolabels-wrapper .prolabel { z-index: 7 !important; }

/* Grid layout — desktop */
.products-grid .products.list.items.product-items {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
    gap: 14px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
@media (min-width: 1200px) {
    .products-grid .products.list.items.product-items {
        grid-template-columns: repeat(4, 1fr) !important;
    }
}

/* Optional tags (esd-brand-tag, esd-cat-tag, esd-norm-tag, stock) */
.products-grid .esd-brand-tag {
    display: inline-block;
    font-size: 10px; font-weight: 600;
    letter-spacing: 0.08em; text-transform: uppercase;
    color: #9a9890; line-height: 1; margin-bottom: 2px; vertical-align: middle;
}
.products-grid .esd-cat-tag {
    display: inline-block;
    font-size: 9.5px; font-weight: 600; letter-spacing: 0.04em;
    color: #5f5e5a; background: #f0f0eb;
    border: 0.5px solid rgba(0, 0, 0, 0.08); border-radius: 3px;
    padding: 2px 7px; margin-left: 8px; vertical-align: middle;
}
.products-grid .esd-norm-tag {
    position: absolute; top: 8px; right: 8px; z-index: 6;
    font-size: 9.5px; font-family: 'Courier New', Courier, monospace; font-weight: 600;
    background: #E1F5EE; color: #0F6E56;
    padding: 3px 8px; border-radius: 4px; line-height: 1.3; pointer-events: none;
}
.products-grid .esd-stock-row {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: auto; padding-top: 10px;
}
.products-grid .esd-stock-indicator {
    display: inline-flex; align-items: center; gap: 5px;
    font-size: 12px; font-weight: 500; color: #0F6E56;
}
.products-grid .esd-stock-indicator::before {
    content: ''; width: 6px; height: 6px; border-radius: 50%;
    background: #0F6E56; flex-shrink: 0;
}
.products-grid .esd-details-link {
    font-size: 12.5px; font-weight: 600;
    color: #1a1a1a; text-decoration: none; transition: color 0.15s;
}
.products-grid .esd-details-link:hover { color: #e06f1a; }


/* ==========================================================================
   CATALOG PRODUCT CARDS — MOBILE (≤767px)
   ========================================================================== */
@media (max-width: 767px) {
    .products-grid .products.list.items.product-items {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .products-grid .product-item-info { overflow: visible !important; }
    .products-grid .prolabels-wrapper {
        overflow: hidden !important;
        border-radius: 14px 14px 0 0 !important;
    }
    /* Actions always visible on mobile (no hover) */
    .products-grid .product-item-actions {
        opacity: 1 !important;
        transform: translateX(-50%) translateY(0) !important;
        bottom: 8px !important;
        z-index: 10 !important;
    }
    /* Hide wishlist + compare on mobile, keep cart only */
    .products-grid .actions-secondary .action.towishlist,
    .products-grid .actions-secondary .action.tocompare { display: none !important; }
    .products-grid .product-image-wrapper { height: 160px !important; }
    .products-grid .product-image-photo { max-height: 140px !important; }
    .products-grid .product-item-details { padding: 10px 12px 12px !important; }
    .products-grid .product-item-name {
        font-size: 12px !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: none !important;
        -webkit-line-clamp: 6 !important;
        height: calc(12px * 1.4 * 6) !important;
        min-height: calc(12px * 1.4 * 6) !important;
        max-height: calc(12px * 1.4 * 6) !important;
    }
    .products-grid .price-wrapper.price-excluding-tax .price { font-size: 16px !important; }
    .products-grid .actions-secondary .action,
    .products-grid .actions-primary .action.tocart {
        width: 34px !important;
        height: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
    }
}


/* ==========================================================================
   HIGHLIGHT WIDGET GRID — FIX #4
   Overrides Argento highlight-cols-4 width calculations for .product-item
   ========================================================================== */
@media only screen and (max-width: 767px) {
    .block.widget.highlight-cols-4 .products-grid .products.list.items.product-items,
    .block.block-highlight.highlight-cols-4 .products-grid .products.list.items.product-items,
    .block.block-highlight .products-grid .products.list.items.product-items {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    html body .page-wrapper .page-main .column.main .block.widget.highlight-cols-4 .products-grid .products.list.items.product-items > .product-item,
    html body .page-wrapper .page-main .column.main .block.block-highlight .products-grid .products.list.items.product-items > .product-item,
    .page-layout-1column .block.widget.highlight-grid:not(.highlight-cols-1):not(.highlight-carousel) .product-items:not(.product-items-images) .product-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}
@media only screen and (max-width: 480px) {
    html body .page-wrapper .page-main .column.main .block.widget.highlight-cols-4 .products-grid .products.list.items.product-items > .product-item,
    html body .page-wrapper .page-main .column.main .block.block-highlight .products-grid .products.list.items.product-items > .product-item,
    .page-layout-1column .block.widget.highlight-grid:not(.highlight-cols-1):not(.highlight-carousel) .product-items:not(.product-items-images) .product-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }
}
@media only screen and (min-width: 768px) {
    .block.widget.highlight-cols-4 .products-grid .products.list.items.product-items {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 10px !important;
        margin: 0 !important;
    }
    html body .page-wrapper .page-main .column.main .block.widget.highlight-cols-4 .products-grid .products.list.items.product-items > .product-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
}