/* VITSA — breadcrumbs 12px everywhere (loads last to override theme/core) */

:root {
    --bb-breadcrumb-font-size: 12px;
    --bs-breadcrumb-font-size: 12px;
    --vitsa-breadcrumb-font-size: 12px;
}

.page-breadcrumbs,
.page-breadcrumbs .breadcrumb,
.page-breadcrumbs .breadcrumb-item,
.page-breadcrumbs .breadcrumb-item a,
.page-breadcrumbs .breadcrumb-item span,
.page-breadcrumbs .breadcrumb-item.active,
.page-breadcrumbs .breadcrumb-item.active span,
.page-breadcrumbs .extra-breadcrumb-name,
.breadcrumb,
.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb-item span,
.breadcrumb-item.active,
.breadcrumb-item.active span,
.breadcrumb-item + .breadcrumb-item::before,
nav[aria-label="breadcrumb"],
nav[aria-label="breadcrumb"] a,
nav[aria-label="breadcrumb"] span,
.vitsa-shop__slug,
.vitsa-shop__slug a,
.vitsa-shop__slug-current,
.vitsa-shop__slug-sep,
.vitsa-product__breadcrumb,
.vitsa-product__breadcrumb a,
.vitsa-product__breadcrumb .vitsa-shop__slug-current,
.vitsa-product__breadcrumb .vitsa-shop__slug-sep,
.vitsa-compare-page__breadcrumb,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug a,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug-current,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug-sep,
.vitsa-cart-page__breadcrumb,
.vitsa-cart-page__breadcrumb .vitsa-shop__slug,
.vitsa-cart-page__breadcrumb .vitsa-shop__slug a,
.vitsa-cart-page__breadcrumb .vitsa-shop__slug-current,
.vitsa-cart-page__breadcrumb .vitsa-shop__slug-sep,
.ps-breadcrumb,
.ps-breadcrumb li,
.ps-breadcrumb li a {
    font-size: 12px !important;
    line-height: 1.45;
}

/* PLP Products page — flush under header when full-bleed banner is present */
.vitsa-shop--products {
    padding-top: 0 !important;
}

.vitsa-shop--products:not(:has(> .vitsa-plp-banner)) {
    padding-top: 1rem !important;
}

.vitsa-shop--products > .vitsa-plp-banner {
    margin-top: 0 !important;
}

/* PLP — white page bg to match customer overview */
body.vitsa-products-page,
body.vitsa-products-page #main-content,
body:has(.vitsa-shop--products),
body:has(.vitsa-shop--products) #main-content,
.vitsa-shop--products,
.vitsa-shop--products .vitsa-shop__body {
    background: #fff !important;
    background-color: #fff !important;
}

/* Breadcrumb trail colors — visible on all pages (cart, wishlist, static, etc.) */
.vitsa-shop__slug,
.vitsa-shop__slug a,
.vitsa-shop__slug-sep,
.vitsa-page-breadcrumb,
.vitsa-page-breadcrumb a,
.vitsa-page-breadcrumb .vitsa-shop__slug-sep,
.vitsa-compare-page__breadcrumb,
.vitsa-compare-page__breadcrumb a,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug-sep,
.vitsa-cart-page__head .vitsa-shop__slug,
.vitsa-cart-page__head .vitsa-shop__slug a,
.vitsa-cart-page__head .vitsa-shop__slug-sep {
    color: hsl(150, 8%, 42%) !important;
}

.vitsa-shop__slug a:hover,
.vitsa-page-breadcrumb a:hover,
.vitsa-compare-page__breadcrumb a:hover,
.vitsa-cart-page__head .vitsa-shop__slug a:hover {
    color: var(--primary-color, #6eb12e) !important;
}

.vitsa-shop__slug-current,
.vitsa-page-breadcrumb .vitsa-shop__slug-current,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug-current,
.vitsa-cart-page__head .vitsa-shop__slug-current {
    color: hsl(150, 8%, 42%) !important;
    font-weight: 400;
}

/* Policy / static / account pages — left-aligned breadcrumbs (not centered) */
.vitsa-static-page-wrap .vitsa-page-breadcrumb,
.vitsa-policy-page-wrap .vitsa-page-breadcrumb,
.container-shop .vitsa-page-breadcrumb,
.vitsa-account__breadcrumb,
.vitsa-account__breadcrumb.vitsa-page-breadcrumb {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start !important;
    width: 100%;
    text-align: left !important;
}

.vitsa-static-page-wrap .vitsa-page-breadcrumb,
.vitsa-policy-page-wrap .vitsa-page-breadcrumb {
    margin: 0 0 0.75rem;
}

.vitsa-static-page-wrap:not(.vitsa-policy-page-wrap) > .vitsa-page-breadcrumb {
    width: 100%;
    max-width: 48rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.vitsa-account__breadcrumb.vitsa-page-breadcrumb {
    margin-top: 0 !important;
    margin-bottom: 0.75rem !important; /* match FAQ / static pages */
    padding-left: 1.25rem !important; /* align with My Profile sidebar icons */
}

/* Order detail (full width, no sidebar): align with order card left edge */
.vitsa-account--full .vitsa-account__breadcrumb,
.vitsa-account--full .vitsa-account__breadcrumb.vitsa-page-breadcrumb {
    padding-left: 0 !important;
}

.vitsa-account__breadcrumb .vitsa-shop__slug-sep {
    padding: 0 0.35rem;
}

/* Underline only breadcrumb links — current page stays plain (FAQ style) */
.page-breadcrumbs a,
.page-breadcrumbs .breadcrumb-item a,
.breadcrumb-item a,
nav[aria-label="breadcrumb"] a,
.vitsa-shop__slug a,
.vitsa-product__breadcrumb a,
.vitsa-compare-page__breadcrumb a,
.vitsa-cart-page__breadcrumb a,
.vitsa-cart-page__head .vitsa-shop__slug a,
.vitsa-page-breadcrumb a,
.ps-breadcrumb li a {
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
}

.page-breadcrumbs a:hover,
.breadcrumb-item a:hover,
nav[aria-label="breadcrumb"] a:hover,
.vitsa-shop__slug a:hover,
.vitsa-product__breadcrumb a:hover,
.vitsa-compare-page__breadcrumb a:hover,
.vitsa-cart-page__breadcrumb a:hover,
.vitsa-cart-page__head .vitsa-shop__slug a:hover,
.vitsa-page-breadcrumb a:hover,
.ps-breadcrumb li a:hover {
    text-decoration: underline !important;
    text-underline-offset: 0.15em;
}

.vitsa-shop__slug-current,
.vitsa-page-breadcrumb .vitsa-shop__slug-current,
.vitsa-product__breadcrumb .vitsa-shop__slug-current,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug-current,
.vitsa-cart-page__breadcrumb .vitsa-shop__slug-current,
.vitsa-cart-page__head .vitsa-shop__slug-current,
.page-breadcrumbs .breadcrumb-item.active,
.page-breadcrumbs .breadcrumb-item.active span,
.breadcrumb-item.active,
.breadcrumb-item.active a,
.breadcrumb-item.active span {
    text-decoration: none !important;
    font-weight: 400 !important;
    color: hsl(150, 8%, 42%) !important;
}

/* Separators — no underline */
.vitsa-shop__slug-sep,
.vitsa-product__breadcrumb .vitsa-shop__slug-sep,
.vitsa-compare-page__breadcrumb .vitsa-shop__slug-sep,
.vitsa-cart-page__breadcrumb .vitsa-shop__slug-sep,
.vitsa-cart-page__head .vitsa-shop__slug-sep,
.breadcrumb-item + .breadcrumb-item::before {
    text-decoration: none !important;
}

/* Primary page headings — 32px site-wide */
.vitsa-page-title,
.vitsa-static-page__title,
.vitsa-shop__title,
.vitsa-compare-page__heading,
.vitsa-compare-page__title,
.page-header .page-title h1,
.page-title h1,
h1.page-title,
h2.page-title,
.bb-customer-page h2.customer-page-title,
.vitsa-order-view__title,
.vitsa-product__details-head-title,
.vitsa-wishlist-page__title,
.vitsa-cart-page__head .vitsa-page-title {
    font-size: var(--vitsa-page-title-size, 32px) !important;
}

/* Policy pages — section titles 20px (main page title stays 32px) */
.vitsa-policy-page-wrap .ck-content h1,
.vitsa-policy-page-wrap .ck-content h2,
.vitsa-policy-page-wrap .ck-content h3,
.vitsa-policy-page-wrap .ck-content h4,
.vitsa-policy-page-wrap .ck-content h5,
.vitsa-policy-page-wrap .ck-content h6 {
    font-size: 20px !important;
    line-height: 1.3;
}

.vitsa-policy-page-wrap .ck-content h1,
.vitsa-policy-page-wrap .ck-content h2,
.vitsa-policy-page-wrap .ck-content h3,
.vitsa-policy-page-wrap .ck-content h4,
.vitsa-policy-page-wrap .ck-content h5,
.vitsa-policy-page-wrap .ck-content h6 {
    font-weight: 700 !important;
    color: hsl(150, 15%, 12%) !important;
}

/* PDP product name — 18px (not a page title) */
body.vitsa-pdp-ref .vitsa-product__title-row .product_title.entry-title {
    font-size: 18px !important;
}

/* Megamenu sidebar category row — selected / hover / current */
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-active,
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab:hover,
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-current,
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-current.is-active {
    background: #f4f6f5 !important;
    background-color: #f4f6f5 !important;
    color: #6eb12e !important;
}

#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-current,
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-current.is-active {
    font-weight: 600 !important;
    box-shadow: inset 3px 0 0 #6eb12e !important;
}

#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-active .vitsa-mega-menu__tab-chevron,
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab:hover .vitsa-mega-menu__tab-chevron,
#vitsa-megamenu-portal .vitsa-mega-menu--sidebar .vitsa-mega-menu__tab.is-current .vitsa-mega-menu__tab-chevron {
    color: #6eb12e !important;
}

/* All Categories button — light highlight when megamenu open (not black) */
.header--vitsa button.vitsa-nav-bar__trigger[data-vitsa-megamenu-trigger].is-open,
.header--vitsa button.vitsa-nav-bar__trigger[data-vitsa-megamenu-trigger][aria-expanded="true"] {
    background: #f4f6f5 !important;
    background-color: #f4f6f5 !important;
    color: #6eb12e !important;
    font-weight: 600 !important;
}

.header--vitsa button.vitsa-nav-bar__trigger[data-vitsa-megamenu-trigger].is-open .vitsa-nav-bar__chevron,
.header--vitsa button.vitsa-nav-bar__trigger[data-vitsa-megamenu-trigger].is-open .vitsa-nav-bar__chevron svg,
.header--vitsa button.vitsa-nav-bar__trigger[data-vitsa-megamenu-trigger][aria-expanded="true"] .vitsa-nav-bar__chevron,
.header--vitsa button.vitsa-nav-bar__trigger[data-vitsa-megamenu-trigger][aria-expanded="true"] .vitsa-nav-bar__chevron svg {
    color: #6eb12e !important;
    fill: currentColor !important;
    stroke: currentColor !important;
    transform: none !important;
}

.header--vitsa .vitsa-nav-bar__chevron.material-symbols-outlined,
.header--vitsa .material-symbols-outlined.vitsa-nav-bar__chevron {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 1.125rem;
    height: 1.125rem;
    font-size: 1.125rem !important;
    line-height: 1 !important;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.header--vitsa .vitsa-nav-bar__item:hover > .vitsa-nav-bar__link .vitsa-nav-bar__chevron.material-symbols-outlined,
.header--vitsa .vitsa-nav-bar__item:focus-within > .vitsa-nav-bar__link .vitsa-nav-bar__chevron.material-symbols-outlined {
    transform: rotate(180deg);
}

/* Image-based header category mega panels */
.header--vitsa .vitsa-nav-bar-wrap,
.header--vitsa .vitsa-nav-bar,
.header--vitsa .vitsa-nav-bar__inner {
    overflow: visible !important;
}

.header--vitsa .vitsa-nav-bar__item {
    position: relative !important;
}

.header--vitsa .vitsa-nav-bar__item:hover > .vitsa-nav-bar__link,
.header--vitsa .vitsa-nav-bar__item:focus-within > .vitsa-nav-bar__link {
    background: #f4f6f5 !important;
}

.header--vitsa .vitsa-nav-bar__item:hover > .vitsa-nav-bar__mega,
.header--vitsa .vitsa-nav-bar__item:focus-within > .vitsa-nav-bar__mega {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.header--vitsa .vitsa-nav-bar__mega {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 1050 !important;
    width: max-content !important;
    max-width: min(52rem, calc(100vw - 2rem)) !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0.9rem 0.95rem 1rem !important;
    background: #fff;
    border: 1px solid hsl(150, 12%, 88%);
    border-radius: 0.5rem;
    box-shadow: 0 12px 32px -10px hsla(150, 15%, 12%, 0.14);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.4rem);
    transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
}

.header--vitsa .vitsa-nav-bar__mega-title {
    margin: 0 0 0.65rem !important;
    padding: 0;
    font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.25;
    color: hsl(150, 15%, 12%);
}

.header--vitsa .vitsa-nav-bar__mega-grid {
    display: grid !important;
    grid-template-columns: repeat(5, 6.71rem) !important;
    gap: 0.3rem 0.35rem !important;
    justify-content: start !important;
    width: max-content !important;
}

.header--vitsa .vitsa-nav-bar__mega-tile {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem !important;
    width: 6.71rem !important;
    max-width: 6.71rem !important;
    min-width: 0;
    text-decoration: none;
    color: hsl(150, 8%, 42%);
}

.header--vitsa .vitsa-nav-bar__mega-tile:hover .vitsa-nav-bar__mega-tile-name {
    color: #6eb12e;
}

.header--vitsa .vitsa-nav-bar__mega-tile:hover .vitsa-nav-bar__mega-tile-image {
    border-color: hsla(95, 50%, 45%, 0.45);
}

/* Explicit box size (6.71rem = prior 4.25rem + 20%) */
.header--vitsa .vitsa-nav-bar__mega-tile-image {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 6.71rem !important;
    height: 6.71rem !important;
    min-width: 6.71rem !important;
    max-width: 6.71rem !important;
    min-height: 6.71rem !important;
    max-height: 6.71rem !important;
    aspect-ratio: 1;
    padding: 0.28rem !important;
    background: #fff;
    border: 1px solid hsl(150, 10%, 88%);
    border-radius: 0.4rem;
    overflow: hidden;
    transition: border-color 0.2s;
    box-sizing: border-box !important;
}

.header--vitsa .vitsa-nav-bar__mega-tile-image img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
}

.header--vitsa .vitsa-nav-bar__mega-tile-name {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3;
    color: hsl(150, 10%, 32%);
    transition: color 0.2s;
    word-break: break-word;
}

.header--vitsa .vitsa-nav-bar__dropdown {
    display: none !important;
}

@media (max-width: 1199px) {
    .header--vitsa .vitsa-nav-bar__mega-grid {
        grid-template-columns: repeat(4, 6.71rem) !important;
        gap: 0.3rem 0.35rem !important;
    }
}

@media (max-width: 991px) {
    .header--vitsa .vitsa-nav-bar__mega {
        display: none !important;
    }
}

#vitsa-megamenu-portal .vitsa-mega-menu__tab-chevron.material-symbols-outlined {
    width: 1.125rem;
    height: 1.125rem;
    font-size: 1.125rem !important;
    line-height: 1 !important;
    font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

/* Bottom nav — restore single left-aligned row (override style.css fixed widths) */
.header--vitsa .vitsa-nav-bar__inner {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 0.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
}

.header--vitsa .vitsa-nav-bar__inner > *,
.header--vitsa .vitsa-nav-bar__item {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}

.header--vitsa .vitsa-nav-bar__trigger,
.header--vitsa .vitsa-nav-bar__link {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    padding: 0.875rem 1rem !important;
}

/* Search bar — align with Printer Cartridge (must load after style.css) */
@media (min-width: 992px) {
    .header--vitsa .header-middle .header-items.header__center {
        margin-left: var(--vitsa-search-offset, 0px) !important;
    }
}

/* Compare page — force left alignment in product columns */
.vitsa-compare-table td.vitsa-compare-table__col {
    text-align: left !important;
}

.vitsa-compare-table__product-card {
    align-items: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
}

.vitsa-compare-table__image-link {
    display: block !important;
    width: auto !important;
    max-width: 10rem !important;
    margin: 0 !important;
    text-align: left !important;
}

.vitsa-compare-table__image-wrap,
.vitsa-compare-table .img-fluid-eq {
    display: block !important;
    width: auto !important;
    max-width: 10rem !important;
    margin: 0 !important;
    text-align: left !important;
}

.vitsa-compare-table .img-fluid-eq .img-fluid-eq__dummy {
    display: none !important;
}

.vitsa-compare-table .img-fluid-eq .img-fluid-eq__wrap {
    position: static !important;
    width: auto !important;
    height: auto !important;
    inset: auto !important;
}

.vitsa-compare-table .img-fluid-eq .img-fluid-eq__wrap,
.vitsa-compare-table .img-fluid-eq .img-fluid-eq__wrap img,
.vitsa-compare-table__image {
    margin: 0 !important;
    margin-left: 0 !important;
    object-position: left center !important;
}

.vitsa-compare-table .vitsa-product-card__title,
.vitsa-compare-table .vitsa-product-card__title a,
.vitsa-compare-table__product-name,
.vitsa-compare-table__product-name a {
    text-align: left !important;
    font-weight: 400 !important;
}

.vitsa-compare-table th,
.vitsa-compare-table td {
    display: table-cell !important;
}

.vitsa-compare-table__price-wrap,
.vitsa-compare-table__price .product-price {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vitsa-compare-table__price .product-price-sale:not(.d-none),
.vitsa-compare-table__price .product-price-original:not(.d-none) {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: baseline !important;
    text-align: left !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.vitsa-compare-table__price .product-price-sale.d-none,
.vitsa-compare-table__price .product-price-original.d-none {
    display: none !important;
}

.vitsa-compare-table__price .product-price-discount {
    display: inline-block !important;
    width: auto !important;
    max-width: max-content !important;
    text-align: left !important;
}

.vitsa-compare-table__value,
.vitsa-compare-table__empty-value,
.vitsa-compare-table__stock {
    text-align: left !important;
}

/* ------------------------------------------------------------------
   Mobile breadcrumbs — left-aligned + top spacing (desktop unchanged)
   Match account / FAQ reference trail under the header
   ------------------------------------------------------------------ */
@media (max-width: 991.98px) {
    .vitsa-page-breadcrumb,
    .vitsa-shop__slug.vitsa-page-breadcrumb,
    .vitsa-account__breadcrumb,
    .vitsa-account__breadcrumb.vitsa-page-breadcrumb,
    .vitsa-product__breadcrumb,
    .vitsa-compare-page__breadcrumb,
    .vitsa-cart-page__breadcrumb,
    .vitsa-cart-page__head .vitsa-shop__slug,
    .vitsa-categories-page__breadcrumb,
    .vitsa-static-page-wrap .vitsa-page-breadcrumb,
    .vitsa-policy-page-wrap .vitsa-page-breadcrumb,
    .vitsa-shop--products .vitsa-shop__slug,
    .vitsa-shop__page-head .vitsa-shop__slug,
    .page-breadcrumbs,
    .container-shop > .vitsa-shop__slug,
    .container-shop > nav.vitsa-shop__slug {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center;
        justify-content: flex-start !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
        margin-top: 0.75rem !important;
        margin-bottom: 0.5rem !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        text-align: left !important;
        overflow: visible !important;
        white-space: normal !important;
    }

    .vitsa-shop__page-head .vitsa-shop__slug a,
    .vitsa-shop__page-head .vitsa-shop__slug-sep,
    .vitsa-shop__page-head .vitsa-shop__slug-current,
    .vitsa-shop--products .vitsa-shop__slug a,
    .vitsa-shop--products .vitsa-shop__slug-sep,
    .vitsa-shop--products .vitsa-shop__slug-current {
        overflow: visible !important;
        text-overflow: unset !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    body.vitsa-account-page .vitsa-account__breadcrumb,
    body.vitsa-account-page .vitsa-account__breadcrumb.vitsa-page-breadcrumb {
        margin-top: 0.75rem !important;
        margin-bottom: 1rem !important;
        padding: 0 !important;
        justify-content: flex-start !important;
        text-align: left !important;
    }
}
