:root {
    --jb-bg: #f0f0f0;
    --jb-ink: #2c2c2c;
    --jb-muted: #909090;
    --jb-accent: #35d6b4;
    --jb-accent-dark: #24b99a;
    --jb-white: #ffffff;
    --jb-border: #dedede;
}

body {
    background-color: var(--jb-bg);
    color: var(--jb-ink);
    font-family: "Lato", Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.button-1,
.button-2,
.header-menu,
.footer-title {
    font-family: "Fjalla One", Arial, sans-serif;
    letter-spacing: 0;
}
/* =========================================
   HEADER STYLES
   ========================================= */
.header {
    background-color: var(--jb-white);
    border-bottom: 1px solid var(--jb-border);
    position: relative;
    z-index: 100;
}

.header-upper {
    display: flex;
    justify-content: flex-end;
    background-color: var(--jb-bg);
    padding: 5px 15px;
    font-size: 0.85rem;
    border-bottom: 1px solid var(--jb-border);
}

.header-selectors-wrapper {
    display: flex;
    gap: 15px;
    align-items: center;
}

.header-lower {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    height: 64px;
    padding: 0 15px;
    max-width: 1200px;
    margin: 0 auto;
}

.header-logo {
    display: block !important;
    flex: 0 0 auto;
}

.header-logo a {
    display: block;
}

.header-logo img {
    max-height: 40px;
    width: auto;
}

.jb-mobile-toggles {
    display: none;
    align-items: center;
}

.jb-mobile-toggles button {
    background: none;
    border: none;
    color: var(--jb-ink);
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: none !important;
    animation: none !important;
}

.jb-mobile-toggles button svg {
    pointer-events: none;
}

/* SEARCH OVERLAY (DESKTOP AND MOBILE) */
.store-search-box {
    position: relative;
}

.jb-search-close {
    display: none;
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: var(--jb-ink);
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
}

.search-box-text {
    border: 1px solid var(--jb-border);
    padding: 8px 12px;
    border-radius: 4px;
    font-family: "Lato", sans-serif;
    color: var(--jb-ink);
    outline: none;
    width: 250px;
}

.search-box-text:focus {
    border-color: var(--jb-accent);
}

.search-box-button {
    background-color: var(--jb-accent);
    color: var(--jb-white);
    border: none;
    padding: 8px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-family: "Fjalla One", sans-serif;
    transition: background-color 0.2s;
}

.search-box-button:hover {
    background-color: var(--jb-accent-dark);
}

/* =========================================
   MOBILE DRAWER (MENU)
   ========================================= */
.jb-drawer-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.jb-mobile-drawer {
    position: fixed;
    top: 0;
    left: -100%;
    width: min(320px, 86vw);
    height: 100vh;
    background-color: var(--jb-white);
    z-index: 1001;
    box-shadow: 2px 0 5px rgba(0,0,0,0.1);
    transition: left 0.3s ease;
    display: flex;
    flex-direction: column;
}

.jb-drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    border-bottom: 1px solid var(--jb-border);
}

.jb-drawer-title {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.2rem;
    color: var(--jb-ink);
}

.jb-drawer-close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: var(--jb-ink);
}

.jb-drawer-content {
    padding: 15px;
    overflow-y: auto;
    flex: 1;
}

.jb-drawer-account-links {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--jb-border);
}

.jb-drawer-account-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.jb-drawer-account-links li {
    margin-bottom: 10px;
}

.jb-drawer-account-links a {
    color: var(--jb-ink);
    text-decoration: none;
    font-family: "Lato", sans-serif;
    display: flex;
    align-items: center;
}

.jb-drawer-account-links a:hover {
    color: var(--jb-accent);
}

/* STATE CLASSES */
body.jb-menu-open {
    overflow: hidden;
}

body.jb-menu-open .jb-drawer-overlay {
    opacity: 1;
    visibility: visible;
}

body.jb-menu-open .jb-mobile-drawer {
    left: 0;
    visibility: visible !important;
    pointer-events: auto !important;
    display: flex !important;
}

/* =========================================
   FOOTER STYLES
   ========================================= */
.footer {
    background-color: var(--jb-white);
    border-top: 1px solid var(--jb-border);
    padding: 40px 15px 20px;
    color: var(--jb-muted);
}

.footer-upper {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
    margin: 0 auto;
    justify-content: space-between;
}

.footer-block {
    flex: 1;
    min-width: 200px;
    margin-bottom: 30px;
}

.footer-block .title {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.2rem;
    color: var(--jb-ink);
    margin-bottom: 15px;
    text-transform: uppercase;
}

.footer-block .listbox ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-block .listbox li {
    margin-bottom: 8px;
}

.footer-block .listbox a {
    color: var(--jb-muted);
    text-decoration: none;
    transition: color 0.2s;
}

.footer-block .listbox a:hover {
    color: var(--jb-accent);
}

.footer-lower {
    border-top: 1px solid var(--jb-border);
    max-width: 1200px;
    margin: 20px auto 0;
    padding-top: 20px;
    text-align: center;
    font-size: 0.9rem;
}

.footer-lower a {
    color: var(--jb-accent);
    text-decoration: none;
}

.footer-lower a:hover {
    text-decoration: underline;
}

/* =========================================
   RESPONSIVE (MOBILE VIEW)
   ========================================= */
@media (max-width: 1000px) {
    /* Header mobile layout */
    .header-upper {
        justify-content: center;
    }

    .header-lower {
        justify-content: space-between;
    }

    .header-logo {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        max-width: 50%;
    }

    .header-logo img {
        max-width: 100%;
        height: auto;
    }

    .jb-mobile-toggles {
        display: flex;
    }

    .store-search-box.jb-search-overlay {
        display: none; /* Hidden by default on mobile */
        position: absolute;
        top: 64px;
        left: 0;
        width: 100%;
        background-color: var(--jb-white);
        padding: 15px;
        border-bottom: 1px solid var(--jb-border);
        box-shadow: 0 4px 6px rgba(0,0,0,0.05);
        z-index: 99;
    }

    .store-search-box.jb-search-overlay form {
        display: flex;
        align-items: center;
    }

    .store-search-box.jb-search-overlay .search-box-text {
        width: 100%;
        flex: 1;
        margin-right: 10px;
    }

    .jb-search-close {
        display: block;
        position: relative;
        right: auto;
        top: auto;
        transform: none;
        margin-left: 10px;
    }

    /* Mobile search state */
    body.jb-search-open .store-search-box.jb-search-overlay {
        display: flex;
    }

    /* Footer mobile accordion layout */
    .footer-upper {
        flex-direction: column;
    }

    .footer-block {
        border-bottom: 1px solid var(--jb-border);
        margin-bottom: 0;
        padding: 15px 0;
        background-color: transparent !important;
    }

    .footer-block:last-child {
        border-bottom: none;
    }

    .footer-block .title {
        margin-bottom: 0;
        cursor: pointer;
        position: relative;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: transparent !important;
        color: var(--jb-ink) !important;
        font-family: "Fjalla One", Arial, sans-serif;
    }

    .footer-block .title::after {
        content: '+';
        font-family: monospace;
        font-size: 1.5rem;
    }

    /* Hide header links wrapper on mobile, as they are inside the drawer */
    .header-links-wrapper {
        display: none;
    }
}

/* =========================================
   HOMEPAGE STYLES
   ========================================= */

/* Hero Section */
.jb-home-hero {
    background-color: var(--jb-ink);
    color: var(--jb-white);
    padding: 60px 20px;
    text-align: center;
}

.jb-home-hero-content {
    max-width: 800px;
    margin: 0 auto;
}

.jb-home-hero h1 {
    font-size: 2.5rem;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    color: var(--jb-white);
}

.jb-home-hero h1 span {
    display: block;
}

.jb-home-hero p {
    font-size: 1.2rem;
    margin-bottom: 30px;
    color: var(--jb-border);
}

.jb-home-cta {
    display: flex;
    justify-content: center;
}

.jb-home-search-form {
    display: flex;
    gap: 10px;
    width: 100%;
    max-width: 500px;
}

.jb-home-search-form .search-box-text {
    flex: 1;
    padding: 12px 16px;
    font-size: 1rem;
    border: none;
    border-radius: 4px;
}

.jb-home-search-form .search-box-button {
    padding: 12px 24px;
    font-size: 1rem;
}

/* AI Value Band */
.jb-ai-value-band {
    background-color: var(--jb-accent);
    color: var(--jb-white);
    padding: 40px 20px;
    text-align: center;
    margin: 40px 0;
}

.jb-ai-value-band-content {
    max-width: 800px;
    margin: 0 auto;
}

.jb-ai-value-band h2 {
    font-size: 2rem;
    margin-bottom: 10px;
    color: var(--jb-white);
}

.jb-ai-value-band p {
    font-size: 1.1rem;
    margin: 0;
}

/* Common Grid Styles for Products, Categories, Bestsellers */
.home-page-category-grid .item-grid,
.home-page-product-grid .item-grid,
.bestsellers .item-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 20px;
    margin-top: 20px;
}

.item-box {
    background-color: var(--jb-white);
    border: 1px solid var(--jb-border);
    border-radius: 8px;
    padding: 15px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.item-box:hover {
    transform: translateY(-5px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.category-item .title,
.product-item .product-title {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.category-item .title a,
.product-item .product-title a {
    color: var(--jb-ink);
    text-decoration: none;
}

.category-item .title a:hover,
.product-item .product-title a:hover {
    color: var(--jb-accent);
}

.product-item .prices .price {
    color: var(--jb-accent-dark);
    font-weight: bold;
    font-size: 1.1rem;
}

.buttons .button-2 {
    background-color: var(--jb-bg);
    color: var(--jb-ink);
    border: 1px solid var(--jb-border);
    padding: 8px 12px;
    border-radius: 4px;
    cursor: pointer;
    font-family: "Fjalla One", sans-serif;
    transition: background-color 0.2s;
    width: 100%;
    margin-top: 10px;
}

.buttons .button-2:hover {
    background-color: var(--jb-border);
}

/* Section Titles */
.jb-home-categories > div > .title,
.jb-home-products > div > .title,
.jb-home-bestsellers > div > .title {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.8rem;
    color: var(--jb-ink);
    margin: 40px 0 20px;
    text-align: center;
}

/* Responsive adjustments for homepage */
@media (min-width: 768px) {
    .jb-home-hero h1 {
        flex-direction: row;
        justify-content: center;
        flex-wrap: wrap;
    }

    .jb-home-hero h1 span::after {
        content: " \2022 ";
        margin: 0 10px;
        color: var(--jb-accent);
    }

    .jb-home-hero h1 span:last-child::after {
        content: "";
        margin: 0;
    }
}

/* =========================================
   RESPONSIVE (DESKTOP VIEW)
   ========================================= */
@media (min-width: 1001px) {
    /* Show menu horizontally on desktop */
    .header-menu.jb-mobile-drawer {
        position: static;
        height: auto;
        width: auto;
        box-shadow: none;
        background: transparent;
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .jb-drawer-header {
        display: none;
    }

    .jb-drawer-content {
        padding: 0;
        overflow-y: visible;
        display: flex;
        align-items: center;
    }

    .jb-drawer-account-links {
        display: none;
    }

    .header-lower {
        /* On desktop, we want logo, menu, search */
        justify-content: flex-start;
    }

    .header-logo {
        margin-right: 40px;
    }

    .header-menu {
        flex: 1;
        display: flex !important; /* Override potential JS hide */
    }

    .store-search-box {
        margin-left: auto;
    }

    .header-links-wrapper {
        display: flex;
        align-items: center;
        margin-left: 20px;
    }

    .header-links ul {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 15px;
    }

    .header-links a {
        color: var(--jb-ink);
        text-decoration: none;
        font-family: "Lato", sans-serif;
    }

    .header-links a:hover {
        color: var(--jb-accent);
    }

    .menu-container .menu {
        display: flex;
        gap: 20px;
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .menu-container .menu__item {
        font-family: "Fjalla One", sans-serif;
    }

    .menu-container .menu__item a {
        color: var(--jb-ink);
        text-decoration: none;
    }

    .menu-container .menu__item a:hover {
        color: var(--jb-accent);
    }

    .menu-container .menu__toggle {
        display: none;
    }
}

/* =========================================
   LISTING PAGES (Category, Search, Job Cards)
   ========================================= */

/* Two Column Layout */
@media (min-width: 1001px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        display: flex;
        flex-direction: row; /* Sidebar left, content right */
        max-width: 1200px;
        margin: 0 auto;
        padding: 20px;
        gap: 30px;
        align-items: flex-start;
    }

    .html-category-page .side-2,
    .html-search-page .side-2 {
        float: none !important;
        width: 280px;
        flex-shrink: 0;
    }

    .html-category-page .center-2,
    .html-search-page .center-2 {
        float: none !important;
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 1000px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        padding: 0 15px 15px;
    }

    .html-category-page .side-2, .html-category-page .center-2,
    .html-search-page .side-2, .html-search-page .center-2 {
        float: none !important;
        width: 100%;
        margin-bottom: 10px;
    }
}

/* Page Background */
.html-category-page, .html-search-page {
    background-color: #f0f0f0;
}

/* Page Title */
.html-category-page .page-title h1,
.html-search-page .page-title h1 {
    font-family: "Fjalla One", sans-serif;
    font-size: 2.2rem;
    color: var(--jb-ink);
    margin-bottom: 20px;
    border-bottom: 2px solid var(--jb-border);
    padding-bottom: 10px;
}

/* Sidebar Blocks */
.html-category-page .block,
.html-search-page .block {
    background: var(--jb-white);
    border: 1px solid var(--jb-border);
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}

.html-category-page .block .title,
.html-search-page .block .title {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.2rem;
    color: var(--jb-ink);
    padding: 15px;
    background: #f9f9f9;
    border-bottom: 1px solid var(--jb-border);
    margin: 0;
}

.html-category-page .block .title a,
.html-search-page .block .title a {
    color: var(--jb-ink);
    text-decoration: none;
}

.html-category-page .block .listbox,
.html-search-page .block .listbox {
    padding: 15px;
}

.html-category-page .block .listbox ul,
.html-search-page .block .listbox ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.html-category-page .block .listbox li,
.html-search-page .block .listbox li {
    margin-bottom: 10px;
}

.html-category-page .block .listbox li:last-child,
.html-search-page .block .listbox li:last-child {
    margin-bottom: 0;
}

.html-category-page .block .listbox a,
.html-search-page .block .listbox a {
    color: var(--jb-muted);
    font-family: "Lato", sans-serif;
    text-decoration: none;
    transition: color 0.2s;
    display: block;
}

.html-category-page .block .listbox a:hover,
.html-search-page .block .listbox a:hover,
.html-category-page .block .listbox a.active,
.html-search-page .block .listbox a.active {
    color: var(--jb-accent);
}

/* Product Selectors (Sorting, Page Size, View Mode) */
.html-category-page .product-selectors,
.html-search-page .product-selectors {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 18px;
    background: var(--jb-white);
    border: 1px solid var(--jb-border);
    border-radius: 16px;
    padding: 14px 18px;
    margin: 0 0 24px;
    align-items: center;
    justify-content: space-between;
    font-family: "Lato", sans-serif;
    box-shadow: 0 14px 30px rgba(33, 43, 54, 0.06);
}

.html-category-page .product-selectors > div,
.html-search-page .product-selectors > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
    min-width: 0;
}

.html-category-page .product-selectors span,
.html-search-page .product-selectors span {
    color: #5c6674;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.html-category-page .product-selectors select,
.html-search-page .product-selectors select {
    min-height: 42px;
    min-width: 128px;
    padding: 10px 14px;
    border: 1px solid var(--jb-border);
    border-radius: 999px;
    background-color: var(--jb-white);
    color: var(--jb-ink);
    font-family: "Lato", sans-serif;
    font-size: 0.95rem;
    max-width: 100%;
}

.html-category-page .product-viewmode a,
.html-search-page .product-viewmode a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 8px 12px;
    background: #f7f8fa;
    border: 1px solid var(--jb-border);
    color: #5c6674;
    text-decoration: none;
    border-radius: 999px;
    font-weight: 700;
}

.html-category-page .product-viewmode a.selected,
.html-search-page .product-viewmode a.selected {
    background: var(--jb-accent);
    color: var(--jb-white);
    border-color: var(--jb-accent);
}

/* Job Cards (Product Listing) */
.html-category-page .product-grid .item-grid,
.html-category-page .product-list .item-grid,
.html-search-page .product-grid .item-grid,
.html-search-page .product-list .item-grid {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.html-category-page .item-box,
.html-search-page .item-box {
    width: 100%;
    margin: 0;
}

.html-category-page .product-item,
.html-search-page .product-item {
    background-color: var(--jb-white);
    border: 1px solid var(--jb-border);
    border-radius: 20px;
    padding: 22px;
    display: grid;
    grid-template-columns: minmax(84px, 112px) minmax(0, 1fr);
    gap: 20px;
    transition: border-color 0.2s, box-shadow 0.2s;
    width: 100%;
    box-sizing: border-box;
    box-shadow: 0 16px 34px rgba(33, 43, 54, 0.06);
}

.html-category-page .product-item:hover,
.html-search-page .product-item:hover,
.html-category-page .product-item:focus-within,
.html-search-page .product-item:focus-within {
    border-color: #c8d3db;
    box-shadow: 0 22px 42px rgba(33, 43, 54, 0.12);
}

.html-category-page .product-item .picture,
.html-search-page .product-item .picture {
    grid-column: 1;
    align-self: start;
    width: 100%;
    max-width: 112px;
}

.html-category-page .product-item .picture a,
.html-search-page .product-item .picture a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    padding: 16px;
    border-radius: 18px;
    border: 1px solid #e5e9ee;
    background: linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
}

.html-category-page .product-item .picture img,
.html-search-page .product-item .picture img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.html-category-page .product-item .details,
.html-search-page .product-item .details {
    grid-column: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.html-category-page .product-item .product-title,
.html-search-page .product-item .product-title {
    margin: 0;
}

.html-category-page .product-item .product-title a,
.html-search-page .product-item .product-title a {
    font-family: "Fjalla One", sans-serif;
    font-size: clamp(1.45rem, 2.2vw, 1.9rem);
    line-height: 1.1;
    color: var(--jb-ink);
    text-decoration: none;
    overflow-wrap: break-word;
}

.html-category-page .product-item .product-title a:hover,
.html-search-page .product-item .product-title a:hover {
    color: var(--jb-accent);
}

.html-category-page .product-item .sku,
.html-search-page .product-item .sku {
    display: inline-flex;
    align-self: flex-start;
    max-width: 100%;
    padding: 6px 10px;
    border-radius: 999px;
    background: #eef2f5;
    color: #53606f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.3;
    text-transform: uppercase;
    overflow-wrap: anywhere;
}

.html-category-page .product-item .product-rating-box,
.html-search-page .product-item .product-rating-box {
    margin: -2px 0 0;
}

.html-category-page .product-item .description,
.html-search-page .product-item .description {
    font-family: "Lato", sans-serif;
    color: #4d5966;
    font-size: 0.98rem;
    line-height: 1.65;
    margin: 0;
    flex: 1;
    overflow-wrap: anywhere;
}

.html-category-page .product-item .add-info,
.html-search-page .product-item .add-info {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    margin-top: auto;
    align-items: end;
}

.html-category-page .product-item .prices,
.html-search-page .product-item .prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 12px;
    min-width: 0;
}

.html-category-page .product-item .old-price,
.html-search-page .product-item .old-price {
    color: #7d8794;
    font-size: 0.95rem;
}

.html-category-page .product-item .actual-price,
.html-search-page .product-item .actual-price {
    color: var(--jb-ink);
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.4rem;
    line-height: 1;
    overflow-wrap: anywhere;
}

.html-category-page .product-item .tax-shipping-info,
.html-search-page .product-item .tax-shipping-info,
.html-category-page .product-item .base-price-pangv,
.html-search-page .product-item .base-price-pangv {
    flex-basis: 100%;
    color: #5c6674;
    font-size: 0.84rem;
    line-height: 1.5;
}

.html-category-page .product-item .tax-shipping-info a,
.html-search-page .product-item .tax-shipping-info a {
    color: inherit;
}

.html-category-page .product-item .buttons,
.html-search-page .product-item .buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.html-category-page .product-item .buttons button,
.html-search-page .product-item .buttons button,
.html-category-page .product-item .buttons a.button-2,
.html-search-page .product-item .buttons a.button-2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: pointer;
    font-family: "Fjalla One", sans-serif;
    font-size: 0.95rem;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.jb-home-native-components {
    opacity: 0.8;
    padding-top: 40px;
    border-top: 1px solid var(--jb-border);
}

@media (min-width: 1001px) {
    .header-lower {
        display: grid !important;
        grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
        align-items: center;
        column-gap: 16px;
        position: relative;
    }

    .jb-mobile-toggles.left,
    .jb-mobile-toggles.right {
        display: none !important;
    }

    .header-logo {
        grid-column: 1;
        justify-self: start;
        flex: 0 0 auto;
        margin-right: 0 !important;
    }

    .header-menu.jb-mobile-drawer,
    .header-menu,
    .jb-drawer-content,
    .menu-container {
        grid-column: 2;
        flex: 0 0 auto;
        min-width: 0;
        position: static !important;
        left: auto !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
    }

    .menu-container .menu {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        margin: 0 !important;
        height: 64px !important;
        min-height: 64px;
    }

    .menu-container .menu__item {
        display: flex !important;
        align-items: center !important;
        height: 64px !important;
        min-height: 64px;
    }

    .menu-container .menu__item > a,
    .menu-container .menu__item > span,
    .menu-container .menu__item-toggle,
    .menu-container .menu__link {
        display: inline-flex !important;
        align-items: center !important;
        height: 64px !important;
        min-height: 64px !important;
        line-height: 1 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        vertical-align: middle !important;
    }

    .header-links-wrapper {
        grid-column: 3;
        justify-self: end;
        flex: 0 0 auto;
        margin-left: 0 !important;
        position: static !important;
        z-index: 2;
    }
}

@media (min-width: 1001px) {
    .header-links li#topcartlink,
    .header-links li#topcartlink a,
    #topcartlink,
    #topcartlink .ico-cart,
    #flyout-cart {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: hidden !important;
    }
}

@media (min-width: 1001px) {
    .header-lower {
        display: flex !important;
        align-items: center;
        flex-wrap: nowrap;
    }

    .header-menu.jb-mobile-drawer,
    .header-menu,
    .jb-drawer-content,
    .menu-container,
    .menu-container .menu {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
    }

    .header-menu.jb-mobile-drawer,
    .header-menu,
    .jb-drawer-content,
    .menu-container {
        min-width: 0;
        flex: 1 1 auto;
    }

    .menu-container .menu {
        justify-content: flex-start !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .menu-container .menu__item,
    .menu-container .menu > .menu__item {
        display: inline-flex !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border-right: 0 !important;
    }

    .menu-container .menu__item:not(.menu-dropdown) {
        padding: 0 !important;
    }

    .menu-container .menu__item > a,
    .menu-container .menu__item > span,
    .menu-container .menu__item-toggle,
    .menu-container .menu__link {
        display: inline-flex !important;
        align-items: center !important;
        white-space: nowrap;
        min-height: 64px;
        padding: 0 14px !important;
    }

    .header-links-wrapper {
        display: flex !important;
        align-items: center !important;
        margin-left: 12px !important;
        width: auto !important;
        min-width: 0 !important;
        height: auto !important;
    }
}

/* The Apply / View Button */
.jb-view-job-button {
    display: none;
}

.html-category-page .product-item .jb-view-job-button,
.html-search-page .product-item .jb-view-job-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--jb-accent);
    border-color: var(--jb-accent);
    color: var(--jb-white);
}

.html-category-page .product-item .buttons .product-box-add-to-cart-button,
.html-search-page .product-item .buttons .product-box-add-to-cart-button {
    background: #f4f8f7;
    border-color: #c8ddd7;
    color: #205245;
}

.html-category-page .product-item .buttons .product-box-add-to-cart-button:hover,
.html-search-page .product-item .buttons .product-box-add-to-cart-button:hover {
    background: #e5f2ee;
    border-color: #b2d0c6;
    color: #173c33;
}

.html-category-page .product-item .buttons .jb-view-job-button:hover,
.html-search-page .product-item .buttons .button-2:hover {
    background-color: var(--jb-accent-dark);
    border-color: var(--jb-accent-dark);
    color: var(--jb-white);
}

/* Secondary Buttons (Compare, Wishlist) */
.html-category-page .product-item .buttons .add-to-compare-list-button,
.html-search-page .product-item .buttons .add-to-compare-list-button,
.html-category-page .product-item .buttons .add-to-wishlist-button,
.html-search-page .product-item .buttons .add-to-wishlist-button {
    background-color: #f7f8fa;
    border-color: #d7dde5;
    color: #4d5966;
}

.html-category-page .product-item .buttons .add-to-compare-list-button:hover,
.html-search-page .product-item .buttons .add-to-compare-list-button:hover,
.html-category-page .product-item .buttons .add-to-wishlist-button:hover,
.html-search-page .product-item .buttons .add-to-wishlist-button:hover {
    background-color: #edf1f4;
    border-color: #c7d0db;
    color: var(--jb-ink);
}

.html-category-page .price-range-filter,
.html-search-page .price-range-filter {
    padding-top: 4px;
}

.html-category-page .price-range-filter .selected-price-range,
.html-search-page .price-range-filter .selected-price-range {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: #5c6674;
    font-size: 0.9rem;
}

.html-category-page .price-range-filter input,
.html-search-page .price-range-filter input {
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    border: 1px solid var(--jb-border);
    border-radius: 12px;
}

.html-category-page .filtered-items,
.html-search-page .filtered-items {
    margin: 0 0 16px;
    color: #5c6674;
    font-size: 0.95rem;
}

.html-category-page .pager,
.html-search-page .pager {
    margin-top: 28px;
    text-align: center;
}

.html-category-page .pager ul,
.html-search-page .pager ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.html-category-page .pager li,
.html-search-page .pager li {
    display: inline-flex;
}

.html-category-page .pager li a,
.html-search-page .pager li a,
.html-category-page .pager li span,
.html-search-page .pager li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0 12px;
    background: var(--jb-white);
    border: 1px solid var(--jb-border);
    border-radius: 999px;
    color: var(--jb-ink);
    text-decoration: none;
    font-family: "Fjalla One", sans-serif;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.html-category-page .pager li a:hover,
.html-search-page .pager li a:hover {
    background: #f7f8fa;
    border-color: #c7d0db;
}

.html-category-page .pager li.current-page span,
.html-search-page .pager li.current-page span {
    background: var(--jb-accent);
    color: var(--jb-white);
    border-color: var(--jb-accent);
}

@media (min-width: 1001px) {
    .html-category-page .center-2,
    .html-search-page .center-2 {
        max-width: min(100%, 860px);
    }

    .html-category-page .block,
    .html-search-page .block {
        border-radius: 18px;
    }

    .html-category-page .block .title,
    .html-search-page .block .title {
        padding: 16px 18px;
        font-size: 1.05rem;
    }

    .html-category-page .block .listbox,
    .html-search-page .block .listbox {
        padding: 16px 18px 18px;
    }

    .html-category-page .product-item .add-info,
    .html-search-page .product-item .add-info {
        grid-template-columns: minmax(0, 1fr) minmax(240px, auto);
    }
}

@media (max-width: 1000px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        max-width: 760px;
        margin: 0 auto;
    }

    .html-category-page .product-selectors,
    .html-search-page .product-selectors {
        padding: 14px;
    }
}

@media (max-width: 767px) {
    .html-category-page .product-item,
    .html-search-page .product-item {
        grid-template-columns: 1fr;
        padding: 18px;
        gap: 16px;
    }

    .html-category-page .product-item .picture,
    .html-search-page .product-item .picture,
    .html-category-page .product-item .details,
    .html-search-page .product-item .details {
        grid-column: auto;
    }

    .html-category-page .product-item .picture,
    .html-search-page .product-item .picture {
        max-width: 88px;
    }

    .html-category-page .product-item .add-info,
    .html-search-page .product-item .add-info {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .html-category-page .product-item .buttons,
    .html-search-page .product-item .buttons {
        justify-content: flex-start;
    }

    .html-category-page .product-item .jb-view-job-button,
    .html-search-page .product-item .jb-view-job-button {
        width: 100%;
    }
}

@media (max-width: 600px) {
    .html-category-page .item-grid,
    .html-search-page .item-grid {
        margin: 0;
        padding: 0;
    }

    .html-category-page .product-selectors,
    .html-search-page .product-selectors {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .html-category-page .product-selectors > div,
    .html-search-page .product-selectors > div {
        width: 100%;
        justify-content: space-between;
    }

    .html-category-page .product-selectors select,
    .html-search-page .product-selectors select {
        width: 100%;
    }

    .html-category-page .block,
    .html-search-page .block {
        margin-bottom: 16px;
    }

    .html-category-page .product-item .buttons,
    .html-search-page .product-item .buttons {
        gap: 8px;
    }

    .html-category-page .product-item .buttons button,
    .html-search-page .product-item .buttons button,
    .html-category-page .product-item .buttons a.button-2,
    .html-search-page .product-item .buttons a.button-2 {
        flex: 1 1 100%;
    }

    .html-category-page .product-item .buttons .add-to-compare-list-button,
    .html-search-page .product-item .buttons .add-to-compare-list-button,
    .html-category-page .product-item .buttons .add-to-wishlist-button,
    .html-search-page .product-item .buttons .add-to-wishlist-button {
        flex-basis: calc(50% - 4px);
    }

    .html-category-page .pager ul,
    .html-search-page .pager ul {
        display: flex;
    }
}

/* Search Page Specifics */
.html-search-page .search-input {
    background: var(--jb-white);
    border: 1px solid var(--jb-border);
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

.html-search-page .search-input .form-fields .inputs {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 15px;
}

.html-search-page .search-input .form-fields .inputs label {
    font-family: "Lato", sans-serif;
    color: var(--jb-ink);
    min-width: 150px;
}

.html-search-page .search-input .search-text,
.html-search-page .search-input select {
    flex: 1;
    padding: 10px 15px;
    border: 1px solid var(--jb-border);
    border-radius: 4px;
    font-family: "Lato", sans-serif;
}

.html-search-page .search-input .buttons .search-button {
    background-color: var(--jb-accent);
    color: var(--jb-white);
    border: none;
    padding: 12px 24px;
    border-radius: 4px;
    font-family: "Fjalla One", sans-serif;
    font-size: 1.1rem;
    cursor: pointer;
    transition: background-color 0.2s;
}

.html-search-page .search-input .buttons .search-button:hover {
    background-color: var(--jb-accent-dark);
}

/* Mobile stacking for search */
@media (max-width: 600px) {
    .html-search-page .search-input .form-fields .inputs {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .html-search-page .search-input .form-fields .inputs label {
        min-width: auto;
    }
}

/* Ensure filter block links appear nicely */
.html-category-page .block .listbox ul,
.html-search-page .block .listbox ul {
    padding-left: 0;
}

/* Force mobile drawer visibility when open */
body.jb-menu-open #jb-mobile-menu-drawer {
    left: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    display: flex !important;
}

body.jb-menu-open .jb-drawer-overlay {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

body.jb-search-open #jb-mobile-search-overlay {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hide the inner "Categories" toggle text so top-level links are usable without double clicking */
#jb-mobile-menu-drawer .menu-toggle {
    display: none !important;
}
#jb-mobile-menu-drawer .menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    top: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Override default footer navigation styles */
.footer-navigation {
    background-color: transparent !important;
    color: var(--jb-muted) !important;
}

.footer-menu {
    background-color: transparent !important;
    border: none !important;
    margin-bottom: 20px !important;
}

.footer-menu-title, .footer-menu-toggle, .footer-menu__title, .footer-menu__toggle {
    background-color: transparent !important;
    color: var(--jb-ink) !important;
    font-family: "Fjalla One", sans-serif !important;
    font-size: 1.2rem !important;
    padding: 0 0 10px 0 !important;
    border-bottom: none !important;
    transition: none !important;
    animation: none !important;
}

.footer-menu-title::after, .footer-menu-toggle::after, .footer-menu__title::after, .footer-menu__toggle::after {
    display: none !important;
}

.footer-menu-list, .footer-menu__list {
    padding: 0 !important;
    background-color: transparent !important;
    border: none !important;
}

@media (max-width: 1000px) {
    .footer-menu__list {
        display: none;
        transition: none !important;
        animation: none !important;
    }

    .footer-menu.footer-menu--active .footer-menu__list {
        display: block;
    }
}

.footer-menu-list .footer-menu-item a,
.footer-menu-list .footer-menu-link,
.footer-menu__list .footer-menu__item a {
    color: var(--jb-muted) !important;
    font-family: "Lato", sans-serif !important;
    padding: 5px 0 !important;
    display: block !important;
    text-decoration: none !important;
}

.footer-menu-list .footer-menu-item a:hover,
.footer-menu-list .footer-menu-link:hover,
.footer-menu__list .footer-menu__item a:hover {
    color: var(--jb-accent) !important;
}

#jb-mobile-menu-drawer .menu__toggle {
    display: none !important;
}

@media (max-width: 1000px) {
    .footer-upper {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .footer-navigation {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }
    .footer-menu {
        margin-bottom: 0 !important;
    }
    .footer-block.follow-us {
        margin-top: 20px;
    }
}

/* Custom Header & Branding Styles */
.header-lower {
    height: 64px;
    display: flex;
    align-items: center;
}
.header-logo .jb-brand {
    font-family: "Fjalla One", sans-serif;
    font-size: 1.5rem;
    color: var(--jb-ink);
    text-decoration: none;
    font-weight: 700;
}

/* =========================================
   PROMPT 03 SHELL ALIGNMENT
   ========================================= */
:root {
    --jb-bg: #f0f0f0;
    --jb-ink: #2c2c2c;
    --jb-muted: #909090;
    --jb-accent: #35d6b4;
    --jb-accent-dark: #24b99a;
    --jb-border: #dedede;
    --jb-surface: #ffffff;
    --jb-surface-muted: #f7f7f7;
}

html {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    background: var(--jb-bg);
    color: var(--jb-ink);
}

.master-wrapper-content {
    padding-bottom: 48px;
}

.master-wrapper-page > .header-menu {
    display: none !important;
}

.html-category-page .master-column-wrapper,
.html-search-page .master-column-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start;
}

.html-category-page .master-column-wrapper > .breadcrumb,
.html-search-page .master-column-wrapper > .breadcrumb {
    flex: 0 0 100%;
    width: 100%;
    max-width: 1200px;
    margin: 0 0 8px;
    padding: 0 0 8px;
    text-align: center;
}

.html-category-page .master-column-wrapper > .side-2,
.html-search-page .master-column-wrapper > .side-2 {
    flex: 0 0 252px;
}

.html-category-page .master-column-wrapper > .center-2,
.html-search-page .master-column-wrapper > .center-2 {
    flex: 1 1 0;
    min-width: 0;
}

.jb-filter-panel-toggle,
.jb-filter-panel-header {
    display: none;
}

.header {
    border-bottom: 1px solid var(--jb-border);
    background: var(--jb-surface);
}

.header-upper {
    display: flex;
    justify-content: flex-end;
    min-height: 37px;
    padding: 0 20px;
    border-bottom: 1px solid #3a3a3a;
    background: #2c2c2c;
}

.header-selectors-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.header-selectors-wrapper select {
    min-height: 36px;
    padding: 0 18px 0 8px;
    border: 0;
    background: transparent;
    color: #bfbfbf;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.86rem;
}

.header-lower {
    display: flex !important;
    align-items: center;
    gap: 18px;
    height: 64px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 0 12px;
}

.jb-mobile-toggles.left {
    display: none;
}

.jb-mobile-toggles.right {
    display: flex;
    order: 3;
}

.jb-mobile-toggles button {
    width: 52px;
    height: 64px;
    padding: 0;
    border: 0;
    border-left: 1px solid #ededed;
    background: transparent;
    color: #8f8f8f;
}

.jb-mobile-toggles button:hover,
.jb-mobile-toggles button:focus {
    color: var(--jb-accent-dark);
    background: #fafafa;
}

.header-logo {
    flex: 0 0 auto;
    min-width: 0;
}

.jb-brand {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: var(--jb-ink);
    text-decoration: none;
    min-width: 0;
}

.jb-brand-name {
    min-width: 0;
    overflow: hidden;
    color: #3b3b3b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 2rem;
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.jb-brand-mark,
.jb-drawer-brand .jb-brand-mark {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 44px;
    flex: 0 0 auto;
}

.jb-brand-mark::before,
.jb-brand-mark::after {
    content: "";
    position: absolute;
    bottom: 2px;
    width: 11px;
    height: 38px;
    background: var(--jb-accent);
    border-radius: 3px;
}

.jb-brand-mark::before {
    left: 4px;
    transform: rotate(26deg);
    transform-origin: bottom center;
}

.jb-brand-mark::after {
    right: 4px;
    transform: rotate(-26deg);
    transform-origin: bottom center;
}

.header-menu.jb-mobile-drawer {
    position: static;
    left: auto;
    width: auto;
    height: auto;
    display: flex !important;
    flex: 1 1 auto;
    align-items: stretch;
    background: transparent;
    box-shadow: none;
}

.jb-drawer-header {
    display: none;
}

.jb-drawer-content {
    display: flex;
    align-items: stretch;
    width: 100%;
    padding: 0;
    overflow: visible;
}

.jb-drawer-account-links,
.jb-drawer-selectors {
    display: none;
}

.menu-container {
    width: 100%;
}

.menu-container .menu__toggle {
    display: none;
}

.menu-container .menu {
    display: flex !important;
    justify-content: center;
    align-items: stretch;
    gap: 0;
    height: 100%;
    margin: 0;
    padding: 0;
}

.menu-container .menu__item {
    position: relative;
    display: flex;
    align-items: stretch;
}

.menu-container .menu__item > a,
.menu-container .menu__item > span,
.menu-container .menu__item-toggle {
    display: inline-flex;
    align-items: center;
    min-height: 64px;
    padding: 0 17px;
    color: #2f2f2f;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.95rem;
    text-decoration: none;
}

.menu-container .sublist-wrap,
.menu-container .sublist {
    border: 1px solid var(--jb-border);
    background: var(--jb-surface);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.menu-container .sublist a {
    padding: 10px 16px;
    color: #555;
}

.menu-container .menu__item:hover > a,
.menu-container .menu__item:focus-within > a,
.menu-container .menu__item-toggle:hover {
    color: var(--jb-accent-dark);
}

.header-links-wrapper {
    display: flex;
    align-items: stretch;
    gap: 0;
    min-width: 0;
    margin-left: auto;
    order: 4;
}

.jb-header-actions {
    display: flex;
    align-items: center;
    margin-left: auto;
}

.header-links {
    display: flex;
    align-items: stretch;
}

.header-links ul {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-links li {
    display: flex;
}

.header-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 64px;
    padding: 0 14px;
    border-left: 1px solid #ededed;
    color: #7d7d7d;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.95rem;
    text-decoration: none;
    text-align: center;
}

.header-links a:hover {
    color: var(--jb-accent-dark);
}

.jb-mobile-account {
    display: none;
}

.jb-account-toggle {
    display: none;
}

.jb-account-popup {
    display: none;
}

.header-links .wishlist-label,
.header-links .cart-label,
.header-links .inbox-label {
    display: none;
}

.header-links .wishlist-qty,
.header-links .cart-qty,
.header-links .inbox-unread {
    color: inherit;
    font-size: 0.9rem;
}

.header-links .ico-wishlist,
.header-links .ico-inbox {
    width: 52px;
    padding: 0;
    font-size: 0;
    position: relative;
}

.header-links .ico-wishlist::before,
.header-links .ico-inbox::before {
    font-size: 20px;
    line-height: 1;
    color: #9d9d9d;
}

.header-links .ico-wishlist::before {
    content: "\2665";
}

.header-links .ico-inbox::before {
    content: "\2709";
}

#topcartlink .ico-cart {
    flex-direction: column;
    gap: 3px;
    min-width: 246px;
    padding: 10px 18px;
    border-left: 0;
    background: var(--jb-accent);
    color: #fff;
    line-height: 1.15;
}

#topcartlink .ico-cart .cart-label,
#topcartlink .ico-cart .cart-qty {
    display: block;
}

#topcartlink .ico-cart .cart-label {
    font-size: 0.95rem;
}

#topcartlink .ico-cart .cart-qty {
    font-size: 0.82rem;
    opacity: 0.88;
}

#flyout-cart {
    right: 0;
    left: auto;
    border: 1px solid var(--jb-border);
    background: var(--jb-surface);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.12);
}

@media (min-width: 1001px) {
    .menu-container .menu {
        justify-content: flex-start;
    }

    .menu-container .menu__item > a,
    .menu-container .menu__item > span,
    .menu-container .menu__item-toggle {
        padding: 0 14px;
    }

    .header-links-wrapper {
        margin-left: 12px;
    }

    .header-links a {
        padding: 0 10px;
    }

    .header-links li#topcartlink,
    #flyout-cart {
        display: none !important;
    }
}

.store-search-box.jb-search-overlay {
    position: fixed;
    top: 101px;
    left: 0;
    right: 0;
    z-index: 1002;
    display: none;
    padding: 18px 20px;
    border-top: 1px solid var(--jb-border);
    border-bottom: 1px solid var(--jb-border);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.08);
}

body.jb-search-open .store-search-box.jb-search-overlay {
    display: block !important;
}

.store-search-box.jb-search-overlay form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    width: min(100%, 720px);
    margin: 0 auto;
}

.search-box-text,
.search-box-category,
.newsletter-subscribe-text,
.theme-selector select,
.price-range-filter input,
.html-category-page .product-selectors select,
.html-search-page .product-selectors select {
    min-height: 42px;
    max-width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--jb-border);
    border-radius: 4px;
    background: var(--jb-surface);
}

.search-box-button,
.newsletter-subscribe-button,
.jb-home-search-form .search-box-button,
.html-category-page .product-item .buttons button,
.html-search-page .product-item .buttons button,
.html-category-page .product-item .buttons a.button-2,
.html-search-page .product-item .buttons a.button-2 {
    min-height: 42px;
    padding: 10px 16px;
    border-radius: 4px;
}

.jb-search-close,
.jb-drawer-close {
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid var(--jb-border);
    border-radius: 4px;
    background: var(--jb-surface);
    color: #8c8c8c;
}

.jb-drawer-overlay {
    background: rgba(0, 0, 0, 0.5);
}

body.jb-menu-open .jb-drawer-overlay,
body.jb-search-open .jb-drawer-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.home-page .page-body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.jb-home-hero {
    margin: 0 -20px;
    padding: 0;
}

.jb-home-hero-shell {
    position: relative;
    min-height: 500px;
    padding: 110px 20px 60px;
    background:
        linear-gradient(rgba(44, 44, 44, 0.18), rgba(44, 44, 44, 0.3)),
        radial-gradient(circle at 20% 52%, rgba(255, 240, 193, 0.92) 0, rgba(255, 225, 146, 0.68) 10%, rgba(255, 225, 146, 0) 26%),
        linear-gradient(115deg, rgba(60, 60, 60, 0.94) 0%, rgba(118, 118, 118, 0.3) 28%, rgba(224, 198, 138, 0.68) 55%, rgba(98, 90, 82, 0.82) 80%, rgba(57, 57, 57, 0.96) 100%);
    overflow: hidden;
}

.jb-home-hero-shell::before {
    content: "";
    position: absolute;
    inset: auto 10% -18% auto;
    width: 42%;
    height: 58%;
    background: linear-gradient(180deg, rgba(120, 120, 120, 0.34), rgba(55, 55, 55, 0.85));
    clip-path: polygon(12% 100%, 62% 14%, 100% 100%);
}

.jb-home-hero-shell::after {
    content: "";
    position: absolute;
    inset: auto auto -12% -4%;
    width: 58%;
    height: 42%;
    background: linear-gradient(180deg, rgba(70, 58, 42, 0), rgba(57, 44, 29, 0.74));
    clip-path: polygon(0 100%, 26% 60%, 39% 72%, 56% 48%, 69% 62%, 100% 22%, 100% 100%);
}

.jb-home-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    align-content: end;
    min-height: 330px;
    max-width: 620px;
    padding: 0;
}

.jb-home-hero-brand {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}

.jb-home-hero-brand .jb-brand-mark {
    transform: scale(1.25);
    transform-origin: left center;
}

.jb-home-store-name {
    margin: 0;
    color: #fff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: clamp(2.5rem, 6vw, 4.9rem);
    line-height: 0.94;
    text-transform: uppercase;
}

.jb-home-hero-topic .topic-block {
    margin: 0 0 24px;
}

.jb-home-hero-topic .topic-block-title,
.jb-home-hero-topic .topic-block-body,
.jb-home-hero-topic h1,
.jb-home-hero-topic h2,
.jb-home-hero-topic h3,
.jb-home-hero-topic p,
.jb-home-hero-topic li,
.jb-home-hero-topic a {
    color: #fff;
}

.jb-home-hero-topic .topic-block-title,
.jb-home-hero-topic h1,
.jb-home-hero-topic h2 {
    margin: 0 0 12px;
    font-size: clamp(1.8rem, 4.2vw, 3.2rem);
    line-height: 0.96;
}

.jb-home-hero-topic p {
    max-width: 54ch;
    font-size: 0.98rem;
    line-height: 1.7;
}

.jb-home-hero-search {
    width: min(100%, 520px);
}

.jb-home-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
}

.jb-home-filters {
    margin: 28px 0 0;
    padding: 18px 20px;
    border: 1px solid var(--jb-border);
    background: var(--jb-surface);
}

.jb-home-native-components {
    opacity: 1;
    padding-top: 34px;
    border-top: 0;
}

.jb-home-native-components .picture,
.jb-home-native-components .prices,
.jb-home-native-components .product-rating-box,
.jb-home-native-components .sku,
.jb-home-native-components .description,
.jb-home-native-components .product-title {
    display: block !important;
}

.jb-home-native-components .buttons {
    display: flex !important;
    flex-wrap: wrap;
    gap: 10px;
}

.jb-home-native-components > div,
.jb-home-native-components .product-grid,
.jb-home-native-components .category-grid,
.jb-home-native-components .bestsellers,
.jb-home-native-components .topic-block {
    margin-top: 24px;
}

.jb-home-native-components .title,
.jb-home-native-components h2 {
    color: var(--jb-ink);
}

.home-page-category-grid .item-grid,
.home-page-product-grid .item-grid,
.bestsellers .item-grid {
    gap: 24px;
}

.home-page .item-box {
    padding: 18px;
    border-radius: 0;
    border: 1px solid var(--jb-border);
    box-shadow: none;
}

.home-page .item-box:hover {
    transform: none;
    box-shadow: none;
    border-color: #c9c9c9;
}

.footer {
    margin-top: 10px;
    padding: 0 20px 28px;
    background: var(--jb-surface);
    border-top: 0;
}

.footer-upper,
.footer-lower {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.footer-upper {
    /* Temporary hard collapse: the upper footer area is intentionally hidden to remove the large empty gap. */
    display: none;
    padding: 0;
    gap: 0;
}

.footer-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: 24px;
    align-items: start;
}

.footer-navigation {
    display: grid;
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    gap: 18px 24px;
    flex: none;
}

.footer-menu {
    margin-bottom: 0 !important;
}

.footer-menu__title {
    margin: 0 0 14px !important;
    color: var(--jb-ink) !important;
    font-family: "Fjalla One", Arial, sans-serif !important;
    font-size: 1.05rem !important;
    line-height: 1;
    text-transform: uppercase;
}

.footer-menu__list {
    display: block !important;
}

.footer-menu--newsletter .newsletter > .title {
    display: none;
}

.footer-menu__item {
    margin-bottom: 2px;
    padding: 0 !important;
    line-height: 1.2;
}

.footer-menu__item a,
.footer-menu__link {
    color: #8a8a8a !important;
    font-size: 0.96rem;
    line-height: 1.3;
    padding: 2px 0 !important;
}

.footer-menu__item a:hover,
.footer-menu__link:hover {
    color: var(--jb-accent-dark) !important;
}

.footer-block.follow-us {
    width: 100%;
    margin-bottom: 0;
    padding: 18px 0 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    /* Temporary fix: remove the follow-us footer block entirely so it doesn't reserve blank space. */
    display: none;
}

.social {
    margin-bottom: 0;
}

.social ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    padding: 18px 0 0;
    border-top: 1px dashed #cfcfcf;
}

.social li {
    margin: 0;
}

.social a {
    width: 58px;
    height: 58px;
    border: 1px dashed #cfcfcf;
    background-color: transparent;
}

.newsletter-subscribe {
    margin-top: 0;
}

.newsletter-email {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px;
    gap: 0;
}

.newsletter-subscribe-text {
    border-right: 0;
    border-radius: 0;
    background: #f3f3f3;
    color: #8c8c8c;
}

.newsletter-subscribe-button {
    min-width: 64px;
    border-radius: 0;
}

@media (min-width: 1001px) {
    .footer-menu--newsletter {
        position: relative;
        left: -50px;
    }
}

.footer-lower {
    /*display: flex;*/
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 10px 0 0;
    border-top: 1px dashed #cfcfcf;
    text-align: center;
}

.footer-info,
.footer-powered-by,
.footer-meta {
    color: #8a8a8a;
}

.footer-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
}

.footer-tax-shipping a,
.footer-powered-by a,
.footer-meta a {
    color: var(--jb-accent-dark);
}

.theme-selector select {
    min-width: 150px;
    background: var(--jb-surface);
}

@media (max-width: 1000px) {
    .header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 1003;
    }

    .header-upper {
        display: none;
    }

    .master-wrapper-content {
        padding-top: 60px;
    }

    .header-lower {
        height: 60px;
        padding: 0 8px;
        border-bottom: 1px solid var(--jb-border);
    }

    .jb-mobile-toggles.left {
        display: flex;
        order: 1;
    }

    .header-logo {
        order: 2;
        flex: 1 1 auto;
        min-width: 0;
        text-align: center;
    }

    .jb-brand {
        gap: 10px;
        justify-content: center;
        max-width: 100%;
    }

    .jb-brand-mark {
        width: 26px;
        height: 34px;
    }

    .jb-brand-mark::before,
    .jb-brand-mark::after {
        width: 8px;
        height: 29px;
    }

    .jb-brand-name {
        font-size: 1.7rem;
    }

    .jb-mobile-toggles button {
        width: 44px;
        height: 44px;
        border: 0;
        color: #9e9e9e;
    }

    .jb-mobile-toggles.right {
        order: 5;
    }

    .header-links-wrapper {
        order: 4;
        margin-left: 0;
        position: absolute;
        top: 50%;
        right: 52px;
        transform: translateY(-50%);
    }

    .header-links li {
        display: none;
    }

    .header-links li#topcartlink {
        display: flex;
    }

    #topcartlink .ico-cart {
        position: relative;
        min-width: 0;
        width: 44px;
        min-height: 44px;
        padding: 0;
        background: transparent;
        color: #a0a0a0;
        font-size: 0;
    }

    #topcartlink .ico-cart::before {
        content: "";
        width: 20px;
        height: 20px;
        background: url("../images/shopping-basket.png") center / contain no-repeat;
        filter: grayscale(1);
    }

    #topcartlink .ico-cart .cart-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    #topcartlink .ico-cart .cart-qty {
        position: absolute;
        top: -2px;
        right: -4px;
        min-width: 16px;
        height: 16px;
        padding: 0 3px;
        border-radius: 8px;
        background: var(--jb-accent);
        color: #fff;
        font-size: 0.68rem;
        line-height: 16px;
        text-align: center;
    }

    #flyout-cart {
        display: none !important;
    }

    .header-menu.jb-mobile-drawer {
        position: fixed;
        top: 0;
        left: -100%;
        width: min(320px, 86vw);
        height: 100vh;
        display: flex !important;
        background: var(--jb-surface);
        box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
        z-index: 1004;
        transition: left 0.3s ease;
    }

    body.jb-menu-open .header-menu.jb-mobile-drawer {
        left: 0;
    }

    .jb-drawer-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 8px 12px 8px 14px;
        border-bottom: 1px solid var(--jb-border);
    }

    .jb-drawer-close {
        border: 0 !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    .jb-drawer-brand {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        min-width: 0;
    }

    .jb-drawer-title {
        overflow: hidden;
        color: #444;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 1.75rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .jb-drawer-content {
        display: block;
        width: 100%;
        padding: 0;
        overflow-y: auto;
    }

    .jb-drawer-content .menu {
        display: block !important;
    }

    .jb-drawer-content .menu__item,
    .jb-drawer-content .menu__item:not(.menu-dropdown),
    .jb-drawer-content .menu > .menu__item {
        display: block;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px dashed #d4d4d4;
        background: #fff !important;
    }

    .jb-drawer-content .menu__list-view,
    .jb-drawer-content .menu__grid-view,
    .jb-drawer-content .sublist-wrap,
    .jb-drawer-content .sublist {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .jb-drawer-content .menu__link,
    .jb-drawer-content .menu__item > a,
    .jb-drawer-content .menu__item-toggle {
        display: flex !important;
        width: 100% !important;
        align-items: center;
        min-height: 46px;
        padding: 10px 16px;
        font-size: 0.95rem;
        line-height: 1.15;
        box-sizing: border-box;
    }

    #jb-mobile-menu-drawer .menu-toggle,
    #jb-mobile-menu-drawer .menu__toggle {
        display: none !important;
    }

    .jb-drawer-account-links,
    .jb-drawer-selectors {
        display: block;
        margin: 0;
        padding: 0;
        border-top: 1px dashed #d4d4d4;
    }

    .jb-drawer-account-links ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .jb-drawer-account-links li {
        margin: 0;
        border-bottom: 1px dashed #d4d4d4;
    }

    .jb-drawer-account-links a {
        display: flex;
        align-items: center;
        min-height: 55px;
        padding: 0 16px;
        color: #7f7f7f;
        font-family: "Fjalla One", Arial, sans-serif;
        text-decoration: none;
    }

    .jb-drawer-selectors > .header-selectors-wrapper {
        display: block;
    }

    .jb-drawer-selectors .tax-display-type-selector,
    .jb-drawer-selectors .currency-selector,
    .jb-drawer-selectors .language-selector {
        border-bottom: 1px dashed #d4d4d4;
    }

    .jb-drawer-selectors select {
        width: 100%;
        min-height: 55px;
        padding: 0 16px;
        border: 0;
        background: transparent;
        color: #7f7f7f;
        font-family: "Fjalla One", Arial, sans-serif;
    }

    .store-search-box.jb-search-overlay {
        top: 60px;
        padding: 12px;
    }

    .store-search-box.jb-search-overlay form {
        grid-template-columns: minmax(0, 1fr) auto;
        width: 100%;
    }

    .store-search-box.jb-search-overlay .search-box-button,
    .store-search-box.jb-search-overlay .button-1.search-box-button {
        background-color: var(--jb-accent) !important;
        border-color: var(--jb-accent) !important;
        color: var(--jb-white) !important;
    }

    .store-search-box.jb-search-overlay .search-box-button:hover,
    .store-search-box.jb-search-overlay .button-1.search-box-button:hover,
    .store-search-box.jb-search-overlay .search-box-button:focus,
    .store-search-box.jb-search-overlay .button-1.search-box-button:focus {
        background-color: var(--jb-accent-dark) !important;
        border-color: var(--jb-accent-dark) !important;
        color: var(--jb-white) !important;
    }

    .store-search-box.jb-search-overlay .search-box-category {
        grid-column: 1 / -1;
    }

    .home-page .page-body {
        padding: 0 12px;
    }

    .jb-home-hero {
        margin: 0 -12px;
    }

    .jb-home-hero-shell {
        min-height: 478px;
        padding: 88px 18px 34px;
    }

    .jb-home-hero-shell::before {
        width: 58%;
        height: 44%;
        right: 0;
    }

    .jb-home-hero-shell::after {
        width: 90%;
        height: 28%;
    }

    .jb-home-hero-content {
        min-height: 290px;
    }

    .jb-home-store-name {
        font-size: clamp(2rem, 10vw, 3.35rem);
    }

    .jb-home-hero-topic .topic-block-title,
    .jb-home-hero-topic h1,
    .jb-home-hero-topic h2 {
        font-size: clamp(1.5rem, 7vw, 2.5rem);
    }

    .jb-home-search-form {
        grid-template-columns: 1fr;
    }

    .jb-home-search-form .search-box-button {
        width: 100%;
    }

    .footer {
        padding-left: 12px;
        padding-right: 12px;
    }

    .footer-upper {
        display: block;
        padding: 0;
    }

    .footer-navigation {
        display: block;
    }

    .footer-menu {
        border-bottom: 1px dashed #cfcfcf !important;
    }

    .footer-menu__title {
        position: relative;
        margin: 0 !important;
        padding: 18px 34px !important;
        text-align: center;
    }

    .footer-menu__title::before,
    .footer-menu__title::after {
        content: "\2304";
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        color: var(--jb-accent);
        font-size: 0.8rem;
        line-height: 1;
    }

    .footer-menu__title::before {
        left: 10px;
    }

    .footer-menu__title::after {
        right: 10px;
    }

    .footer-menu__list {
        display: none !important;
        padding: 0 0 14px !important;
        text-align: center;
    }

    .footer-menu.footer-menu--active .footer-menu__list {
        display: block !important;
    }

    .footer-block.follow-us {
        min-width: 0;
        padding: 18px 0 0;
    }

    .footer-block.follow-us .title {
        text-align: center;
    }

    .newsletter-email {
        grid-template-columns: minmax(0, 1fr) 56px;
    }
}

@media (max-width: 640px) {
    .jb-brand-name {
        font-size: 1.45rem;
    }

    .home-page .page-body {
        padding: 0 10px;
    }

    .jb-home-hero {
        margin: 0 -10px;
    }

    .jb-home-hero-shell {
        min-height: 442px;
        padding-left: 14px;
        padding-right: 14px;
    }

    .jb-home-store-name {
        font-size: 2.55rem;
    }
}

@media (max-width: 1000px) {
    .footer {
        padding-left: 0;
        padding-right: 0;
    }

    .header-lower {
        width: 100%;
        max-width: none;
        margin: 0;
        padding-left: 12px;
        padding-right: 8px;
    }

    .header-logo {
        max-width: calc(100% - 96px);
        margin: 0;
    }

    .header-links-wrapper {
        right: auto;
        position: static !important;
        transform: none !important;
    }

    .footer-main {
        display: block;
    }

    .footer-upper,
    .footer-lower {
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }

    .footer-menu,
    .footer-menu--newsletter {
        border-bottom: 1px dashed #cfcfcf !important;
    }

    .footer-menu__title {
        position: relative;
        margin: 0 !important;
        padding: 18px 34px !important;
        text-align: center;
    }

    .footer-menu__title::before,
    .footer-menu__title::after {
        content: "\2304";
        display: block !important;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        color: var(--jb-accent);
        font-size: 0.8rem;
        line-height: 1;
    }

    .footer-menu__title::before {
        content: none;
    }

    .footer-menu__title::after {
        right: 14px;
    }

    .footer-menu__list {
        display: none !important;
        padding: 0 0 18px !important;
        text-align: center;
        background: #f3f3f3;
        border-top: 0;
    }

    .footer-menu.footer-menu--active .footer-menu__list,
    .footer-menu--newsletter.footer-menu--active .footer-menu__list {
        display: block !important;
    }

    .footer-menu__item:last-child {
        margin-bottom: 0;
    }

    .footer-menu__item a,
    .footer-menu__link {
        display: inline-block;
        padding: 4px 0;
    }

    .footer-block.follow-us {
        padding: 0;
    }

    .social ul {
        padding: 18px 0;
        border-top: 1px dashed #cfcfcf;
        border-bottom: 0;
    }

    .footer-menu--newsletter .newsletter {
        padding: 20px 16px 0;
    }

    .footer-menu--newsletter .newsletter-email {
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .footer-menu--newsletter .newsletter-subscribe-text,
    .footer-menu--newsletter .newsletter-subscribe-button {
        border-radius: 0;
    }

    .footer-menu--newsletter .newsletter-validation,
    .footer-menu--newsletter .newsletter-result {
        padding-bottom: 4px;
    }

    .footer-lower {
        width: 100%;
        padding: 22px 16px 0;
        border-top: 1px solid #dcdcdc;
    }
}

@media (max-width: 1000px) {
    .header {
        width: 100%;
    }

    .header-lower {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) 44px 44px;
        align-items: center;
        gap: 0;
        width: 100%;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 0 0 4px !important;
        min-height: 60px;
    }

    .jb-mobile-toggles,
    .jb-mobile-toggles.left {
        display: flex !important;
        order: 1;
        width: 48px;
        min-width: 48px;
        height: 44px;
        align-items: center;
        justify-content: center;
        justify-self: start;
        position: static !important;
        z-index: 2;
    }

    .header-logo {
        order: 2;
        width: 100%;
        max-width: none !important;
        min-width: 0;
        margin: 0 !important;
        padding: 0 4px 0 34px !important;
        text-align: left !important;
        overflow: hidden;
    }

    .jb-brand {
        display: flex !important;
        align-items: center;
        justify-content: flex-start !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        gap: 6px;
        overflow: hidden;
        flex-wrap: nowrap !important;
    }

    .jb-brand-mark {
        flex: 0 0 16px;
        width: 16px !important;
        height: 24px !important;
    }

    .jb-brand-name {
        font-size: clamp(0.95rem, 4.3vw, 1.35rem) !important;
        line-height: 1 !important;
        text-align: left;
        display: block;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap !important;
    }

    .header-links-wrapper {
        order: 3;
        display: flex !important;
        align-items: center;
        justify-self: end;
        justify-content: center;
        width: 44px;
        min-width: 44px;
        height: 44px;
        margin: 0 !important;
        position: static !important;
        top: auto !important;
        right: auto !important;
        transform: none !important;
    }

    .header-links,
    .header-links ul {
        display: flex;
        align-items: center;
        height: 44px;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-links li {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 44px;
    }

    .header-links li#topcartlink {
        display: none !important;
        align-items: center;
    }

    .jb-mobile-toggles.right {
        order: 4;
        display: flex !important;
        width: 44px;
        min-width: 44px;
        margin-left: auto;
        justify-self: end;
        justify-content: flex-end;
        margin-right: 0 !important;
        padding-right: 0 !important;
    }

    .header-links-wrapper {
        margin-right: 0 !important;
    }

    .jb-mobile-toggles.right,
    .jb-mobile-toggles.left {
        display: flex !important;
    }

    .jb-mobile-toggles button,
    .jb-menu-toggle,
    .jb-search-toggle {
        display: inline-flex !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        align-items: center;
        justify-content: center;
        color: #8f8f8f !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .jb-mobile-toggles button svg,
    .jb-menu-toggle svg,
    .jb-search-toggle svg {
        display: block !important;
        width: 22px;
        height: 22px;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .jb-mobile-account {
        display: flex;
        position: relative;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
    }

    .jb-account-toggle {
        display: inline-flex;
        width: 44px;
        height: 44px;
        padding: 0;
        align-items: center;
        justify-content: center;
        border: 0;
        background: transparent;
        color: #243f58;
    }

    .jb-account-toggle svg {
        display: block;
        width: 23px;
        height: 23px;
    }

    .jb-account-popup {
        position: absolute;
        top: calc(100% + 10px);
        right: -8px;
        z-index: 1006;
        min-width: 172px;
        padding: 10px 0;
        border: 1px solid #dfdfdf;
        background: #fff;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
    }

    body.jb-account-open .jb-account-popup {
        display: block;
    }

    .jb-account-popup ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .jb-account-popup li {
        display: block !important;
        height: auto;
        margin: 0;
        padding: 0;
    }

    .jb-account-popup a {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 9px 14px;
        color: #444;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 0.8rem;
        line-height: 1.1;
        white-space: nowrap;
        text-decoration: none;
        text-transform: uppercase;
    }

    .jb-account-popup a::before {
        display: inline-flex;
        width: 18px;
        justify-content: center;
        color: #9e9e9e;
        font-family: Arial, sans-serif;
        font-size: 1rem;
        line-height: 1;
    }

    .jb-account-popup .ico-register::before {
        content: "\270E";
    }

    .jb-account-popup .ico-login::before {
        content: "\1F512";
        font-size: 0.95rem;
    }

    .jb-account-popup .ico-account::before {
        content: "\263A";
    }

    .jb-account-popup .ico-logout::before {
        content: "\2192";
    }

    .jb-account-popup a:hover {
        color: var(--jb-accent-dark);
    }

    #topcartlink .ico-cart {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 56px !important;
        height: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #fff !important;
        box-sizing: border-box;
    }

    #topcartlink .ico-cart::before {
        content: "" !important;
        display: block !important;
        width: 20px;
        height: 20px;
        background: url("../images/shopping-basket.png") center / 20px 20px no-repeat !important;
        filter: none !important;
        opacity: 0.9;
    }

    #topcartlink .ico-cart .cart-qty {
        top: 7px;
        right: 12px;
    }

    .footer {
        padding: 0 0 28px !important;
    }

    .footer-upper,
    .footer-lower,
    .footer-main,
    .footer-navigation,
    .footer-menu,
    .footer-menu--newsletter,
    .footer-block.follow-us {
        width: 100%;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .footer-upper {
        padding: 0 !important;
    }

    .footer-main,
    .footer-navigation {
        display: block !important;
        padding: 0 !important;
    }

    .footer-menu,
    .footer-menu--newsletter {
        margin: 0 !important;
        border-bottom: 1px dashed #cfcfcf !important;
    }

    .footer-menu__title {
        position: relative;
        margin: 0 !important;
        padding: 16px 40px !important;
        text-align: center;
    }

    .footer-menu__title::before {
        content: "" !important;
        display: block !important;
        position: absolute;
        top: 50%;
        left: 16px;
        width: 7px;
        height: 7px;
        border-right: 1.5px solid var(--jb-accent);
        border-bottom: 1.5px solid var(--jb-accent);
        transform: translateY(-65%) rotate(45deg);
    }

    .footer-menu__title::after {
        content: "" !important;
        display: block !important;
        position: absolute;
        top: 50%;
        right: 16px;
        width: 7px;
        height: 7px;
        border-right: 1.5px solid var(--jb-accent);
        border-bottom: 1.5px solid var(--jb-accent);
        transform: translateY(-65%) rotate(45deg);
    }

    .footer-menu__list {
        display: none !important;
        width: 100%;
        margin: 0 !important;
        padding: 4px 0 6px !important;
        text-align: left !important;
        background: #fff;
    }

    .footer-menu.footer-menu--active .footer-menu__list,
    .footer-menu--newsletter.footer-menu--active .footer-menu__list {
        display: block !important;
    }

    .footer-menu__item {
        margin: 0 !important;
        padding: 0 !important;
    }

    .footer-navigation .footer-menu__item a,
    .footer-navigation .footer-menu__link,
    .footer-menu--newsletter .footer-menu__item a,
    .footer-menu--newsletter .footer-menu__link {
        display: block !important;
        margin: 0 !important;
        padding: 8px 24px !important;
        font-size: 0.92rem !important;
        line-height: 1.2 !important;
        min-height: 0 !important;
        text-align: center !important;
    }

    .footer-block.follow-us {
        padding: 16px 0 0 !important;
        border-top: 0 !important;
    }

    .social {
        width: 100%;
    }

    .social ul {
        width: 100%;
        margin: 0 !important;
        padding: 18px 16px 0 !important;
        border-top: 0 !important;
        border-bottom: 0 !important;
    }

    .footer-menu--newsletter .newsletter {
        padding: 18px 16px 0 !important;
    }

    .footer-lower {
        padding: 22px 16px 0 !important;
        border-top: 0 !important;
    }

    .jb-drawer-content .menu__item {
        border-bottom: 1px solid #e3e3e3 !important;
        margin: 0 !important;
        min-height: 0 !important;
    }

    .jb-drawer-content .menu__link,
    .jb-drawer-content .menu__item > a,
    .jb-drawer-content .menu__item-toggle {
        display: flex !important;
        min-height: 44px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 12px 16px !important;
        line-height: 1.2 !important;
    }

    .jb-drawer-account-links,
    .jb-drawer-selectors {
        border-top: 0 !important;
    }

    .jb-drawer-account-links li {
        border-bottom: 1px solid #e3e3e3 !important;
        margin: 0 !important;
        min-height: 0 !important;
    }

    .jb-drawer-account-links li:last-child {
        border-bottom: 1px solid #e3e3e3 !important;
    }

    .jb-drawer-account-links a {
        display: flex !important;
        min-height: 44px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 12px 16px !important;
        line-height: 1.2 !important;
    }

    .jb-drawer-account-links ul,
    .jb-drawer-content .menu {
        margin: 0 !important;
        padding: 0 !important;
    }

    .jb-drawer-content .menu:last-child .menu__item:last-child,
    .jb-drawer-content > .menu-container > .menu:last-child > .menu__item:last-child {
        border-bottom: 1px dashed #d4d4d4 !important;
    }

    .jb-drawer-selectors:empty {
        display: none !important;
    }
}

@media (min-width: 1001px) {
    .footer-menu--newsletter {
        position: relative !important;
        left: -50px !important;
        margin-left: 0 !important;
    }
}

@media (min-width: 1001px) {
    .jb-header-nav.menu-container,
    .jb-header-nav .menu-container,
    .jb-header-nav .menu-container.menu-dropdown {
        margin: 0 !important;
        padding: 0 !important;
    }

    .jb-header-nav .menu-container .menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .jb-header-nav .menu-container .menu__item,
    .jb-header-nav .menu-container .menu > .menu__item {
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .jb-header-nav .menu-container .menu__item:not(.menu-dropdown),
    .jb-header-nav .menu-container .menu > .menu__item:not(.menu-dropdown) {
        margin: 0 !important;
        padding: 0 !important;
    }

    .jb-header-nav .menu-container .menu__item-toggle,
    .jb-header-nav .menu-container .menu__link {
        display: flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        color: #7d7d7d;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 0.95rem;
        text-decoration: none;
        text-align: center;
    }
}

@media (min-width: 1001px) {
    .jb-mobile-toggles.right {
        display: flex !important;
        order: 4;
        width: 52px;
        min-width: 52px;
        height: 64px;
        align-items: center;
        justify-content: center;
        border-left: 1px solid #ededed;
        margin-left: 0 !important;
    }

    .jb-search-toggle {
        display: inline-flex !important;
        width: 52px !important;
        height: 64px !important;
        padding: 0 !important;
        align-items: center;
        justify-content: center;
        border: 0 !important;
        background: transparent;
        color: #8f8f8f;
    }

    .jb-search-toggle svg {
        display: block !important;
        width: 22px;
        height: 22px;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .header-menu.jb-header-nav,
    .header-menu.jb-header-nav .jb-drawer-content,
    .header-menu.jb-header-nav .menu-container {
        display: flex !important;
        align-items: center !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 auto 0 !important;
    }

    .header-menu.jb-header-nav .menu-container .menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-menu.jb-header-nav .menu-container .menu__item,
    .header-menu.jb-header-nav .menu-container .menu > .menu__item {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .header-menu.jb-header-nav .menu-container .menu__item-toggle,
    .header-menu.jb-header-nav .menu-container .menu__link {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        height: 64px !important;
        min-height: 64px !important;
        margin: 0 !important;
        padding: 0 14px !important;
        line-height: 64px !important;
        white-space: nowrap !important;
        border-left: 1px solid transparent;
        color: #7d7d7d;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 0.95rem;
        text-decoration: none;
        text-align: center;
    }

    .header-menu.jb-header-nav .menu-container .menu__item:first-child .menu__link,
    .header-menu.jb-header-nav .menu-container .menu__item:first-child .menu__item-toggle {
        border-left: 0;
    }

    .header-menu.jb-header-nav .menu-container .menu__link:hover,
    .header-menu.jb-header-nav .menu-container .menu__item-toggle:hover,
    .header-menu.jb-header-nav .menu-container .menu__item:focus-within > .menu__link,
    .header-menu.jb-header-nav .menu-container .menu__item:focus-within > .menu__item-toggle {
        color: var(--jb-accent-dark);
    }

    .header-lower,
    .header-menu.jb-header-nav,
    .header-menu.jb-header-nav .menu-container,
    .header-menu.jb-header-nav .menu-container .menu {
        border-bottom: 0 !important;
    }

    .header-menu.jb-header-nav .jb-drawer-content,
    .header-menu.jb-header-nav .menu-container.menu-dropdown {
        position: static !important;
        top: auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* =========================================
   PROMPT 04 HOME / LISTING / DETAIL
   ========================================= */
.jb-home-native-components {
    max-width: 1200px;
    margin: 0 auto;
    padding: 34px 20px 0;
}

.jb-home-native-components > div,
.jb-home-native-components .product-grid,
.jb-home-native-components .category-grid,
.jb-home-native-components .bestsellers,
.jb-home-native-components .topic-block {
    margin-top: 0;
}

.jb-home-native-components > div + div,
.jb-home-native-components .product-grid + .product-grid,
.jb-home-native-components .category-grid + .product-grid,
.jb-home-native-components .product-grid + .bestsellers,
.jb-home-native-components .topic-block + .product-grid {
    margin-top: 34px;
}

.home-page-category-grid,
.home-page-product-grid,
.bestsellers {
    width: 100%;
}

.home-page-category-grid > .item-grid,
.home-page-product-grid > .item-grid,
.bestsellers > .item-grid {
    display: grid;
    gap: 24px;
    margin: 0;
    padding: 0;
}

.home-page-category-grid > .item-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-page-product-grid > .item-grid,
.bestsellers > .item-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jb-home-native-components .title,
.jb-home-native-components h2,
.html-category-page .block .title,
.html-search-page .block .title,
.html-product-details-page .product-specs-box .title,
.html-product-details-page .title strong {
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: uppercase;
}

.jb-home-native-components > .product-grid > .title,
.jb-home-native-components > .bestsellers > .title {
    margin: 0 0 18px;
    font-size: clamp(1.8rem, 2vw, 2.15rem);
    line-height: 1;
    text-align: left;
}

.home-page-category-grid .item-box {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: #d9d9d9;
}

.home-page-category-grid .item-box::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.28) 100%);
    z-index: 1;
    pointer-events: none;
}

.home-page-category-grid .picture,
.home-page-category-grid .picture a,
.home-page-category-grid .picture img {
    display: block;
    width: 100%;
    height: 100%;
}

.home-page-category-grid .picture {
    min-height: 280px;
}

.home-page-category-grid .picture img {
    object-fit: cover;
}

.home-page-category-grid .title {
    position: absolute;
    right: 28px;
    bottom: 22px;
    left: 0;
    z-index: 2;
    margin: 0;
    padding: 22px 32px;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1;
}

.home-page-category-grid .title::before {
    content: "";
    position: absolute;
    inset: 0 0 0 auto;
    width: calc(100% - 34px);
    background: rgba(53, 214, 180, 0.9);
    clip-path: polygon(0 0, 100% 0, calc(100% - 34px) 100%, 0 100%);
    z-index: -1;
}

.home-page-category-grid .title a {
    display: block;
    color: #ffffff;
    text-align: center;
    text-decoration: none;
}

.home-page .item-box {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    border: 1px solid var(--jb-border);
    border-radius: 0;
    background: var(--jb-surface);
}

.home-page .product-grid .item-box,
.home-page .product-grid .item-box:nth-child(3n+1),
.home-page .product-grid .item-box:nth-child(4n+1),
.home-page .bestsellers .item-box,
.home-page .bestsellers .item-box:nth-child(3n+1),
.home-page .bestsellers .item-box:nth-child(4n+1) {
    float: none;
    clear: none;
    width: auto;
    margin: 0;
}

.home-page .product-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 42%);
    align-items: center;
    min-height: 100%;
    padding: 26px 28px;
    gap: 28px;
}

.home-page .product-item .picture,
.home-page .product-item .picture a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.home-page .product-item .picture {
    order: 2;
    aspect-ratio: auto;
    min-height: 240px;
    padding: 10px;
    border-bottom: 0;
    background: transparent;
}

.home-page .product-item .picture img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.home-page .product-item .details {
    order: 1;
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
}

.home-page .product-item .product-rating-box {
    order: 1;
    margin: 0;
}

.home-page .product-item .product-title {
    order: 2;
    margin: 0;
}

.home-page .product-item .sku {
    order: 3;
}

.home-page .product-item .description {
    order: 4;
    flex: 1;
}

.home-page .product-item .add-info {
    order: 5;
    margin-top: auto;
}

.home-page .product-item .product-title a {
    display: inline-block;
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: clamp(1.55rem, 2vw, 2rem);
    line-height: 1.1;
    text-decoration: none;
    overflow-wrap: anywhere;
    text-transform: uppercase;
}

.home-page .product-item .sku,
.html-category-page .product-item .sku,
.html-search-page .product-item .sku {
    display: inline-flex;
    align-self: flex-start;
    max-width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #8f8f8f;
    font-family: "Lato", Arial, sans-serif;
    font-size: 0.84rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4;
    text-transform: none;
}

.home-page .product-item .description,
.html-category-page .product-item .description,
.html-search-page .product-item .description {
    color: #7d7d7d;
    font-size: 0.98rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.home-page .product-item .prices,
.html-category-page .product-item .prices,
.html-search-page .product-item .prices {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 10px;
    align-items: baseline;
}

.home-page .product-item .actual-price,
.html-category-page .product-item .actual-price,
.html-search-page .product-item .actual-price {
    color: var(--jb-accent);
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.6rem;
    line-height: 1;
}

.home-page .product-item .old-price,
.html-category-page .product-item .old-price,
.html-search-page .product-item .old-price {
    color: #9a9a9a;
}

.home-page .product-item .tax-shipping-info,
.home-page .product-item .base-price-pangv,
.html-category-page .product-item .tax-shipping-info,
.html-category-page .product-item .base-price-pangv,
.html-search-page .product-item .tax-shipping-info,
.html-search-page .product-item .base-price-pangv {
    color: #909090;
    font-size: 0.82rem;
    line-height: 1.5;
}

.home-page .product-item .add-info {
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
}

.home-page .product-item .buttons,
.html-category-page .product-item .buttons,
.html-search-page .product-item .buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.home-page .product-item .buttons {
    max-width: 260px;
}

.home-page .product-item .buttons button,
.home-page .product-item .buttons a.button-2,
.html-category-page .product-item .buttons button,
.html-category-page .product-item .buttons a.button-2,
.html-search-page .product-item .buttons button,
.html-search-page .product-item .buttons a.button-2 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid #e7e7e7;
    border-radius: 0;
    background: #f5f5f5;
    color: #666666;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.95rem;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
}

.home-page .product-item .buttons .jb-view-job-button,
.html-category-page .product-item .buttons .jb-view-job-button,
.html-search-page .product-item .buttons .jb-view-job-button {
    background: var(--jb-accent);
    border-color: var(--jb-accent);
    color: #ffffff;
}

.home-page .product-item .buttons .product-box-add-to-cart-button,
.html-category-page .product-item .buttons .product-box-add-to-cart-button,
.html-search-page .product-item .buttons .product-box-add-to-cart-button {
    min-width: 160px;
    width: 100%;
}

.home-page .product-item .buttons .add-to-wishlist-button,
.home-page .product-item .buttons .add-to-compare-list-button,
.html-category-page .product-item .buttons .add-to-wishlist-button,
.html-category-page .product-item .buttons .add-to-compare-list-button,
.html-search-page .product-item .buttons .add-to-wishlist-button,
.html-search-page .product-item .buttons .add-to-compare-list-button {
    min-width: 46px;
    padding: 12px 14px;
}

.home-page .product-item .buttons .jb-view-job-button:hover,
.html-category-page .product-item .buttons .jb-view-job-button:hover,
.html-search-page .product-item .buttons .jb-view-job-button:hover,
.home-page .product-item .buttons .product-box-add-to-cart-button:hover,
.html-category-page .product-item .buttons .product-box-add-to-cart-button:hover,
.html-search-page .product-item .buttons .product-box-add-to-cart-button:hover {
    background: var(--jb-accent-dark);
    border-color: var(--jb-accent-dark);
    color: #ffffff;
}

.home-page .product-item .buttons .add-to-wishlist-button:hover,
.home-page .product-item .buttons .add-to-compare-list-button:hover,
.html-category-page .product-item .buttons .add-to-wishlist-button:hover,
.html-category-page .product-item .buttons .add-to-compare-list-button:hover,
.html-search-page .product-item .buttons .add-to-wishlist-button:hover,
.html-search-page .product-item .buttons .add-to-compare-list-button:hover {
    background: #ededed;
    border-color: #dcdcdc;
    color: #404040;
}

.product-rating-box .rating,
.product-review-box .rating {
    position: relative;
    display: inline-block;
    width: auto;
    height: auto;
    background: none !important;
    color: #dedede;
    font-size: 0.9rem;
    letter-spacing: 0.12rem;
    line-height: 1;
}

.product-rating-box .rating::before,
.product-review-box .rating::before {
    content: "\2605\2605\2605\2605\2605";
}

.product-rating-box .rating > div,
.product-review-box .rating > div {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    overflow: hidden;
    background: none !important;
    color: #f1c85b;
    white-space: nowrap;
}

.product-rating-box .rating > div::before,
.product-review-box .rating > div::before {
    content: "\2605\2605\2605\2605\2605";
}

.html-category-page .master-column-wrapper,
.html-search-page .master-column-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.html-category-page .page-title,
.html-search-page .page-title {
    max-width: 1200px;
    margin: 0 auto 16px;
    padding: 0 20px;
}

.html-category-page .page-body,
.html-search-page .page-body {
    padding-bottom: 12px;
}

.html-category-page .leftside-3,
.html-search-page .leftside-3 {
    width: 280px;
}

.html-category-page .center-2,
.html-search-page .center-2 {
    width: calc(100% - 304px);
    max-width: none;
}

.html-category-page .product-filters,
.html-search-page .product-filters {
    margin: 0 0 22px;
    padding: 0;
    border: 1px solid var(--jb-border);
    background: var(--jb-surface);
}

.html-category-page .product-filter,
.html-search-page .product-filter {
    padding: 22px 22px 18px;
    border-top: 1px solid #ececec;
}

.html-category-page .product-filter:first-child,
.html-search-page .product-filter:first-child {
    border-top: 0;
}

.html-category-page .product-filter .filter-title,
.html-search-page .product-filter .filter-title {
    position: relative;
    margin: 0 0 18px;
    padding: 0 0 12px;
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
}

.html-category-page .product-filter .filter-title::after,
.html-search-page .product-filter .filter-title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 74px;
    height: 3px;
    background: var(--jb-accent);
}

.html-category-page .product-filter .filter-content,
.html-search-page .product-filter .filter-content {
    display: block;
}

.html-category-page .product-filter .group,
.html-search-page .product-filter .group {
    margin: 0;
    padding: 0;
    list-style: none;
}

.html-category-page .product-filter .group + .group,
.html-search-page .product-filter .group + .group {
    margin-top: 22px;
}

.html-category-page .product-filter .group .name,
.html-search-page .product-filter .group .name {
    margin: 0 0 12px;
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
}

.html-category-page .product-filter .item,
.html-search-page .product-filter .item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
}

.html-category-page .product-filter input[type="checkbox"],
.html-search-page .product-filter input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--jb-accent);
}

.html-category-page .product-filter label,
.html-search-page .product-filter label {
    color: #8a8a8a;
    font-size: 1rem;
    line-height: 1.4;
}

.html-category-page .product-filter .attribute-squares,
.html-search-page .product-filter .attribute-squares {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.html-category-page .product-filter .attribute-square,
.html-search-page .product-filter .attribute-square {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 1px solid #d7d7d7;
}

.html-category-page .price-range-filter .selected-price-range,
.html-search-page .price-range-filter .selected-price-range {
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    color: #8a8a8a;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.92rem;
    text-transform: uppercase;
}

.html-category-page #price-range-slider,
.html-search-page #price-range-slider {
    margin: 12px 4px 18px;
}

.html-category-page #price-range-slider.ui-slider,
.html-search-page #price-range-slider.ui-slider {
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: #dddddd;
}

.html-category-page #price-range-slider .ui-slider-range,
.html-search-page #price-range-slider .ui-slider-range {
    background: var(--jb-accent);
}

.html-category-page #price-range-slider .ui-slider-handle,
.html-search-page #price-range-slider .ui-slider-handle {
    top: -7px;
    width: 20px;
    height: 20px;
    border: 0;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(53, 214, 180, 0.9);
}

.html-category-page .product-selectors,
.html-search-page .product-selectors {
    gap: 12px;
    padding: 16px 18px;
    border: 1px solid var(--jb-border);
    border-radius: 0;
    box-shadow: none;
}

.html-category-page .product-selectors span,
.html-search-page .product-selectors span {
    color: #8a8a8a;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    letter-spacing: 0;
}

.html-category-page .product-selectors select,
.html-search-page .product-selectors select {
    min-height: 42px;
    border-radius: 0;
    background: #f5f5f5;
    color: #6d6d6d;
}

.html-category-page .product-viewmode a,
.html-search-page .product-viewmode a {
    min-width: 44px;
    min-height: 42px;
    border-radius: 0;
    background: #f3f3f3;
    color: #999999;
    font-size: 0;
}

.html-category-page .product-viewmode a::before,
.html-search-page .product-viewmode a::before {
    font-family: "Font Awesome 6 Free";
    font-size: 0.95rem;
    font-weight: 900;
}

.html-category-page .product-viewmode a.grid::before,
.html-search-page .product-viewmode a.grid::before {
    content: "\f00a";
}

.html-category-page .product-viewmode a.list::before,
.html-search-page .product-viewmode a.list::before {
    content: "\f03a";
}

.html-category-page .product-viewmode a.selected,
.html-search-page .product-viewmode a.selected {
    background: var(--jb-surface);
    color: var(--jb-accent);
}

.html-category-page .product-item,
.html-search-page .product-item {
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 28px;
    padding: 24px 28px;
    border-radius: 0;
    box-shadow: none;
}

.html-category-page .product-item:hover,
.html-search-page .product-item:hover,
.html-category-page .product-item:focus-within,
.html-search-page .product-item:focus-within {
    border-color: #cfcfcf;
    box-shadow: none;
}

.html-category-page .product-item .picture,
.html-search-page .product-item .picture {
    max-width: none;
}

.html-category-page .product-item .picture a,
.html-search-page .product-item .picture a {
    aspect-ratio: 1 / 1;
    padding: 12px;
    border-radius: 0;
    border: 0;
    background: transparent;
}

.html-category-page .product-item .product-rating-box,
.html-search-page .product-item .product-rating-box {
    order: 1;
}

.html-category-page .product-item .product-title,
.html-search-page .product-item .product-title {
    order: 2;
}

.html-category-page .product-item .sku,
.html-search-page .product-item .sku {
    order: 3;
}

.html-category-page .product-item .description,
.html-search-page .product-item .description {
    order: 4;
}

.html-category-page .product-item .add-info,
.html-search-page .product-item .add-info {
    order: 5;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.html-category-page .product-item .buttons,
.html-search-page .product-item .buttons {
    justify-content: flex-start;
}

.html-category-page .pager,
.html-search-page .pager {
    margin-top: 24px;
    text-align: left;
}

.html-category-page .pager ul,
.html-search-page .pager ul {
    gap: 0;
}

.html-category-page .pager li a,
.html-search-page .pager li a,
.html-category-page .pager li span,
.html-search-page .pager li span {
    min-width: 44px;
    min-height: 40px;
    border-radius: 0;
    border-right-width: 0;
    background: #f1f1f1;
    color: #8a8a8a;
}

.html-category-page .pager li:last-child a,
.html-search-page .pager li:last-child a,
.html-category-page .pager li:last-child span,
.html-search-page .pager li:last-child span {
    border-right-width: 1px;
}

.html-category-page .pager li.current-page span,
.html-search-page .pager li.current-page span {
    background: var(--jb-surface);
    color: var(--jb-accent);
}

.html-product-details-page .master-wrapper-content {
    background: #f7f7f7;
}

.html-product-details-page .page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.html-product-details-page .page-body {
    padding-top: 18px;
}

.html-product-details-page .product-essential {
    display: grid;
    grid-template-columns: minmax(340px, 470px) minmax(0, 1fr);
    gap: 38px;
    align-items: start;
    margin: 0 0 34px;
    border-bottom: 0;
    padding: 0;
}

.html-product-details-page .gallery,
.html-product-details-page .overview,
.html-product-details-page .full-description,
.html-product-details-page .product-collateral,
.html-product-details-page .also-purchased-products-grid,
.html-product-details-page .related-products-grid {
    background: var(--jb-surface);
}

.html-product-details-page .gallery,
.html-product-details-page .overview {
    min-width: 0;
    float: none;
    width: auto;
    margin: 0;
}

.html-product-details-page .picture-gallery {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    overflow: visible;
}

.html-product-details-page .gallery .picture,
.html-product-details-page .picture-gallery .picture {
    position: relative;
    overflow: hidden;
}

.html-product-details-page .gallery .picture::before,
.html-product-details-page .picture-gallery .picture::before {
    display: none;
    padding-top: 0;
}

.html-product-details-page .gallery .picture img,
.html-product-details-page .gallery .picture model-viewer,
.html-product-details-page .picture-gallery .picture-thumbs img,
.html-product-details-page .video-gallery .video-thumbs iframe,
.html-product-details-page .variant-picture img {
    position: static;
    inset: auto;
    margin: 0;
}

.html-product-details-page .picture-gallery .picture {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 500px;
    padding: 18px;
    border: 0;
    background: #ffffff;
}

.html-product-details-page .picture-gallery .picture img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 460px;
    object-fit: contain;
}

.html-product-details-page .picture-thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    overflow: visible;
    font-size: 0;
}

.html-product-details-page .picture-thumbs .thumb-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 74px;
    height: 94px;
    border: 1px solid var(--jb-border);
    background: #ffffff;
    cursor: pointer;
    margin: 0;
    overflow: hidden;
}

.html-product-details-page .picture-thumbs .thumb-item img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.html-product-details-page .overview {
    padding: 0;
    border: 1px solid var(--jb-border);
    background: #ffffff;
}

.html-product-details-page .product-name h1 {
    margin: 0;
    color: #111111;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: clamp(2.1rem, 2.9vw, 3rem);
    line-height: 1;
    text-transform: uppercase;
}

.html-product-details-page .product-name,
.html-product-details-page .short-description,
.html-product-details-page .product-reviews-overview,
.html-product-details-page .product-manufacturers,
.html-product-details-page .availability,
.html-product-details-page .sku,
.html-product-details-page .gtin,
.html-product-details-page .vendor,
.html-product-details-page .delivery,
.html-product-details-page .stock,
.html-product-details-page .rental-info,
.html-product-details-page .customer-entered-price,
.html-product-details-page .prices,
.html-product-details-page .attributes,
.html-product-details-page .add-to-cart,
.html-product-details-page .overview-buttons,
.html-product-details-page .product-share-button {
    padding-left: 28px;
    padding-right: 28px;
}

.html-product-details-page .product-name {
    padding-top: 28px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e6e6e6;
}

.html-product-details-page .short-description {
    margin: 0;
    padding-top: 28px;
    padding-bottom: 18px;
    color: #7d7d7d;
    font-size: 1rem;
    line-height: 1.7;
}

.html-product-details-page .product-reviews-overview,
.html-product-details-page .product-manufacturers,
.html-product-details-page .availability,
.html-product-details-page .sku,
.html-product-details-page .gtin,
.html-product-details-page .vendor,
.html-product-details-page .delivery,
.html-product-details-page .stock,
.html-product-details-page .rental-info,
.html-product-details-page .customer-entered-price {
    margin: 0 0 12px;
    color: #7d7d7d;
}

.html-product-details-page .product-reviews-overview {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    padding-top: 0;
    padding-bottom: 10px;
}

.html-product-details-page .product-manufacturers a,
.html-product-details-page .delivery-date,
.html-product-details-page .value,
.html-product-details-page .product-review-links a,
.html-product-details-page .availability-value,
.html-product-details-page .stock .value {
    color: var(--jb-accent);
}

.html-product-details-page .prices {
    margin: 0;
    padding-top: 12px;
    padding-bottom: 10px;
}

.html-product-details-page .prices > div {
    margin: 0 0 10px;
}

.html-product-details-page .prices label,
.html-product-details-page .prices span:first-child {
    color: #7d7d7d;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.92rem;
    text-transform: uppercase;
}

.html-product-details-page .product-price,
.html-product-details-page .non-discounted-price,
.html-product-details-page .discounted-price,
.html-product-details-page .rental-price {
    color: var(--jb-accent);
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 2rem;
    line-height: 1.1;
}

.html-product-details-page .old-product-price {
    color: #9a9a9a;
    font-size: 1rem;
}

.html-product-details-page .base-price-pangv,
.html-product-details-page .tax-shipping-info,
.html-product-details-page .min-qty-notification,
.html-product-details-page .pre-order-availability-date {
    color: #8a8a8a;
    font-size: 0.92rem;
    line-height: 1.6;
}

.html-product-details-page .attributes {
    margin: 18px 28px 0;
    padding: 18px 20px;
    border: 1px dashed #cccccc;
    background: #ffffff;
}

.html-product-details-page .attributes dl,
.html-product-details-page .attributes .option-list {
    margin: 0;
}

.html-product-details-page .add-to-cart-panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
}

.html-product-details-page .add-to-cart-panel .qty-label {
    margin: 0;
    color: #444444;
    font-family: "Fjalla One", Arial, sans-serif;
    text-transform: uppercase;
}

.html-product-details-page .qty-input,
.html-product-details-page .qty-dropdown {
    min-width: 72px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--jb-border);
    background: #ffffff;
    text-align: center;
}

.html-product-details-page .add-to-cart-button,
.html-product-details-page .overview-buttons .button-2 {
    min-height: 46px;
    padding: 12px 18px;
    border: 1px solid #e3e3e3;
    border-radius: 0;
    background: #f5f5f5;
    color: #666666;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.95rem;
    text-transform: uppercase;
}

.html-product-details-page .add-to-cart-button {
    min-width: 180px;
    background: var(--jb-accent);
    border-color: var(--jb-accent);
    color: #ffffff;
}

.html-product-details-page .overview-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 18px 0 0;
    padding-top: 0;
    padding-bottom: 12px;
}

.html-product-details-page .product-share-button {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 26px;
    color: #8a8a8a;
}

.html-product-details-page .full-description,
.html-product-details-page .product-collateral,
.html-product-details-page .also-purchased-products-grid,
.html-product-details-page .related-products-grid {
    margin-top: 34px;
    padding: 26px;
    border: 1px solid var(--jb-border);
}

.html-product-details-page .full-description {
    grid-column: 1 / -1;
    color: #7d7d7d;
    line-height: 1.75;
}

.html-product-details-page .ui-tabs {
    margin-top: 34px;
    border: 0;
    background: transparent;
}

.html-product-details-page .ui-tabs-nav {
    margin: 0 0 18px;
    padding: 0;
    border-bottom: 1px solid #e2e2e2;
    background: transparent;
    text-align: center;
}

.html-product-details-page .ui-tabs-nav li {
    float: none;
    display: inline-block;
    margin: 0 20px 0 0;
}

.html-product-details-page .ui-tabs-nav li a {
    padding: 0 0 12px;
    border: 0;
    background: transparent;
    color: #8a8a8a;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.92rem;
    text-transform: uppercase;
}

.html-product-details-page .ui-tabs-nav li.ui-state-active a {
    color: #202020;
    border-bottom: 2px solid var(--jb-accent);
}

.html-product-details-page .ui-tabs-panel {
    padding: 26px 28px;
    border: 1px solid var(--jb-border);
    background: #ffffff;
    color: #7d7d7d;
    line-height: 1.75;
}

.html-product-details-page .product-specs-box .title,
.html-product-details-page .related-products-grid .title,
.html-product-details-page .also-purchased-products-grid .title {
    margin: 0 0 18px;
    font-size: 1.3rem;
    line-height: 1;
}

.html-product-details-page .product-specs-box .data-table {
    width: 100%;
    border-collapse: collapse;
}

.html-product-details-page .product-specs-box .data-table td {
    padding: 12px 14px;
    border: 1px solid #ececec;
    color: #666666;
    vertical-align: top;
}

.html-product-details-page .product-specs-box .spec-group-name {
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    text-transform: uppercase;
}

.html-product-details-page .related-products-grid .item-grid,
.html-product-details-page .also-purchased-products-grid .item-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
}

.html-product-details-page .related-products-grid .item-box,
.html-product-details-page .also-purchased-products-grid .item-box {
    margin: 0;
}

@media (max-width: 1200px) {
    .home-page-category-grid > .item-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-page-product-grid > .item-grid,
    .bestsellers > .item-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1000px) {
    .jb-home-native-components {
        padding-left: 16px;
        padding-right: 16px;
    }

    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper,
    .html-category-page .page-title,
    .html-search-page .page-title,
    .html-product-details-page .page {
        padding-left: 16px;
        padding-right: 16px;
    }

    .html-category-page .leftside-3,
    .html-search-page .leftside-3,
    .html-category-page .center-2,
    .html-search-page .center-2 {
        width: 100%;
    }

    .html-category-page .product-item,
    .html-search-page .product-item {
        grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
        gap: 20px;
        padding: 20px;
    }

    .html-product-details-page .product-essential {
        grid-template-columns: 1fr;
        gap: 28px;
    }
}

@media (max-width: 767px) {
    .html-product-details-page .master-wrapper-content > .breadcrumb,
    .html-product-details-page .breadcrumb {
        margin-top: 0 !important;
        margin-bottom: 4px;
        padding-top: 6px;
        padding-right: 16px;
        padding-bottom: 4px;
        padding-left: 16px;
    }

    .html-product-details-page .page-body {
        padding-top: 8px;
    }

    .html-product-details-page .product-essential {
        gap: 20px;
        margin-bottom: 24px;
    }

    .jb-home-native-components {
        padding-top: 24px;
    }

    .jb-home-native-components > div + div,
    .jb-home-native-components .product-grid + .product-grid,
    .jb-home-native-components .category-grid + .product-grid,
    .jb-home-native-components .product-grid + .bestsellers,
    .jb-home-native-components .topic-block + .product-grid {
        margin-top: 24px;
    }

    .home-page-category-grid > .item-grid,
    .home-page-product-grid > .item-grid,
    .bestsellers > .item-grid,
    .html-product-details-page .related-products-grid .item-grid,
    .html-product-details-page .also-purchased-products-grid .item-grid {
        grid-template-columns: 1fr;
    }

    .home-page-category-grid .item-box,
    .home-page-category-grid .picture {
        min-height: 220px;
    }

    .home-page-category-grid .title {
        right: 16px;
        bottom: 14px;
        padding: 18px 20px;
    }

    .home-page .product-item,
    .html-category-page .product-item,
    .html-search-page .product-item {
        padding: 16px;
    }

    .home-page .product-item {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .home-page .product-item .picture {
        order: 1;
        min-height: 180px;
        padding: 0;
    }

    .home-page .product-item .details {
        order: 2;
        gap: 10px;
    }

    .html-category-page .product-item,
    .html-search-page .product-item {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .html-category-page .product-item .picture,
    .html-search-page .product-item .picture {
        max-width: 160px;
    }

    .html-category-page .product-item .buttons,
    .html-search-page .product-item .buttons,
    .home-page .product-item .buttons,
    .html-product-details-page .overview-buttons,
    .html-product-details-page .add-to-cart-panel {
        gap: 8px;
    }

    .html-category-page .product-item .buttons button,
    .html-category-page .product-item .buttons a.button-2,
    .html-search-page .product-item .buttons button,
    .html-search-page .product-item .buttons a.button-2,
    .home-page .product-item .buttons button,
    .home-page .product-item .buttons a.button-2,
    .html-product-details-page .add-to-cart-button,
    .html-product-details-page .overview-buttons .button-2 {
        flex: 1 1 100%;
        width: 100%;
    }

    .html-category-page .product-selectors,
    .html-search-page .product-selectors {
        padding: 14px;
    }

    .html-category-page .product-selectors > div,
    .html-search-page .product-selectors > div {
        justify-content: space-between;
    }

    .html-product-details-page .picture-gallery {
        grid-template-columns: 1fr;
    }

    .html-product-details-page .picture-gallery .picture,
    .html-product-details-page .picture-gallery .picture-thumbs {
        grid-column: auto;
        grid-row: auto;
    }

    .html-product-details-page .picture-gallery .picture {
        min-height: 320px;
    }

    .html-product-details-page .picture-thumbs {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .html-product-details-page .overview {
        border: 1px solid var(--jb-border);
    }

    .html-product-details-page .product-name,
    .html-product-details-page .short-description,
    .html-product-details-page .product-reviews-overview,
    .html-product-details-page .product-manufacturers,
    .html-product-details-page .availability,
    .html-product-details-page .sku,
    .html-product-details-page .gtin,
    .html-product-details-page .vendor,
    .html-product-details-page .delivery,
    .html-product-details-page .stock,
    .html-product-details-page .rental-info,
    .html-product-details-page .customer-entered-price,
    .html-product-details-page .prices,
    .html-product-details-page .add-to-cart,
    .html-product-details-page .overview-buttons,
    .html-product-details-page .product-share-button {
        padding-left: 16px;
        padding-right: 16px;
    }

    .html-product-details-page .attributes {
        margin-left: 16px;
        margin-right: 16px;
    }

    .html-product-details-page .full-description,
    .html-product-details-page .product-collateral,
    .html-product-details-page .also-purchased-products-grid,
    .html-product-details-page .related-products-grid {
        padding: 20px 16px;
    }
}

/* =========================================
   PROMPT 04 LISTING REFINEMENT
   ========================================= */
.html-category-page .master-column-wrapper,
.html-search-page .master-column-wrapper {
    max-width: 1200px;
    padding: 0 24px;
}

.html-category-page .leftside-3,
.html-search-page .leftside-3 {
    width: 252px;
}

.html-category-page .center-2,
.html-search-page .center-2 {
    width: calc(100% - 284px);
}

.html-category-page .block,
.html-search-page .block,
.html-category-page .product-filters,
.html-search-page .product-filters {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.html-category-page .product-filter,
.html-search-page .product-filter {
    padding: 0 0 26px;
    border-top: 0;
}

.html-category-page .product-filter + .product-filter,
.html-search-page .product-filter + .product-filter {
    margin-top: 8px;
}

.html-category-page .product-filter .filter-title,
.html-search-page .product-filter .filter-title {
    margin: 0 0 14px;
    padding: 0 0 10px;
    font-size: 1.1rem;
}

.html-category-page .product-filter .filter-title::after,
.html-search-page .product-filter .filter-title::after {
    width: 46px;
    height: 2px;
}

.html-category-page .product-filter .item,
.html-search-page .product-filter .item {
    margin: 0 0 10px;
}

.html-category-page .product-filter label,
.html-search-page .product-filter label {
    font-size: 0.95rem;
}

.html-category-page .product-selectors,
.html-search-page .product-selectors {
    gap: 10px 12px;
    padding: 0;
    border: 0;
    background: transparent;
}

.html-category-page .product-selectors > div,
.html-search-page .product-selectors > div {
    gap: 8px;
}

.html-category-page .product-selectors select,
.html-search-page .product-selectors select {
    min-width: 120px;
    min-height: 34px;
    padding: 7px 28px 7px 10px;
    border: 1px solid #ececec;
    border-radius: 0;
    background-color: #f3f3f3;
    color: #8a8a8a;
    font-size: 0.9rem;
}

.html-category-page .product-viewmode a,
.html-search-page .product-viewmode a {
    min-width: 34px;
    min-height: 34px;
    padding: 6px;
    border: 1px solid #ececec;
    border-radius: 0;
    background: #f3f3f3;
}

.html-category-page .product-viewmode a.selected,
.html-search-page .product-viewmode a.selected {
    background: #ffffff;
    color: var(--jb-accent);
    border-color: #ececec;
}

.html-category-page .product-grid .item-grid,
.html-category-page .product-list .item-grid,
.html-search-page .product-grid .item-grid,
.html-search-page .product-list .item-grid {
    gap: 12px;
}

.html-category-page .product-item,
.html-search-page .product-item {
    grid-template-columns: minmax(170px, 210px) minmax(0, 1fr);
    gap: 24px;
    padding: 20px 22px;
    border-radius: 0;
    border: 1px solid #e6e6e6;
    background: #ffffff;
    box-shadow: none;
}

.html-category-page .product-item .picture,
.html-search-page .product-item .picture {
    max-width: none;
}

.html-category-page .product-item .picture a,
.html-search-page .product-item .picture a {
    aspect-ratio: auto;
    min-height: 180px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.html-category-page .product-item .picture img,
.html-search-page .product-item .picture img {
    display: block;
    width: 100%;
    height: 180px;
    object-fit: contain;
}

.html-category-page .product-item .details,
.html-search-page .product-item .details {
    gap: 10px;
}

.html-category-page .product-item .product-rating-box,
.html-search-page .product-item .product-rating-box {
    margin: 0;
}

.html-category-page .product-item .product-title a,
.html-search-page .product-item .product-title a {
    font-size: 1.15rem;
    line-height: 1.1;
    text-transform: uppercase;
}

.html-category-page .product-item .description,
.html-search-page .product-item .description {
    font-size: 0.95rem;
    line-height: 1.8;
}

.html-category-page .product-item .actual-price,
.html-search-page .product-item .actual-price {
    color: var(--jb-accent);
    font-size: 1.5rem;
}

.html-category-page .product-item .add-info,
.html-search-page .product-item .add-info {
    gap: 12px;
}

.html-category-page .product-item .buttons,
.html-search-page .product-item .buttons {
    justify-content: flex-start;
    gap: 3px;
}

.html-category-page .product-item .buttons button,
.html-category-page .product-item .buttons a.button-2,
.html-search-page .product-item .buttons button,
.html-search-page .product-item .buttons a.button-2 {
    min-height: 32px;
    padding: 8px 14px;
    border: 1px solid #ececec;
    border-radius: 0;
    background: #f3f3f3;
    color: #8a8a8a;
    font-size: 0.88rem;
}

.html-category-page .product-item .buttons .product-box-add-to-cart-button,
.html-search-page .product-item .buttons .product-box-add-to-cart-button {
    min-width: 100px;
    background: var(--jb-accent);
    border-color: var(--jb-accent);
    color: #ffffff;
}

.html-category-page .product-item .buttons .add-to-wishlist-button,
.html-category-page .product-item .buttons .add-to-compare-list-button,
.html-category-page .product-item .buttons .jb-view-job-button,
.html-search-page .product-item .buttons .add-to-wishlist-button,
.html-search-page .product-item .buttons .add-to-compare-list-button,
.html-search-page .product-item .buttons .jb-view-job-button {
    min-width: 32px;
    padding: 8px 10px;
}

.html-category-page .product-item .buttons .jb-view-job-button,
.html-search-page .product-item .buttons .jb-view-job-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f9fbfb;
    border-color: #b9c7c3;
    color: #0f766e;
    font-family: "Fjalla One", Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 0.03em;
    min-height: 40px;
    text-decoration: none;
}

.html-category-page .product-item .buttons .jb-view-job-button:hover,
.html-category-page .product-item .buttons .jb-view-job-button:active,
.html-search-page .product-item .buttons .jb-view-job-button:hover,
.html-search-page .product-item .buttons .jb-view-job-button:active {
    background: #eefaf7;
    border-color: #35d6b4;
    color: #0f766e;
}

.html-category-page .product-item .buttons .jb-view-job-button:focus-visible,
.html-search-page .product-item .buttons .jb-view-job-button:focus-visible {
    outline: 0;
    box-shadow: 0 0 0 3px rgba(53, 214, 180, 0.22);
}

.html-category-page .pager,
.html-search-page .pager {
    text-align: left;
}

.html-category-page .pager ul,
.html-search-page .pager ul {
    justify-content: flex-start;
    gap: 0;
}

.html-category-page .pager li,
.html-search-page .pager li {
    margin: 0;
}

.html-category-page .pager li a,
.html-search-page .pager li a,
.html-category-page .pager li span,
.html-search-page .pager li span {
    min-width: 42px;
    min-height: 40px;
    border-radius: 0;
    border-right-width: 0;
    background: #f1f1f1;
    color: #8a8a8a;
}

.html-category-page .pager li:last-child a,
.html-search-page .pager li:last-child a,
.html-category-page .pager li:last-child span,
.html-search-page .pager li:last-child span {
    border-right-width: 1px;
}

.html-category-page .pager li.current-page span,
.html-search-page .pager li.current-page span {
    background: #ffffff;
    color: var(--jb-accent);
    border-color: #e4e4e4;
}

@media (max-width: 1000px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        padding: 0 16px;
    }

    .html-category-page .leftside-3,
    .html-search-page .leftside-3,
    .html-category-page .center-2,
    .html-search-page .center-2 {
        width: 100%;
    }
}

/* =========================================
   PROMPT 04 FIXUP
   ========================================= */
.html-category-page .breadcrumb,
.html-search-page .breadcrumb,
.html-product-details-page .breadcrumb {
    display: block;
    clear: both;
    max-width: 1200px;
    margin: 0 auto 8px;
    padding: 4px 24px 8px;
    text-align: left;
    background: transparent;
}

.html-category-page .breadcrumb ul,
.html-search-page .breadcrumb ul,
.html-product-details-page .breadcrumb ul {
    display: block;
    width: 100%;
    text-align: left;
    font-size: 0;
}

.html-category-page .breadcrumb li,
.html-search-page .breadcrumb li,
.html-product-details-page .breadcrumb li {
    display: inline-block;
    float: none;
    vertical-align: middle;
}

.html-category-page .breadcrumb li *,
.html-search-page .breadcrumb li *,
.html-product-details-page .breadcrumb li * {
    display: inline-block;
    margin: 0 5px;
    line-height: 1.6;
    vertical-align: middle;
}

.html-category-page .product-item,
.html-search-page .product-item {
    display: flex;
    align-items: flex-start;
}

.html-category-page .product-item .picture,
.html-search-page .product-item .picture {
    flex: 0 0 180px;
    width: 180px;
}

.html-category-page .product-item .details,
.html-search-page .product-item .details {
    flex: 1 1 auto;
    min-width: 0;
}

.html-category-page .product-item .buttons .jb-view-job-button,
.html-search-page .product-item .buttons .jb-view-job-button,
.html-category-page .product-item .buttons .add-to-compare-list-button,
.html-search-page .product-item .buttons .add-to-compare-list-button,
.html-category-page .product-item .buttons .add-to-wishlist-button,
.html-search-page .product-item .buttons .add-to-wishlist-button {
    width: auto;
}

.html-category-page .product-filter .filter-title,
.html-search-page .product-filter .filter-title {
    position: relative;
    margin-bottom: 0;
    padding-right: 28px;
    cursor: pointer;
    background: none !important;
}

.html-category-page .product-filter .filter-title::before,
.html-search-page .product-filter .filter-title::before {
    content: "\f078";
    position: absolute;
    top: 2px;
    right: 0;
    font-family: "Font Awesome 6 Free";
    font-size: 0.75rem;
    font-weight: 900;
    color: #4c4c4c;
    transition: transform 0.2s ease;
}

.html-category-page .product-filter .filter-title.is-open::before,
.html-search-page .product-filter .filter-title.is-open::before {
    transform: rotate(180deg);
}

.html-category-page .product-filter .filter-content,
.html-search-page .product-filter .filter-content {
    padding-top: 0;
    margin-bottom: 0;
    transition: max-height 0.28s ease;
}

.html-category-page .product-filter .filter-title.is-open + .filter-content,
.html-search-page .product-filter .filter-title.is-open + .filter-content {
    padding-top: 16px;
}

.html-category-page .product-list .product-item,
.html-search-page .product-list .product-item {
    padding: 16px 18px;
    gap: 14px;
}

.html-category-page .product-list .product-item .picture,
.html-search-page .product-list .product-item .picture {
    flex: 0 0 112px;
    width: 112px;
}

.html-category-page .product-list .product-item .picture a,
.html-search-page .product-list .product-item .picture a {
    min-height: 112px;
}

.html-category-page .product-list .product-item .picture img,
.html-search-page .product-list .product-item .picture img {
    height: 112px;
}

.html-category-page .product-list .product-item .details,
.html-search-page .product-list .product-item .details {
    gap: 8px;
}

.html-category-page .product-list .product-item .sku,
.html-search-page .product-list .product-item .sku {
    margin-bottom: 2px;
}

.html-category-page .product-list .product-item .product-title a,
.html-search-page .product-list .product-item .product-title a {
    font-size: 1rem;
}

.html-category-page .product-list .product-item .description,
.html-search-page .product-list .product-item .description {
    font-size: 0.88rem;
    line-height: 1.55;
    max-width: 460px;
}

.html-category-page .product-list .product-item .actual-price,
.html-search-page .product-list .product-item .actual-price {
    font-size: 1.25rem;
}

.html-category-page .product-list .product-item .add-info,
.html-search-page .product-list .product-item .add-info {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 2px;
}

.html-category-page .product-list .product-item .buttons,
.html-search-page .product-list .product-item .buttons {
    gap: 4px;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

.html-category-page .product-list .product-item .buttons button,
.html-category-page .product-list .product-item .buttons a.button-2,
.html-search-page .product-list .product-item .buttons button,
.html-search-page .product-list .product-item .buttons a.button-2 {
    min-height: 30px;
    padding: 7px 10px;
    font-size: 0.8rem;
}

.html-category-page .product-list .product-item .buttons .product-box-add-to-cart-button,
.html-search-page .product-list .product-item .buttons .product-box-add-to-cart-button {
    min-width: 96px;
}

.html-category-page .product-list .product-item .buttons .jb-view-job-button,
.html-search-page .product-list .product-item .buttons .jb-view-job-button,
.html-category-page .product-list .product-item .buttons .add-to-compare-list-button,
.html-search-page .product-list .product-item .buttons .add-to-compare-list-button,
.html-category-page .product-list .product-item .buttons .add-to-wishlist-button,
.html-search-page .product-list .product-item .buttons .add-to-wishlist-button {
    min-width: 0;
}

@media (max-width: 1000px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        display: flex;
        flex-direction: column;
    }

    .header-lower {
        display: grid !important;
        grid-template-columns: 44px minmax(0, 1fr) 44px 44px !important;
        grid-template-rows: 60px !important;
        align-items: center;
        gap: 0;
        padding: 0 8px 0 10px;
        overflow: visible !important;
    }

    .header-logo {
        grid-column: 2;
        grid-row: 1;
        min-width: 0;
        margin: 0 !important;
        position: static !important;
        left: auto !important;
        transform: none !important;
        z-index: 1;
    }

    .jb-brand {
        gap: 10px;
    }

    .jb-brand-name {
        font-size: 1.15rem;
        line-height: 1;
    }

    .jb-mobile-toggles.left {
        grid-column: 1;
        grid-row: 1;
        margin: 0 !important;
        width: 44px;
        min-width: 44px;
    }

    .jb-mobile-toggles.right {
        grid-column: 3;
        grid-row: 1;
        width: 44px !important;
        min-width: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        justify-content: center !important;
        position: relative !important;
        z-index: 4;
    }

    .header-links-wrapper {
        grid-column: 4;
        grid-row: 1;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        position: relative !important;
        z-index: 4;
    }

    .header-links {
        display: flex !important;
        align-items: center !important;
    }

    .header-links > ul {
        display: none !important;
    }

    .jb-mobile-account,
    .jb-account-toggle,
    .jb-search-toggle,
    .jb-mobile-toggles.right,
    .jb-mobile-toggles.left {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .jb-account-toggle,
    .jb-search-toggle,
    .jb-menu-toggle {
        width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
    }

    .jb-mobile-account {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
    }

    #jb-mobile-search-overlay {
        display: none !important;
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
    }

    body.jb-search-open #jb-mobile-search-overlay {
        display: block !important;
    }

    .html-category-page .breadcrumb,
    .html-search-page .breadcrumb,
    .html-product-details-page .breadcrumb {
        padding-left: 16px;
        padding-right: 16px;
    }

    .html-category-page .center-2,
    .html-search-page .center-2 {
        order: 1;
    }

    .html-category-page .side-2,
    .html-search-page .side-2 {
        order: 2;
        width: 100%;
        margin-top: 8px;
    }

}

@media (max-width: 767px) {
    .html-category-page .product-item,
    .html-search-page .product-item {
        display: grid;
        grid-template-columns: 92px minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        padding: 12px;
    }

    .html-category-page .product-item .picture,
    .html-search-page .product-item .picture {
        grid-column: 1;
        width: 92px;
        max-width: 92px;
    }

    .html-category-page .product-item .picture a,
    .html-search-page .product-item .picture a {
        min-height: 92px;
    }

    .html-category-page .product-item .picture img,
    .html-search-page .product-item .picture img {
        height: 92px;
    }

    .html-category-page .product-item .details,
    .html-search-page .product-item .details {
        grid-column: 2;
        gap: 6px;
    }

    .html-category-page .product-item.ai-job-product-card,
    .html-search-page .product-item.ai-job-product-card {
        display: grid;
        grid-template-columns: 62px minmax(0, 1fr);
        align-items: start;
        gap: 10px;
        padding: 12px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-media,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-media {
        grid-column: 1;
        width: 62px;
        max-width: 62px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-body,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-body {
        grid-column: 2;
        min-width: 0;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-category-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder {
        width: 62px;
        height: 62px;
    }

    .html-category-page .product-item .sku,
    .html-search-page .product-item .sku {
        font-size: 0.78rem;
    }

    .html-category-page .product-item .product-title a,
    .html-search-page .product-item .product-title a {
        font-size: 0.92rem;
        line-height: 1.1;
    }

    .html-category-page .product-item .description,
    .html-search-page .product-item .description {
        font-size: 0.82rem;
        line-height: 1.45;
    }

    .html-category-page .product-item .actual-price,
    .html-search-page .product-item .actual-price {
        font-size: 1.05rem;
    }

    .html-category-page .product-item .add-info,
    .html-search-page .product-item .add-info {
        gap: 6px;
    }

    .html-category-page .product-item .buttons button,
    .html-category-page .product-item .buttons a.button-2,
    .html-search-page .product-item .buttons button,
    .html-search-page .product-item .buttons a.button-2 {
        min-width: 0;
        width: auto;
        padding: 7px 9px;
        font-size: 0.74rem;
    }

    .html-category-page .product-item .buttons,
    .html-search-page .product-item .buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        width: 100%;
    }

    .html-category-page .product-item .buttons .product-box-add-to-cart-button,
    .html-search-page .product-item .buttons .product-box-add-to-cart-button {
        min-width: 92px;
    }

    .html-category-page .product-item .buttons .jb-view-job-button,
    .html-search-page .product-item .buttons .jb-view-job-button,
    .html-category-page .product-item .buttons .add-to-compare-list-button,
    .html-search-page .product-item .buttons .add-to-compare-list-button,
    .html-category-page .product-item .buttons .add-to-wishlist-button,
    .html-search-page .product-item .buttons .add-to-wishlist-button {
        min-width: 0;
    }
}

@media (max-width: 1000px) {
    .html-category-page .side-2 .block:not(.product-filters),
    .html-search-page .side-2 .block:not(.product-filters) {
        margin: 0;
        border-top: 0;
        border-bottom: 1px solid #e5e5e5;
        background: #ffffff;
        box-shadow: none;
        padding: 0 14px;
    }

    .html-category-page .side-2 .block:not(.product-filters) .title,
    .html-search-page .side-2 .block:not(.product-filters) .title {
        position: relative;
        margin: 0;
        padding: 14px 24px 14px 0;
        border-bottom: 0;
        color: #202020;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 1rem;
        line-height: 1.1;
        text-transform: uppercase;
        cursor: pointer;
        background: transparent;
    }

    .html-category-page .side-2 .block:not(.product-filters) .title::before,
    .html-search-page .side-2 .block:not(.product-filters) .title::before {
        content: "\f078";
        position: absolute;
        top: 16px;
        right: 0;
        font-family: "Font Awesome 6 Free";
        font-size: 0.75rem;
        font-weight: 900;
        color: #4c4c4c;
        transition: transform 0.2s ease;
    }

    .html-category-page .side-2 .block:not(.product-filters) .title.is-open::before,
    .html-search-page .side-2 .block:not(.product-filters) .title.is-open::before {
        transform: rotate(180deg);
    }

    .html-category-page .side-2 .block:not(.product-filters) .listbox,
    .html-search-page .side-2 .block:not(.product-filters) .listbox {
        display: block;
        overflow: hidden;
        margin-bottom: 0;
        padding: 0 0 2px !important;
        transition: max-height 0.28s ease;
        border-top: 0;
        border-bottom: 0;
    }

    .html-category-page .side-2 .block:not(.product-filters) .list,
    .html-search-page .side-2 .block:not(.product-filters) .list {
        padding: 2px 0 8px !important;
        margin: 0;
    }

    .html-category-page .side-2 .block:not(.product-filters) .list li,
    .html-search-page .side-2 .block:not(.product-filters) .list li {
        margin: 0 !important;
        padding: 0;
    }

    .html-category-page .side-2 .block:not(.product-filters) .list a,
    .html-search-page .side-2 .block:not(.product-filters) .list a {
        display: block;
        padding: 7px 0 7px 16px;
        font-size: 0.9rem;
        line-height: 1.35;
    }

    .html-category-page .side-2 .block:not(.product-filters) .list a::before,
    .html-search-page .side-2 .block:not(.product-filters) .list a::before {
        top: 13px;
        left: 0;
    }

    .html-category-page .side-2 .block-recently-viewed-products .list li,
    .html-search-page .side-2 .block-recently-viewed-products .list li {
        padding: 4px 0;
    }

    .html-category-page .side-2 .block-recently-viewed-products .product-name,
    .html-search-page .side-2 .block-recently-viewed-products .product-name {
        padding-left: 0 !important;
    }

    .html-category-page .side-2 .block-recently-viewed-products .product-picture,
    .html-search-page .side-2 .block-recently-viewed-products .product-picture {
        margin: 0 10px 0 0;
    }

    .html-category-page .side-2 .block-popular-tags .tags,
    .html-search-page .side-2 .block-popular-tags .tags {
        margin: 0;
        padding: 6px 0 8px;
    }

    .html-category-page .side-2 .block-popular-tags .tags li,
    .html-search-page .side-2 .block-popular-tags .tags li {
        margin: 0 6px 6px 0;
        font-size: 0.9rem !important;
    }

    .html-category-page .side-2 .block:not(.product-filters) .view-all,
    .html-search-page .side-2 .block:not(.product-filters) .view-all {
        margin: 2px 0 6px;
    }

    .jb-filter-panel-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        min-height: 54px;
        width: 100%;
        margin: 0 0 14px;
        border: 0;
        background: #ffffff;
        color: #202020;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 1.1rem;
        text-transform: uppercase;
    }

    .jb-filter-panel-toggle__icon {
        position: relative;
        display: inline-block;
        width: 18px;
        height: 14px;
        border-top: 2px solid #8a8a8a;
        border-bottom: 2px solid #8a8a8a;
    }

    .jb-filter-panel-toggle__icon::before,
    .jb-filter-panel-toggle__icon::after {
        content: "";
        position: absolute;
        top: 50%;
        width: 100%;
        border-top: 2px solid #8a8a8a;
        transform: translateY(-50%);
    }

    .jb-filter-panel-toggle__icon::after {
        width: 40%;
        top: 1px;
        right: 0;
    }

    .jb-filter-panel-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.45);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.2s ease, visibility 0.2s ease;
        z-index: 1007;
    }

    .jb-filter-panel-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 64px;
        padding: 0 18px;
        border-bottom: 1px solid #e5e5e5;
    }

    .jb-filter-panel-title {
        color: #202020;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 1.2rem;
        text-transform: uppercase;
    }

    .jb-filter-panel-close {
        border: 0;
        background: transparent;
        color: #8a8a8a;
        font-size: 2rem;
        line-height: 1;
    }

    .html-category-page .product-filters,
    .html-search-page .product-filters {
        position: fixed;
        top: 0;
        left: 0;
        bottom: 0;
        width: min(420px, 88vw);
        max-width: 100%;
        margin: 0;
        padding: 0;
        background: #ffffff;
        transform: translateX(-100%);
        transition: transform 0.25s ease;
        z-index: 1010;
        overflow-y: auto;
        overflow-x: hidden;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.18);
        pointer-events: none;
        opacity: 1;
        visibility: visible;
        isolation: isolate;
    }

    .html-category-page .product-filter,
    .html-search-page .product-filter {
        padding: 0 18px 18px;
    }

    .html-category-page .product-filter + .product-filter,
    .html-search-page .product-filter + .product-filter {
        margin-top: 0;
        border-top: 1px solid #ececec;
        padding-top: 18px;
    }

    body.jb-filter-panel-open {
        overflow: hidden;
    }

    body.jb-filter-panel-open .jb-filter-panel-overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

body.jb-filter-panel-open .product-filters {
        transform: translateX(0);
        pointer-events: auto;
    }
}

.jb-filter-panel-toggle__icon {
    width: auto;
    height: auto;
    border: 0;
    color: #7f7f7f;
}

.jb-filter-panel-toggle__icon::before {
    content: "\f0b0";
    position: static;
    display: block;
    width: auto;
    border: 0;
    transform: none;
    font-family: "Font Awesome 6 Free";
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    color: currentColor;
}

.jb-filter-panel-toggle__icon::after {
    display: none;
}

@media (max-width: 1000px) {
    .html-category-page .master-wrapper-content,
    .html-search-page .master-wrapper-content {
        padding-top: 0 !important;
    }

    .html-job-details-page .master-wrapper-content,
    .html-aiinterview-job-details-page .master-wrapper-content {
        padding-top: 26px !important;
    }

    .html-category-page .master-wrapper-content > .breadcrumb,
    .html-search-page .master-wrapper-content > .breadcrumb,
    .html-job-details-page .master-wrapper-content > .breadcrumb,
    .html-aiinterview-job-details-page .master-wrapper-content > .breadcrumb {
        padding-left: 8px !important;
        padding-right: 8px !important;
        padding-top: 0 !important;
        margin-bottom: 2px !important;
    }

    .html-category-page .breadcrumb,
    .html-search-page .breadcrumb,
    .html-job-details-page .breadcrumb,
    .html-aiinterview-job-details-page .breadcrumb {
        margin: 0 auto 4px;
        padding: 0 8px 2px !important;
    }

    .html-category-page .page-title,
    .html-search-page .page-title,
    .html-category-page .page-body,
    .html-search-page .page-body,
    .html-category-page .center-2,
    .html-search-page .center-2 {
        margin: 0 auto 10px;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        padding: 0 4px 12px !important;
    }

    .jb-filter-panel-header {
        min-height: 68px;
        padding: 0 18px;
    }

    .html-category-page .product-filters,
    .html-search-page .product-filters {
        padding-top: 0 !important;
    }

    .html-category-page .product-filters .jb-filter-panel-header + .product-filter,
    .html-search-page .product-filters .jb-filter-panel-header + .product-filter {
        padding-top: 22px !important;
    }

    .html-category-page .product-filters .jb-filter-panel-header + .product-filter .filter-title,
    .html-search-page .product-filters .jb-filter-panel-header + .product-filter .filter-title {
        margin-top: 0 !important;
    }

    .html-category-page .product-list .item-grid,
    .html-search-page .product-list .item-grid {
        gap: 10px;
    }

    .html-category-page .product-list .product-item,
    .html-search-page .product-list .product-item {
        padding: 12px;
        gap: 12px;
        border-radius: 10px;
    }

    .html-category-page .product-list .product-item .picture,
    .html-search-page .product-list .product-item .picture {
        flex: 0 0 96px;
        width: 96px;
    }

    .html-category-page .product-list .product-item .picture a,
    .html-search-page .product-list .product-item .picture a,
    .html-category-page .product-list .product-item .picture img,
    .html-search-page .product-list .product-item .picture img {
        min-height: 96px;
        height: 96px;
    }

    .html-category-page .product-list .product-item .description,
    .html-search-page .product-list .product-item .description {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .html-category-page .products-container,
    .html-search-page .products-container,
    .html-category-page .products-wrapper,
    .html-search-page .products-wrapper {
        margin: 0 !important;
        padding: 0 !important;
    }

    .html-category-page .jb-products-row.px-2,
    .html-search-page .jb-products-row.px-2 {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .html-category-page .jb-products-row.gx-2,
    .html-search-page .jb-products-row.gx-2,
    .html-category-page .jb-products-row.g-2,
    .html-search-page .jb-products-row.g-2 {
        gap: 8px !important;
    }

    .html-category-page .jb-products-row > .jb-products-col,
    .html-search-page .jb-products-row > .jb-products-col {
        margin: 0 !important;
        padding: 0 !important;
        width: 100%;
    }

    .html-category-page .product-list .product-item,
    .html-search-page .product-list .product-item {
        grid-template-columns: 88px minmax(0, 1fr);
        padding: 10px;
        gap: 10px;
    }

    .html-category-page .product-list .product-item .picture,
    .html-search-page .product-list .product-item .picture {
        flex: 0 0 88px;
        width: 88px;
    }

    .html-category-page .product-list .product-item .picture a,
    .html-search-page .product-list .product-item .picture a,
    .html-category-page .product-list .product-item .picture img,
    .html-search-page .product-list .product-item .picture img {
        min-height: 88px;
        height: 88px;
    }

}

@media (max-width: 1000px) {
    .jb-header-actions {
        grid-column: 3 / 5;
        grid-row: 1;
        display: grid !important;
        grid-template-columns: 44px 44px;
        align-items: center;
        justify-content: end;
        gap: 0;
        margin: 0 !important;
        min-width: 88px;
        position: relative;
        z-index: 6;
    }

    .jb-header-actions .jb-mobile-toggles.right {
        grid-column: 1;
        grid-row: 1;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        justify-self: end;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .jb-header-actions .header-links-wrapper {
        grid-column: 2;
        grid-row: 1;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        margin: 0 !important;
        justify-self: end;
        position: relative !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .header-lower > .jb-mobile-toggles.right,
    .header-lower > .header-links-wrapper {
        grid-column: auto;
        grid-row: auto;
    }

    .jb-header-actions .header-links,
    .jb-header-actions .jb-mobile-account,
    .jb-header-actions .jb-search-toggle,
    .jb-header-actions .jb-account-toggle {
        display: flex !important;
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        align-items: center !important;
        justify-content: center !important;
        color: #8f8f8f !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    .jb-header-actions .header-links > ul {
        display: none !important;
    }

    .jb-header-actions .jb-search-toggle svg,
    .jb-header-actions .jb-account-toggle svg {
        display: block !important;
        width: 23px !important;
        height: 23px !important;
        color: inherit !important;
        stroke: currentColor !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (max-width: 767px) {
    .html-home-page .home-page,
    .html-home-page .home-page .page-body,
    .html-home-page .jb-home-native-components,
    .html-home-page .home-page-product-grid,
    .html-home-page .bestsellers,
    .html-home-page .home-page-product-grid > .item-grid,
    .html-home-page .bestsellers > .item-grid,
    .html-home-page .home-page-product-grid .item-box,
    .html-home-page .bestsellers .item-box,
    .html-home-page .home-page .product-item {
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .html-home-page .jb-home-native-components {
        padding-right: 8px;
        padding-left: 8px;
        overflow: hidden;
    }

    .html-home-page .home-page-product-grid > .item-grid,
    .html-home-page .bestsellers > .item-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px;
    }

    .html-home-page .home-page-product-grid .item-box,
    .html-home-page .bestsellers .item-box {
        float: none !important;
        clear: none !important;
        margin: 0 !important;
        overflow: hidden;
    }

    .html-home-page .home-page .product-item {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 12px;
        padding: 12px;
        overflow: hidden;
    }

    .html-home-page .home-page .product-item .picture {
        order: 1;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0;
        overflow: hidden;
    }

    .html-home-page .home-page .product-item .picture > a,
    .html-home-page .home-page .product-item .picture .swiper,
    .html-home-page .home-page .product-item .picture .swiper-slide {
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .html-home-page .home-page .product-item .picture > a,
    .html-home-page .home-page .product-item .picture .swiper-slide {
        position: relative;
        aspect-ratio: 16 / 9;
        min-height: 150px;
    }

    .html-home-page .home-page .product-item .picture > a::before,
    .html-home-page .home-page .product-item .picture .swiper-slide::before {
        padding-top: 0 !important;
    }

    .html-home-page .home-page .product-item .picture img {
        position: absolute;
        inset: 0;
        width: 100% !important;
        height: 100% !important;
        max-width: 100% !important;
        object-fit: contain;
    }

    .html-home-page .home-page .product-item .details,
    .html-home-page .home-page .product-item .add-info,
    .html-home-page .home-page .product-item .prices,
    .html-home-page .home-page .product-item .buttons {
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .html-home-page .home-page .product-item .details {
        order: 2;
        gap: 8px;
    }

    .html-home-page .home-page .product-item .product-title a {
        font-size: 1.25rem;
        line-height: 1.15;
    }

    .html-home-page .home-page .product-item .description {
        display: -webkit-box;
        overflow: hidden;
        font-size: 0.9rem;
        line-height: 1.5;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .html-home-page .home-page .product-item .actual-price {
        font-size: 1.3rem;
    }

    .html-home-page .home-page .product-item .buttons {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
    }

    .html-home-page .home-page .product-item .buttons button,
    .html-home-page .home-page .product-item .buttons a.button-2 {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 42px;
        margin: 0 !important;
        padding: 9px 8px;
        font-size: 0.84rem;
        overflow-wrap: anywhere;
    }

    .html-home-page .home-page .product-item .buttons .jb-view-job-button,
    .html-home-page .home-page .product-item .buttons .product-box-add-to-cart-button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1000px) {
    .footer-menu--newsletter .newsletter {
        padding: 18px 20px 4px !important;
    }

    .footer-menu--newsletter .newsletter-subscribe,
    .footer-menu--newsletter .newsletter-email {
        width: 100%;
        max-width: 342px;
        margin-right: auto;
        margin-left: auto;
    }

    .footer-menu--newsletter .newsletter-email {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 62px !important;
        gap: 0 !important;
        overflow: visible;
    }

    .footer-menu--newsletter .newsletter-subscribe-text {
        box-sizing: border-box;
        float: none;
        width: 100% !important;
        min-width: 0;
        height: 42px;
        min-height: 42px;
        margin: 0 !important;
        padding: 0 20px;
        border: 0;
        border-radius: 0;
        background: #f0f0f0;
        color: #747474;
        font-size: 1rem;
        box-shadow: none;
    }

    .footer-menu--newsletter .newsletter-subscribe-text:focus {
        outline: 1px solid var(--jb-accent);
        outline-offset: -1px;
    }

    .footer-menu--newsletter .newsletter-subscribe-button {
        position: relative;
        float: none;
        width: 62px !important;
        min-width: 62px !important;
        height: 42px;
        min-height: 42px;
        margin: 0 !important;
        padding: 0 !important;
        border: 0;
        border-radius: 0;
        background: var(--jb-accent);
        color: #ffffff;
        font-size: 0;
        line-height: 1;
    }

    .footer-menu--newsletter .newsletter-subscribe-button::before {
        content: "\f1d8";
        display: block;
        font-family: "Font Awesome 6 Free";
        font-size: 1.35rem;
        font-weight: 900;
        line-height: 42px;
        text-align: center;
    }

    .footer-menu--newsletter .newsletter-subscribe-button:hover,
    .footer-menu--newsletter .newsletter-subscribe-button:focus {
        background: var(--jb-accent-dark);
    }

    .footer-menu--newsletter .newsletter-email .options,
    .footer-menu--newsletter .newsletter-email .captcha-box {
        grid-column: 1 / -1;
    }

    .footer-menu--newsletter .newsletter-email .options {
        padding-top: 10px;
    }
}

@media (min-width: 1001px) {
    .footer-menu--newsletter .newsletter-subscribe,
    .footer-menu--newsletter .newsletter-email {
        width: 100%;
        max-width: 342px;
    }

    .footer-menu--newsletter .newsletter-email {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) 62px !important;
        gap: 0 !important;
        overflow: visible;
    }

    .footer-menu--newsletter .newsletter-subscribe-text {
        box-sizing: border-box;
        float: none;
        width: 100% !important;
        min-width: 0;
        height: 42px;
        min-height: 42px;
        margin: 0 !important;
        padding: 0 20px;
        border: 0;
        border-radius: 0;
        background: #f0f0f0;
        color: #747474;
        font-size: 1rem;
        box-shadow: none;
    }

    .footer-menu--newsletter .newsletter-subscribe-text:focus {
        outline: 1px solid var(--jb-accent);
        outline-offset: -1px;
    }

    .footer-menu--newsletter .newsletter-subscribe-button {
        position: relative;
        float: none;
        width: 62px !important;
        min-width: 62px !important;
        height: 42px;
        min-height: 42px;
        margin: 0 !important;
        padding: 0 !important;
        border: 0;
        border-radius: 0;
        background: var(--jb-accent);
        color: #ffffff;
        font-size: 0;
        line-height: 1;
    }

    .footer-menu--newsletter .newsletter-subscribe-button::before {
        content: "\f1d8";
        display: block;
        font-family: "Font Awesome 6 Free";
        font-size: 1.05rem;
        font-weight: 900;
        line-height: 42px;
        text-align: center;
    }

    .footer-menu--newsletter .newsletter-subscribe-button:hover,
    .footer-menu--newsletter .newsletter-subscribe-button:focus {
        background: var(--jb-accent-dark);
    }

    .footer-menu--newsletter .newsletter-email .options,
    .footer-menu--newsletter .newsletter-email .captcha-box {
        grid-column: 1 / -1;
    }

    .footer-menu--newsletter .newsletter-email .options {
        padding-top: 10px;
    }
}

@media (max-width: 1000px) {
    .master-wrapper-content {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 5px !important;
        padding-left: 5px !important;
    }

    .html-home-page .home-page .page-body,
    .html-home-page .jb-home-native-components {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .html-home-page .jb-home-hero {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper,
    .html-category-page .center-2,
    .html-search-page .center-2,
    .html-category-page .page-title,
    .html-search-page .page-title,
    .html-category-page .page-body,
    .html-search-page .page-body,
    .html-category-page .products-container,
    .html-search-page .products-container,
    .html-category-page .products-wrapper,
    .html-search-page .products-wrapper {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .html-category-page .master-wrapper-content > .breadcrumb,
    .html-search-page .master-wrapper-content > .breadcrumb,
    .html-category-page .breadcrumb,
    .html-search-page .breadcrumb {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .html-category-page .jb-products-row.px-2,
    .html-search-page .jb-products-row.px-2 {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .html-category-page .jb-products-row > .jb-products-col,
    .html-search-page .jb-products-row > .jb-products-col {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    .html-product-details-page .page {
        box-sizing: border-box;
        width: 100% !important;
        max-width: none !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
    }
}

/* Catalog finishing fixes shared by desktop and mobile. */
.html-category-page .page-title h1,
.html-search-page .page-title h1 {
    margin-bottom: 0;
    border-bottom: 0;
    padding-bottom: 10px;
}

.html-category-page .block-recently-viewed-products .list li,
.html-search-page .block-recently-viewed-products .list li {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-width: 0;
    margin: 0 !important;
    padding: 6px 0 !important;
}

.html-category-page .block-recently-viewed-products a.product-picture,
.html-search-page .block-recently-viewed-products a.product-picture {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 64px !important;
    height: 64px;
    margin: 0 !important;
}

.html-category-page .block-recently-viewed-products a.product-picture img,
.html-search-page .block-recently-viewed-products a.product-picture img {
    display: block;
    width: 64px;
    height: 64px;
    max-width: 100%;
    object-fit: contain;
}

.html-category-page .block-recently-viewed-products a.product-name,
.html-search-page .block-recently-viewed-products a.product-name {
    display: block !important;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.breadcrumb li * {
    margin-right: 0 !important;
    margin-left: 0 !important;
}

.breadcrumb li .delimiter {
    margin-right: 4px !important;
    margin-left: 4px !important;
}

@media (max-width: 1000px) {
    .html-category-page .product-selectors .product-sorting,
    .html-search-page .product-selectors .product-sorting {
        display: flex !important;
        flex-flow: row nowrap !important;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        width: 100%;
        min-width: 0;
    }

    .html-category-page .product-selectors .product-sorting span,
    .html-search-page .product-selectors .product-sorting span {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .html-category-page .product-selectors .product-sorting select,
    .html-search-page .product-selectors .product-sorting select {
        flex: 1 1 auto;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
    }
}

/* Compact catalog sidebar navigation lists. */
.side-2 .block-category-navigation .listbox,
.side-2 .block-manufacturer-navigation .listbox,
.side-2 .block-vendor-navigation .listbox {
    padding: 6px 12px 8px !important;
}

.side-2 .block-category-navigation .list,
.side-2 .block-manufacturer-navigation .list,
.side-2 .block-vendor-navigation .list {
    margin: 0 !important;
    padding: 0 !important;
}

.side-2 .block-category-navigation .list li,
.side-2 .block-manufacturer-navigation .list li,
.side-2 .block-vendor-navigation .list li {
    margin: 0 !important;
    padding: 0 !important;
}

.side-2 .block-category-navigation .list a,
.side-2 .block-manufacturer-navigation .list a,
.side-2 .block-vendor-navigation .list a {
    display: block;
    margin: 0 !important;
    padding: 5px 0 5px 14px !important;
    font-size: 0.9rem;
    line-height: 1.35;
}

.side-2 .block-category-navigation .list a::before,
.side-2 .block-manufacturer-navigation .list a::before,
.side-2 .block-vendor-navigation .list a::before {
    top: 11px;
    left: 0;
}

.side-2 .block-category-navigation .sublist {
    margin: 0 !important;
    padding-left: 14px !important;
}

.side-2 .block-manufacturer-navigation .view-all,
.side-2 .block-vendor-navigation .view-all {
    margin: 4px 0 0;
}

@media (max-width: 1000px) {
    .side-2 .block-category-navigation .list a,
    .side-2 .block-manufacturer-navigation .list a,
    .side-2 .block-vendor-navigation .list a {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    .side-2 .block-category-navigation .list a::before,
    .side-2 .block-manufacturer-navigation .list a::before,
    .side-2 .block-vendor-navigation .list a::before {
        top: 13px;
    }
}

@media (min-width: 1001px) {
    body.jb-search-open .jb-drawer-overlay {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .header-lower {
        position: relative;
    }

    .store-search-box.jb-search-overlay {
        position: absolute !important;
        top: 100% !important;
        right: 0 !important;
        left: auto !important;
        width: fit-content !important;
        max-width: calc(100vw - 32px) !important;
        margin: 0 !important;
        padding: 12px 16px !important;
        transform: none !important;
        border: 1px solid var(--jb-border);
        background: #ffffff;
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
        z-index: 1002;
    }

    .store-search-box.jb-search-overlay form {
        display: grid !important;
        grid-template-columns: minmax(180px, 300px) auto auto;
        align-items: center;
        justify-content: end !important;
        gap: 12px !important;
        width: fit-content !important;
        max-width: none !important;
        margin: 0 !important;
    }

    .store-search-box.jb-search-overlay .search-box-text {
        box-sizing: border-box;
        width: 300px !important;
        max-width: 300px !important;
        min-width: 0;
        margin: 0 !important;
    }

    .store-search-box.jb-search-overlay .search-box-category {
        box-sizing: border-box;
        width: auto;
        max-width: 180px;
        margin: 0 !important;
    }

    .store-search-box.jb-search-overlay .search-box-button {
        width: auto;
        min-width: 96px;
        margin: 0 !important;
        white-space: nowrap;
    }

    .store-search-box.jb-search-overlay .search-box-button,
    .store-search-box.jb-search-overlay .button-1.search-box-button {
        background-color: var(--jb-accent) !important;
        border-color: var(--jb-accent) !important;
        color: var(--jb-white) !important;
    }

    .store-search-box.jb-search-overlay .search-box-button:hover,
    .store-search-box.jb-search-overlay .button-1.search-box-button:hover,
    .store-search-box.jb-search-overlay .search-box-button:focus,
    .store-search-box.jb-search-overlay .button-1.search-box-button:focus {
        background-color: var(--jb-accent-dark) !important;
        border-color: var(--jb-accent-dark) !important;
        color: var(--jb-white) !important;
    }
}

/* =========================================
   ACCOUNT FOUNDATION
   ========================================= */
.html-account-page {
    background: #f2f2f2;
}

.html-account-page .master-wrapper-content {
    max-width: 1200px;
}

.html-account-page .master-column-wrapper {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 26px;
    padding: 28px 20px 48px;
}

.html-account-page .side-2,
.html-account-page .center-2 {
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
}

.html-account-page .block-account-navigation {
    margin: 0;
    border: 0;
    background: #ffffff;
}

.html-account-page .block-account-navigation .title {
    margin: 0;
    padding: 22px 24px;
    border: 0;
    background: #20252b;
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.45rem;
    font-weight: 400;
    line-height: 1.1;
    text-transform: uppercase;
}

.html-account-page .block-account-navigation .listbox {
    padding: 0;
}

.html-account-page .block-account-navigation .list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.html-account-page .block-account-navigation .list .item,
.html-account-page .block-account-navigation .list > li {
    margin: 0;
    padding: 0;
    border-bottom: 1px dashed #d7d7d7;
}

.html-account-page .block-account-navigation .list > li:last-child {
    border-bottom: 0;
}

.html-account-page .block-account-navigation a {
    display: block;
    min-width: 0;
    padding: 16px 22px;
    color: #555d65;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.25;
    text-decoration: none;
    text-transform: uppercase;
    overflow-wrap: anywhere;
    transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease;
}

.html-account-page .block-account-navigation li.active a {
    border-left: 3px solid var(--jb-accent);
    padding-left: 19px;
    background: #f5fbf9;
    color: var(--jb-accent-dark);
}

.html-account-page .block-account-navigation li.inactive a:hover,
.html-account-page .block-account-navigation li.inactive a:focus-visible {
    background: #f5f5f5;
    color: #20252b;
    outline: 0;
}

.html-account-page .account-page .page-title {
    min-height: 0;
    margin: 0 0 16px;
    padding: 0 0 14px;
    border-bottom: 1px solid #d8d8d8;
}

.html-account-page .account-page .page-title h1 {
    margin: 0;
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.15;
    text-transform: uppercase;
}

.html-account-page .customer-info-page .page-body {
    min-width: 0;
}

.html-account-page .customer-info-page form {
    padding: 30px 36px 34px;
    border-left: 0;
    background: #ffffff;
}

.html-account-page .customer-info-page .fieldset,
.html-account-page .customer-info-page .jb-account-panel {
    min-width: 0;
    margin: 0 0 26px;
    padding: 0;
    border: 0;
    background: transparent;
}

.html-account-page .customer-info-page .fieldset > .title,
.html-account-page .customer-info-page .jb-account-panel > .title {
    margin: 0 0 16px;
    padding: 0 0 10px;
    border-bottom: 1px dashed #cfcfcf;
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
}

.html-account-page .customer-info-page .form-fields {
    min-width: 0;
    padding: 0;
    background: transparent;
}

.html-account-page .customer-info-page .inputs {
    display: grid;
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 14px;
    min-width: 0;
    margin: 0 0 14px;
    text-align: left;
    white-space: normal;
}

.html-account-page .customer-info-page .inputs > label:first-child {
    width: auto;
    margin: 0;
    color: #30363c;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.78rem;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
}

.html-account-page .customer-info-page input[type="text"],
.html-account-page .customer-info-page input[type="email"],
.html-account-page .customer-info-page input[type="tel"],
.html-account-page .customer-info-page input[type="password"],
.html-account-page .customer-info-page select,
.html-account-page .customer-info-page textarea {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    min-height: 42px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 10px 12px;
    background: #f0f0f0;
    color: #626970;
    font-family: "Lato", Arial, sans-serif;
}

.html-account-page .customer-info-page input:focus,
.html-account-page .customer-info-page select:focus,
.html-account-page .customer-info-page textarea:focus {
    border-color: var(--jb-accent);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(53, 214, 180, 0.16);
}

.html-account-page .customer-info-page nop-required,
.html-account-page .customer-info-page .required {
    align-self: center;
    color: #d9534f;
}

.html-account-page .customer-info-page .field-validation-error,
.html-account-page .customer-info-page .field-validation-valid,
.html-account-page .customer-info-page .email-to-revalidate-note,
.html-account-page .customer-info-page .vat-note,
.html-account-page .customer-info-page .vat-status,
.html-account-page .customer-info-page .phone-status,
.html-account-page .customer-info-page .please-wait {
    grid-column: 2 / -1;
    min-width: 0;
    color: #a13b3b;
    font-size: 0.82rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.html-account-page .customer-info-page .message-error {
    margin: 0 0 18px;
    border-left: 3px solid #c94747;
    padding: 12px 14px;
    background: #fff4f4;
    color: #9f3535;
    text-align: left;
}

.html-account-page .customer-info-page .gender {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    min-width: 0;
}

.html-account-page .customer-info-page .gender > span,
.html-account-page .customer-info-page .attributes li,
.html-account-page .customer-info-page .accept-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.html-account-page .customer-info-page input[type="radio"],
.html-account-page .customer-info-page input[type="checkbox"] {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: var(--jb-accent);
}

.html-account-page .customer-info-page label.forcheckbox,
.html-account-page .customer-info-page .attributes label,
.html-account-page .customer-info-page .accept-consent label {
    width: auto;
    margin: 0;
    color: #666d73;
    font-size: 0.9rem;
    line-height: 1.4;
    text-align: left;
}

.html-account-page .customer-info-page .date-of-birth {
    grid-template-columns: minmax(120px, 170px) minmax(0, 1fr) auto;
}

.html-account-page .customer-info-page .date-of-birth > .date-picker-wrapper,
.html-account-page .customer-info-page .date-of-birth > div {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.html-account-page .customer-info-page .attributes ul {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.html-account-page .customer-info-page .inputs.accept-consent {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
}

.html-account-page .customer-info-page .table-wrapper,
.jb-account-table {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dddddd;
    background: #ffffff;
}

.html-account-page .customer-info-page .data-table,
.jb-account-table .data-table {
    width: 100%;
    min-width: 620px;
    border-collapse: collapse;
}

.html-account-page .customer-info-page .data-table th,
.html-account-page .customer-info-page .data-table td,
.jb-account-table th,
.jb-account-table td {
    padding: 11px 12px;
    border-bottom: 1px solid #e3e3e3;
    text-align: left;
    vertical-align: top;
}

.html-account-page .customer-info-page .data-table th,
.jb-account-table th {
    background: #272d33;
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-weight: 400;
    text-transform: uppercase;
}

.html-account-page .customer-info-page .buttons,
.jb-account-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 0;
    text-align: left;
}

.html-account-page .customer-info-page .save-customer-info-button,
.html-account-page .customer-info-page .change-phone-btn,
.jb-account-actions .button-1,
.jb-account-actions .button-2 {
    min-height: 42px;
    border: 1px solid var(--jb-accent);
    border-radius: 0;
    padding: 10px 24px;
    background: var(--jb-accent);
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.9rem;
    text-transform: uppercase;
}

.html-account-page .customer-info-page .change-phone-btn {
    border-color: #d5d5d5;
    background: #f2f2f2;
    color: #4f565d;
}

.html-account-page .customer-info-page .save-customer-info-button:hover,
.html-account-page .customer-info-page .save-customer-info-button:focus-visible {
    border-color: var(--jb-accent-dark);
    background: var(--jb-accent-dark);
}

.jb-account-status {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    border-radius: 999px;
    padding: 3px 9px;
    background: #e9f8f4;
    color: #197f69;
    font-size: 0.78rem;
    font-weight: 700;
}

.jb-account-metrics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
}

.jb-account-empty {
    border: 1px dashed #cccccc;
    padding: 28px 20px;
    background: #fafafa;
    color: #737a80;
    text-align: center;
}

@media (max-width: 1000px) {
    .html-account-page .master-wrapper-content {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .html-account-page .master-column-wrapper {
        display: block;
        padding: 20px 0 36px;
    }

    .html-account-page .side-2 {
        margin: 0 0 18px;
    }

    .html-account-page .block-account-navigation .title {
        padding: 16px 18px;
        font-size: 1.2rem;
    }

    .html-account-page .block-account-navigation .list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .html-account-page .block-account-navigation .list > li {
        border-right: 1px dashed #d7d7d7;
    }

    .html-account-page .block-account-navigation a {
        min-height: 48px;
        padding: 12px 14px;
        font-size: 0.9rem;
    }

    .html-account-page .block-account-navigation li.active a {
        padding-left: 11px;
    }

    .html-account-page .account-page .page-title h1 {
        font-size: 1.65rem;
    }

    .html-account-page .customer-info-page form {
        padding: 24px 20px 28px;
    }

    .html-account-page .customer-info-page .inputs,
    .html-account-page .customer-info-page .date-of-birth {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
    }

    .html-account-page .customer-info-page .inputs > label:first-child {
        grid-column: 1 / -1;
    }

    .html-account-page .customer-info-page .field-validation-error,
    .html-account-page .customer-info-page .field-validation-valid,
    .html-account-page .customer-info-page .email-to-revalidate-note,
    .html-account-page .customer-info-page .vat-note,
    .html-account-page .customer-info-page .vat-status,
    .html-account-page .customer-info-page .phone-status,
    .html-account-page .customer-info-page .please-wait {
        grid-column: 1 / -1;
    }

    .html-account-page .customer-info-page .gender,
    .html-account-page .customer-info-page .date-of-birth > .date-picker-wrapper,
    .html-account-page .customer-info-page .date-of-birth > div,
    .html-account-page .customer-info-page .attributes {
        grid-column: 1 / -1;
    }
}

@media (max-width: 520px) {
    .html-account-page .master-wrapper-content {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .html-account-page .block-account-navigation .list {
        grid-template-columns: 1fr;
    }

    .html-account-page .block-account-navigation .list > li {
        border-right: 0;
    }

    .html-account-page .customer-info-page form {
        padding: 20px 14px 24px;
    }

    .html-account-page .customer-info-page .date-of-birth > .date-picker-wrapper,
    .html-account-page .customer-info-page .date-of-birth > div {
        grid-template-columns: 1fr;
    }

    .html-account-page .customer-info-page .save-customer-info-button,
    .html-account-page .customer-info-page .change-phone-btn {
        width: 100%;
    }
}

/* Account navigation and customer-info corrections. */
.html-account-page .jb-account-nav-header {
    position: relative;
}

.html-account-page .jb-account-nav-toggle,
.html-account-page .jb-account-nav-close,
.html-account-page .jb-account-nav-overlay {
    display: none;
}

.html-account-page .block-account-navigation .list,
.html-account-page .block-account-navigation .list > li {
    list-style: none;
    list-style-type: none;
}

.html-account-page .block-account-navigation .list a::before,
.html-account-page .block-account-navigation .list a::after,
.html-account-page .block-account-navigation .list > li::before,
.html-account-page .block-account-navigation .list > li::after {
    content: none;
    display: none;
    background: none;
}

.html-account-page .customer-info-page .form-fields {
    border-top: 0;
    border-bottom: 0;
}

.html-account-page .customer-info-page .jb-account-panel {
    border-left: 0;
    padding: 0;
    background: transparent;
}

.html-account-page .customer-info-page .fieldset > .title,
.html-account-page .customer-info-page .jb-account-panel > .title {
    border: 0;
    border-bottom: 1px dotted #cfcfcf;
}

@media (min-width: 1001px) {
    .html-account-page .master-wrapper-page,
    .html-account-page .master-wrapper-content,
    .html-account-page .master-column-wrapper {
        overflow: visible;
    }

    .html-account-page .customer-info-page .inputs,
    .html-account-page .customer-info-page .date-of-birth {
        grid-template-columns: 200px minmax(0, 1fr) 18px;
        column-gap: 16px;
    }

    .html-account-page .customer-info-page .inputs > label:first-child {
        grid-column: 1;
        box-sizing: border-box;
        display: block;
        width: 100%;
        min-width: 200px;
        max-width: 200px;
        margin: 0;
        padding-right: 8px;
        line-height: 1.3;
    }

    .html-account-page .customer-info-page .inputs > input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
    .html-account-page .customer-info-page .inputs > select,
    .html-account-page .customer-info-page .inputs > textarea,
    .html-account-page .customer-info-page .inputs > .gender,
    .html-account-page .customer-info-page .inputs > .readonly-username,
    .html-account-page .customer-info-page .inputs > .email-to-revalidate {
        grid-column: 2;
        min-width: 0;
    }

    .html-account-page .customer-info-page .jb-date-fields {
        grid-column: 2;
    }

    .html-account-page .customer-info-page .inputs > .attributes:first-child {
        grid-column: 1 / -1;
    }

    .html-account-page .side-2 {
        position: -webkit-sticky;
        position: sticky;
        top: 20px;
        align-self: start;
        height: max-content;
    }
}

@media (max-width: 1000px) {
    body.jb-account-nav-enhanced .jb-account-nav-toggle {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        min-height: 52px;
        border: 0;
        padding: 14px 18px;
        background: #20252b;
        color: #ffffff;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 1.1rem;
        text-align: left;
        text-transform: uppercase;
    }

    body.jb-account-nav-enhanced .jb-account-nav-toggle::after {
        content: "\f0c9";
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
    }

    body.jb-account-nav-enhanced .jb-account-nav-overlay {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1104;
        background: rgba(0, 0, 0, 0.48);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    body.jb-account-nav-enhanced #jb-account-navigation {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: auto;
        z-index: 1105;
        display: flex;
        flex-direction: column;
        box-sizing: border-box;
        width: min(280px, 88vw);
        max-width: 88vw;
        height: 100vh;
        height: 100dvh;
        margin: 0;
        overflow: hidden;
        background: #ffffff;
        box-shadow: 8px 0 28px rgba(0, 0, 0, 0.2);
        transform: translate3d(-105%, 0, 0);
        transition: transform 0.28s ease;
        will-change: transform;
    }

    body.jb-account-nav-enhanced.jb-account-nav-open #jb-account-navigation,
    body.jb-account-nav-enhanced #jb-account-navigation.is-open {
        left: 0;
        right: auto;
        transform: translate3d(0, 0, 0);
    }

    body.jb-account-nav-enhanced.jb-account-nav-open {
        overflow: hidden;
    }

    body.jb-account-nav-enhanced.jb-account-nav-open .jb-account-nav-overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.jb-account-nav-enhanced .jb-account-nav-header {
        display: flex;
        flex: 0 0 auto;
        align-items: center;
        justify-content: space-between;
        background: #20252b;
    }

    body.jb-account-nav-enhanced .block-account-navigation .jb-account-nav-header .title {
        flex: 1 1 auto;
        min-width: 0;
        padding: 18px;
    }

    body.jb-account-nav-enhanced .jb-account-nav-close {
        display: flex;
        flex: 0 0 48px;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        border: 0;
        padding: 0;
        background: transparent;
        color: #ffffff;
        font-size: 1.8rem;
        line-height: 1;
    }

    body.jb-account-nav-enhanced #jb-account-navigation .listbox {
        display: block;
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
        opacity: 1;
        visibility: visible;
    }

    body.jb-account-nav-enhanced .block-account-navigation .list {
        display: block;
        max-height: none;
        opacity: 1;
        visibility: visible;
    }

    body.jb-account-nav-enhanced .block-account-navigation .list > li {
        border-right: 0;
    }
}

.html-account-page .customer-info-page .jb-date-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

@media (max-width: 520px) {
    .html-account-page .customer-info-page .jb-date-fields {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }
}

.html-login-page,
.html-registration-page {
    background: #f2f2f2;
}

.html-login-page .master-wrapper-content,
.html-registration-page .master-wrapper-content {
    max-width: 1200px;
}

.html-login-page .login-page,
.html-registration-page .registration-page {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 34px 20px 52px;
}

.html-registration-page .registration-page {
    max-width: 1040px;
}

.html-login-page .login-page .page-title,
.html-registration-page .registration-page .page-title {
    min-height: 0;
    margin: 0 0 20px;
    border: 0;
    border-bottom: 1px solid #d8d8d8;
    padding: 0 0 14px;
    text-align: left;
}

.html-login-page .login-page .page-title h1,
.html-registration-page .registration-page .page-title h1 {
    margin: 0;
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.15;
    text-transform: uppercase;
}

.html-login-page .login-page .page-body,
.html-registration-page .registration-page .page-body {
    margin: 0;
}

.html-login-page .login-page .customer-blocks {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    align-items: stretch;
    gap: 24px;
    margin: 0;
}

.html-login-page .login-page .new-wrapper,
.html-login-page .login-page .returning-wrapper,
.html-registration-page .registration-page .fieldset {
    box-sizing: border-box;
    min-width: 0;
    margin: 0;
    border: 0;
    border-left: 2px solid var(--jb-accent);
    border-radius: 0;
    padding: 28px 30px;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04);
}

.html-login-page .login-page .new-wrapper,
.html-login-page .login-page .returning-wrapper {
    float: none;
    width: auto;
}

.html-login-page .login-page .returning-wrapper {
    order: 2;
}

.html-login-page .login-page .returning-wrapper {
    border-left: 0;
}

.html-login-page .login-page .returning-wrapper form {
    display: flex;
    min-height: 100%;
    flex-direction: column;
}

.html-login-page .login-page .new-wrapper {
    display: flex;
    flex-direction: column;
    order: 1;
}

.html-login-page .login-page .new-wrapper .buttons {
    margin-top: auto;
}

.html-login-page .login-page .title,
.html-registration-page .registration-page .fieldset > .title {
    margin: 0 0 18px;
    border: 0;
    border-bottom: 1px dashed #cfcfcf;
    padding: 0 0 11px;
    background: transparent;
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
}

.html-login-page .login-page .returning-wrapper .title {
    border-bottom: 0;
    padding-bottom: 0;
}

.html-login-page .login-page .text,
.html-login-page .login-page .topic-block,
.html-login-page .login-page .topic-block-body {
    color: #6a7177;
    font-family: "Lato", Arial, sans-serif;
    font-size: 0.95rem;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.html-login-page .login-page .form-fields,
.html-registration-page .registration-page .form-fields {
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
    background: transparent;
}

.html-login-page .login-page .inputs,
.html-registration-page .registration-page .inputs {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px 12px;
    min-width: 0;
    margin: 0 0 15px;
    text-align: left;
    white-space: normal;
}

.html-login-page .login-page .inputs > label:first-child,
.html-registration-page .registration-page .inputs > label:first-of-type {
    position: static;
    box-sizing: border-box;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    color: #30363c;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.82rem;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
    opacity: 1;
    visibility: visible;
    overflow: visible;
    clip: auto;
    transform: none;
}

.html-login-page .login-page input[type="text"],
.html-login-page .login-page input[type="email"],
.html-login-page .login-page input[type="tel"],
.html-login-page .login-page input[type="password"],
.html-registration-page .registration-page input[type="text"],
.html-registration-page .registration-page input[type="email"],
.html-registration-page .registration-page input[type="tel"],
.html-registration-page .registration-page input[type="password"],
.html-registration-page .registration-page select,
.html-registration-page .registration-page textarea {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
    min-height: 44px;
    margin: 0;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 10px 12px;
    background: #f0f0f0;
    color: #626970;
    font-family: "Lato", Arial, sans-serif;
}

.html-login-page .login-page input:focus,
.html-registration-page .registration-page input:focus,
.html-registration-page .registration-page select:focus,
.html-registration-page .registration-page textarea:focus {
    border-color: var(--jb-accent);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(53, 214, 180, 0.16);
}

.html-login-page .login-page .login-password {
    position: relative;
    min-width: 0;
}

.html-login-page .login-page .login-password input {
    padding-right: 46px;
}

.html-login-page .login-page .password-eye {
    position: absolute;
    top: 50%;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    color: #747b81;
    cursor: pointer;
    transform: translateY(-50%);
}

.html-login-page .login-page .password-eye::before {
    content: "\f06e";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.html-login-page .login-page .password-eye.password-eye-open::before {
    content: "\f070";
}

.html-login-page .login-page .inputs.reversed {
    display: flex;
    grid-template-columns: none;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

.html-login-page .login-page .inputs.reversed > label {
    width: auto;
    margin: 0;
    font-family: "Lato", Arial, sans-serif;
    font-size: 0.9rem;
    text-transform: none;
}

.html-login-page .login-page .forgot-password {
    margin-left: auto;
    white-space: normal;
}

.html-login-page .login-page input[type="checkbox"],
.html-registration-page .registration-page input[type="checkbox"],
.html-registration-page .registration-page input[type="radio"] {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: var(--jb-accent);
}

.html-login-page .login-page .field-validation-error,
.html-registration-page .registration-page .field-validation-error,
.html-registration-page .registration-page .field-validation-valid,
.html-registration-page .registration-page .vat-note,
.html-registration-page .registration-page .phone-info,
.html-registration-page .registration-page .please-wait {
    grid-column: 2 / -1;
    min-width: 0;
    font-size: 0.82rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.html-login-page .login-page .message-error,
.html-registration-page .registration-page .message-error {
    margin: 0 0 18px;
    border-left: 3px solid #c94747;
    padding: 12px 14px;
    background: #fff4f4;
    color: #9f3535;
    text-align: left;
}

.html-login-page .login-page .buttons,
.html-registration-page .registration-page .buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 20px 0 0;
    text-align: left;
}

.html-login-page .login-page .returning-wrapper .buttons {
    justify-content: center;
    margin-top: auto;
    border-top: 1px dashed #cfcfcf;
    padding-top: 26px;
}

.html-login-page .login-page .button-1,
.html-login-page .login-page .mode-button,
.html-registration-page .registration-page .register-next-step-button {
    min-height: 44px;
    border: 1px solid var(--jb-accent);
    border-radius: 0;
    padding: 10px 24px;
    background: var(--jb-accent);
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.92rem;
    font-weight: 400;
    text-transform: uppercase;
}

.html-login-page .login-page .new-wrapper .button-1,
.html-login-page .login-page .mode-button {
    border-color: #d5d5d5;
    background: #f2f2f2;
    color: #3f464c;
}

.html-login-page .login-page .login-button:hover,
.html-login-page .login-page .login-button:focus-visible,
.html-registration-page .registration-page .register-next-step-button:hover,
.html-registration-page .registration-page .register-next-step-button:focus-visible {
    border-color: var(--jb-accent-dark);
    background: var(--jb-accent-dark);
}

.html-login-page .login-page .external-authentication,
.html-registration-page .registration-page .external-authentication {
    max-width: 720px;
    margin: 24px auto 0;
    overflow-wrap: anywhere;
}

.html-registration-page .registration-page form {
    display: grid;
    gap: 20px;
}

.html-registration-page .registration-page .gender,
.html-registration-page .registration-page .attributes ul,
.html-registration-page .registration-page .accept-consent {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    min-width: 0;
}

.html-registration-page .registration-page .jb-auth-date-fields {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.html-registration-page .registration-page .inputs > .attributes:first-child {
    grid-column: 1 / -1;
}

.html-registration-page .registration-page .attributes ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.html-registration-page .registration-page .inputs.accept-consent {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
}

.html-registration-page .registration-page .accept-consent label {
    width: auto;
    margin: 0;
    font-family: "Lato", Arial, sans-serif;
    font-size: 0.9rem;
    line-height: 1.45;
    text-align: left;
    text-transform: none;
}

@media (min-width: 1001px) {
    .html-registration-page .registration-page .inputs:not(.accept-consent) {
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr) 18px;
        align-items: center;
        gap: 6px 12px;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > label[for] {
        position: static;
        grid-column: 1;
        grid-row: 1;
        display: block;
        width: 180px;
        min-width: 180px;
        margin: 0;
        padding: 0;
        background: transparent;
        color: #30363c;
        text-align: left;
        opacity: 1;
        visibility: visible;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
    .html-registration-page .registration-page .inputs:not(.accept-consent) > select,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > textarea,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .gender,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .jb-auth-date-fields,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .form-input-wrapper {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        min-width: 0;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > nop-required,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .required {
        grid-column: 3;
        grid-row: 1;
        margin: 0;
        text-align: center;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > .field-validation-error,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .field-validation-valid,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .vat-note,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .please-wait {
        grid-column: 2 / -1;
        grid-row: 2;
        margin-top: 0;
    }

    .html-registration-page .registration-page .inputs > .attributes:first-child {
        grid-column: 1 / -1;
    }

    .html-login-page .login-page .returning-wrapper .inputs:not(.reversed) {
        display: block;
        margin-bottom: 18px;
    }

    .html-login-page .login-page .returning-wrapper .inputs:not(.reversed) > label:first-child {
        display: block;
        width: auto;
        margin: 0 0 8px;
    }

    .html-login-page .login-page .returning-wrapper .inputs:not(.reversed) > input,
    .html-login-page .login-page .returning-wrapper .login-password {
        display: block;
        width: 100%;
    }

    .html-login-page .login-page .returning-wrapper .field-validation-error,
    .html-login-page .login-page .returning-wrapper .field-validation-valid {
        display: block;
        margin-top: 5px;
    }
}

@media (max-width: 1000px) {
    .html-login-page .login-page,
    .html-registration-page .registration-page {
        padding: 24px 20px 40px;
    }

    .html-login-page .login-page .customer-blocks {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .html-login-page .login-page .returning-wrapper {
        order: 1;
    }

    .html-login-page .login-page .new-wrapper {
        order: 2;
    }
}

@media (max-width: 640px) {
    .html-login-page .login-page,
    .html-registration-page .registration-page {
        width: 100%;
        padding: 20px 12px 34px;
        overflow-x: clip;
    }

    .html-login-page .login-page .page-title h1,
    .html-registration-page .registration-page .page-title h1 {
        font-size: 1.65rem;
    }

    .html-login-page .login-page .new-wrapper,
    .html-login-page .login-page .returning-wrapper,
    .html-registration-page .registration-page .fieldset {
        padding: 22px 16px;
    }

    .html-login-page .login-page .inputs,
    .html-registration-page .registration-page .inputs,
    .html-registration-page .registration-page .date-of-birth {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
    }

    .html-login-page .login-page .inputs > label:first-child,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > label[for],
    .html-login-page .login-page .login-password,
    .html-registration-page .registration-page .gender,
    .html-registration-page .registration-page .jb-auth-date-fields {
        grid-column: 1 / -1;
    }

    .html-login-page .login-page .inputs > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .html-registration-page .registration-page .inputs > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .html-registration-page .registration-page .inputs > select,
    .html-registration-page .registration-page .inputs > textarea {
        grid-column: 1;
    }

    .html-login-page .login-page .field-validation-error,
    .html-registration-page .registration-page .field-validation-error,
    .html-registration-page .registration-page .field-validation-valid,
    .html-registration-page .registration-page .vat-note,
    .html-registration-page .registration-page .phone-info,
    .html-registration-page .registration-page .please-wait {
        grid-column: 1 / -1;
    }

    .html-login-page .login-page .inputs.reversed {
        display: flex;
        grid-template-columns: none;
    }

    .html-login-page .login-page .forgot-password {
        grid-column: auto;
        margin-left: auto;
        padding-left: 0;
    }

    .html-registration-page .registration-page .jb-auth-date-fields {
        grid-template-columns: 1fr;
    }

    .html-login-page .login-page .button-1,
    .html-registration-page .registration-page .register-next-step-button {
        width: 100%;
    }
}

/* =========================================
   SECONDARY ACCOUNT PAGES
   ========================================= */
.html-account-page .account-page:not(.customer-info-page) .page-body,
.jb-account-content,
.jb-account-panel,
.jb-auth-panel {
    box-sizing: border-box;
    min-width: 0;
    border-left: 2px solid var(--jb-accent);
    padding: 28px 30px;
    background: #ffffff;
}

.html-account-page .account-page:not(.customer-info-page) .page-body {
    color: #626970;
    text-align: left;
}

.html-account-page .account-page:not(.customer-info-page) .page-body > :first-child {
    margin-top: 0;
}

.html-account-page .account-page:not(.customer-info-page) .description,
.html-account-page .account-page:not(.customer-info-page) .info,
.html-account-page .account-page:not(.customer-info-page) .result,
.html-account-page .account-page:not(.customer-info-page) .reward-points-overview {
    margin: 0 0 20px;
    color: #687078;
    font-size: 0.95rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.html-account-page .account-page:not(.customer-info-page) .section,
.html-account-page .account-page:not(.customer-info-page) .fieldset {
    min-width: 0;
    margin: 0 0 22px;
    border: 0;
    padding: 0;
    background: transparent;
}

.html-account-page .account-page:not(.customer-info-page) .section > .title,
.html-account-page .account-page:not(.customer-info-page) .fieldset > .title,
.jb-account-panel > .title,
.jb-auth-panel > .title {
    margin: 0 0 16px;
    border: 0;
    border-bottom: 1px dashed #cfcfcf;
    padding: 0 0 10px;
    background: transparent;
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 1.25;
    text-align: left;
    text-transform: uppercase;
}

.html-account-page .account-page:not(.customer-info-page) .form-fields {
    min-width: 0;
    margin: 0;
    border: 0;
    padding: 0;
    background: transparent;
}

.html-account-page .account-page:not(.customer-info-page) .inputs {
    min-width: 0;
    margin: 0 0 15px;
    text-align: left;
    white-space: normal;
}

.html-account-page .account-page:not(.customer-info-page) input[type="text"],
.html-account-page .account-page:not(.customer-info-page) input[type="email"],
.html-account-page .account-page:not(.customer-info-page) input[type="tel"],
.html-account-page .account-page:not(.customer-info-page) input[type="password"],
.html-account-page .account-page:not(.customer-info-page) input[type="file"],
.html-account-page .account-page:not(.customer-info-page) select,
.html-account-page .account-page:not(.customer-info-page) textarea {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 42px;
    border: 1px solid transparent;
    border-radius: 0;
    padding: 9px 12px;
    background: #f0f0f0;
    color: #626970;
}

.html-account-page .account-page:not(.customer-info-page) input:focus,
.html-account-page .account-page:not(.customer-info-page) select:focus,
.html-account-page .account-page:not(.customer-info-page) textarea:focus {
    border-color: var(--jb-accent);
    outline: 0;
    box-shadow: 0 0 0 2px rgba(53, 214, 180, 0.16);
}

.html-account-page .account-page:not(.customer-info-page) input[type="checkbox"],
.html-account-page .account-page:not(.customer-info-page) input[type="radio"] {
    width: 17px;
    height: 17px;
    accent-color: var(--jb-accent);
}

.html-account-page .account-page:not(.customer-info-page) .field-validation-error,
.html-account-page .account-page:not(.customer-info-page) .field-validation-valid,
.html-account-page .account-page:not(.customer-info-page) .warning,
.html-account-page .account-page:not(.customer-info-page) .warnings {
    min-width: 0;
    font-size: 0.84rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.html-account-page .account-page:not(.customer-info-page) .message-error,
.html-account-page .account-page:not(.customer-info-page) .message-success {
    margin: 0 0 18px;
    border-left: 3px solid #c94747;
    padding: 12px 14px;
    background: #fff4f4;
    color: #9f3535;
    text-align: left;
    overflow-wrap: anywhere;
}

.html-account-page .account-page:not(.customer-info-page) .message-success {
    border-left-color: var(--jb-accent);
    background: #eefaf7;
    color: #197f69;
}

.html-account-page .account-page:not(.customer-info-page) .buttons,
.html-account-page .account-page:not(.customer-info-page) .actions,
.jb-account-actions,
.jb-auth-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 18px 0 0;
    text-align: left;
}

.html-account-page .account-page:not(.customer-info-page) .button-1,
.html-account-page .account-page:not(.customer-info-page) .button-2,
.jb-account-actions .button-1,
.jb-account-actions .button-2,
.jb-auth-actions .button-1,
.jb-auth-actions .button-2 {
    min-height: 42px;
    border: 1px solid var(--jb-accent);
    border-radius: 0;
    padding: 9px 22px;
    background: var(--jb-accent);
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.9rem;
    font-weight: 400;
    text-transform: uppercase;
}

.html-account-page .account-page:not(.customer-info-page) .button-2,
.jb-account-actions .button-2,
.jb-auth-actions .button-2 {
    border-color: #d5d5d5;
    background: #f2f2f2;
    color: #454c52;
}

.html-account-page .account-page:not(.customer-info-page) .button-1:hover,
.html-account-page .account-page:not(.customer-info-page) .button-1:focus-visible {
    border-color: var(--jb-accent-dark);
    background: var(--jb-accent-dark);
}

.html-account-page .account-page .table-wrapper,
.jb-account-table {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid #dddddd;
    background: #ffffff;
}

.html-account-page .account-page .data-table,
.html-account-page .account-page .cart,
.jb-account-table table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
}

.html-account-page .account-page .data-table th,
.html-account-page .account-page .cart th,
.jb-account-table th {
    border: 0;
    padding: 12px;
    background: #272d33;
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
}

.html-account-page .account-page .data-table td,
.html-account-page .account-page .cart td,
.jb-account-table td {
    border: 0;
    border-bottom: 1px solid #e2e2e2;
    padding: 12px;
    color: #626970;
    text-align: left;
    vertical-align: top;
}

.html-account-page .account-page .address-list .section,
.html-account-page .account-page .order-list .order-item,
.html-account-page .account-page .product-review-item,
.html-account-page .account-page .recurring-payments .section {
    margin: 0 0 16px;
    border: 1px solid #dedede;
    padding: 18px 20px;
    background: #fafafa;
}

.html-account-page .account-page .order-item .title,
.html-account-page .account-page .address-list .title,
.html-account-page .account-page .product-review-item .review-title {
    margin: 0 0 12px;
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
}

.html-account-page .account-page .no-data,
.jb-account-empty {
    margin: 0;
    border: 1px dashed #cccccc;
    padding: 28px 20px;
    background: #fafafa;
    color: #737a80;
    line-height: 1.5;
    text-align: center;
}

.html-account-page .avatar-page .image {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 18px;
    border: 1px solid #dddddd;
    padding: 12px;
    background: #fafafa;
}

.html-account-page .reward-points-overview .current-balance {
    color: #20252b;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.15rem;
}

.jb-auth-page {
    box-sizing: border-box;
    max-width: 1040px;
    margin: 0 auto;
}

@media (min-width: 1001px) {
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs {
        display: grid;
        grid-template-columns: 170px minmax(0, 1fr) 18px;
        align-items: center;
        gap: 6px 12px;
    }

    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > label[for] {
        grid-column: 1;
        width: 170px;
        min-width: 170px;
        margin: 0;
        color: #30363c;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 0.82rem;
        line-height: 1.3;
        text-align: left;
        text-transform: uppercase;
    }

    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > select,
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > textarea,
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > .form-input-wrapper {
        grid-column: 2;
        width: 100%;
        min-width: 0;
    }

    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > .required,
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > nop-required {
        grid-column: 3;
        margin: 0;
    }

    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > .field-validation-error,
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > .field-validation-valid,
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > .warning,
    .html-account-page .account-page:not(.customer-info-page) .fieldset .inputs > .warnings {
        grid-column: 2 / -1;
    }
}

@media (max-width: 1000px) {
    .html-account-page .account-page:not(.customer-info-page) .page-body,
    .jb-account-content,
    .jb-account-panel,
    .jb-auth-panel {
        padding: 22px 18px;
    }

    .html-account-page .account-page:not(.customer-info-page) .inputs > label[for] {
        display: block;
        width: auto;
        margin: 0 0 7px;
        color: #30363c;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 0.82rem;
        text-align: left;
        text-transform: uppercase;
    }

    .html-account-page .account-page:not(.customer-info-page) .inputs input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .html-account-page .account-page:not(.customer-info-page) .inputs select,
    .html-account-page .account-page:not(.customer-info-page) .inputs textarea,
    .html-account-page .account-page:not(.customer-info-page) .inputs .form-input-wrapper {
        width: 100%;
        min-width: 0;
    }
}

@media (max-width: 520px) {
    .html-account-page .account-page:not(.customer-info-page) .page-body,
    .jb-account-content,
    .jb-account-panel,
    .jb-auth-panel {
        padding: 18px 14px;
    }

    .html-account-page .account-page:not(.customer-info-page) .buttons,
    .html-account-page .account-page:not(.customer-info-page) .actions,
    .jb-account-actions,
    .jb-auth-actions {
        flex-direction: column;
    }

    .html-account-page .account-page:not(.customer-info-page) .button-1,
    .html-account-page .account-page:not(.customer-info-page) .button-2,
    .jb-account-actions .button-1,
    .jb-account-actions .button-2,
    .jb-auth-actions .button-1,
    .jb-auth-actions .button-2 {
        width: 100%;
    }
}

/* Address, order history, and password form corrections. */
.html-account-page .address-list-page .address-item > .title,
.html-account-page .order-list-page .order-item > .title {
    margin: 0;
    border: 0;
    border-bottom: 1px dotted #cfcfcf;
    padding: 0 0 11px;
}

.html-account-page .address-list-page .address-item > .info,
.html-account-page .order-list-page .order-item > .info {
    margin: 0;
    border: 0;
    padding: 16px 0 4px;
    background: transparent;
}

.html-account-page .address-list-page .address-item > .buttons,
.html-account-page .order-list-page .order-item > .buttons {
    position: static;
    top: auto;
    right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin: 14px 0 0;
    border: 0;
    padding: 0;
}

.html-account-page .address-list-page .address-item > .buttons .button-2,
.html-account-page .order-list-page .order-item > .buttons .button-2 {
    margin: 0;
    background-image: none;
}

@media (min-width: 1001px) {
    .html-account-page .change-password-page .jb-change-password-field {
        display: grid;
        grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) 18px;
        align-items: start;
        gap: 8px 20px;
        min-width: 0;
        margin-bottom: 18px;
        text-align: left;
        white-space: normal;
    }

    .html-account-page .change-password-page .jb-change-password-field > .jb-account-field-label {
        position: static;
        grid-column: 1;
        grid-row: 1;
        display: block;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        min-height: 42px;
        margin: 0;
        padding: 11px 12px 0 0;
        color: #30363c;
        font-family: "Fjalla One", Arial, sans-serif;
        font-size: 0.82rem;
        line-height: 1.35;
        text-align: right;
        white-space: normal;
        overflow: visible;
        overflow-wrap: anywhere;
    }

    .html-account-page .change-password-page .jb-change-password-field > .jb-account-field-control {
        position: static;
        grid-column: 2;
        grid-row: 1;
        display: block;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0;
    }

    .html-account-page .change-password-page .jb-change-password-field > .jb-account-field-control input,
    .html-account-page .change-password-page .jb-change-password-field > input.jb-account-field-control {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0;
    }

    .html-account-page .change-password-page .jb-change-password-field > nop-required,
    .html-account-page .change-password-page .jb-change-password-field > .required {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        margin: 0;
    }

    .html-account-page .change-password-page .jb-change-password-field > .field-validation-error,
    .html-account-page .change-password-page .jb-change-password-field > .field-validation-valid {
        grid-column: 2 / -1;
        grid-row: 2;
        margin: 0;
    }

    .html-account-page.html-change-password-page .change-password-page .fieldset .inputs,
    .html-account-page .change-password-page .fieldset .inputs {
        display: grid;
        grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) 18px;
        align-items: center;
        gap: 6px 18px;
        min-width: 0;
        white-space: normal;
    }

    .html-account-page.html-change-password-page .change-password-page .fieldset .inputs > label[for],
    .html-account-page.html-change-password-page .change-password-page .fieldset .inputs > label:first-of-type,
    .html-account-page .change-password-page .fieldset .inputs > label[for],
    .html-account-page .change-password-page .fieldset .inputs > label:first-of-type {
        position: static;
        grid-column: 1;
        grid-row: 1;
        display: block;
        justify-self: end;
        align-self: center;
        box-sizing: border-box;
        width: auto;
        min-width: 0;
        max-width: 100%;
        min-height: 0;
        margin: 0;
        padding: 0 14px 0 0;
        color: #30363c;
        line-height: 1.3;
        text-align: right !important;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .html-account-page .change-password-page .fieldset .inputs > input:not([type="hidden"]),
    .html-account-page .change-password-page .fieldset .inputs > .form-input-wrapper {
        grid-column: 2;
        grid-row: 1;
        display: block;
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0;
    }

    .html-account-page .change-password-page .fieldset .inputs > .form-input-wrapper > input {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0;
    }

    .html-account-page .change-password-page .fieldset .inputs > nop-required,
    .html-account-page .change-password-page .fieldset .inputs > .required {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
        margin: 0;
    }

    .html-account-page .change-password-page .fieldset .inputs > .field-validation-error,
    .html-account-page .change-password-page .fieldset .inputs > .field-validation-valid {
        grid-column: 2 / -1;
        grid-row: 2;
        margin: 0;
    }
}

@media (max-width: 1000px) {
    .html-account-page .change-password-page .jb-change-password-field > .jb-account-field-label {
        position: static;
        display: block;
        width: auto;
        min-width: 0;
        margin: 0 0 8px;
        padding: 0;
        white-space: normal;
    }

    .html-account-page .change-password-page .jb-change-password-field > .jb-account-field-control,
    .html-account-page .change-password-page .jb-change-password-field > .jb-account-field-control input {
        box-sizing: border-box;
        display: block;
        width: 100%;
        min-width: 0;
        max-width: none;
        margin: 0;
    }

    .html-account-page .change-password-page .fieldset .inputs > label[for] {
        display: block;
        width: auto;
        margin: 0 0 7px;
        white-space: normal;
    }

    .html-account-page .change-password-page .fieldset .inputs > input:not([type="hidden"]),
    .html-account-page .change-password-page .fieldset .inputs > .form-input-wrapper,
    .html-account-page .change-password-page .fieldset .inputs > .form-input-wrapper > input {
        box-sizing: border-box;
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

.html-category-page .product-item.ai-job-product-card,
.html-search-page .product-item.ai-job-product-card,
.html-home-page .home-page .product-item.ai-job-product-card {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 14px 16px;
    border-radius: 8px;
    box-shadow: 0 10px 22px rgba(33, 43, 54, 0.08);
}

.html-home-page .home-page .product-item.ai-job-product-card {
    grid-template-columns: 68px minmax(0, 1fr) !important;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-media,
.html-search-page .product-item.ai-job-product-card .ai-job-card-media,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-media {
    flex: 0 0 68px;
    width: 68px;
    max-width: 68px;
    align-self: start;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-body,
.html-search-page .product-item.ai-job-product-card .ai-job-card-body,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-body {
    min-width: 0;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-logo,
.html-category-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
.html-search-page .product-item.ai-job-product-card .ai-job-card-logo,
.html-search-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder {
    width: 68px;
    height: 68px;
}

@media (max-width: 767px) {
    .html-category-page .product-item.ai-job-product-card,
    .html-search-page .product-item.ai-job-product-card,
    .html-home-page .home-page .product-item.ai-job-product-card {
        grid-template-columns: 60px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }

    .html-home-page .home-page .product-item.ai-job-product-card {
        grid-template-columns: 60px minmax(0, 1fr) !important;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-media,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-media,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-media {
        flex-basis: 60px;
        width: 60px;
        max-width: 60px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-category-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder {
        width: 60px;
        height: 60px;
    }
}

/* Prompt 66 job listing shell polish */
.html-category-page .master-column-wrapper,
.html-search-page .master-column-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 24px 24px;
    box-sizing: border-box;
}

.html-category-page .master-column-wrapper > .side-2 {
    flex: 0 0 232px;
    width: 232px;
    max-width: 232px;
}

.html-category-page .master-column-wrapper > .center-2,
.html-search-page .master-column-wrapper > .center-2 {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
}

.html-search-page .master-column-wrapper > .side-2 {
    display: none;
}

.html-search-page .master-column-wrapper > .center-2 {
    flex-basis: 100%;
    width: 100%;
}

.html-category-page .jb-job-listing-sidebar {
    display: grid;
    gap: 18px;
}

.html-category-page .jb-job-listing-sidebar > * {
    min-width: 0;
}

.html-category-page .side-2 .product-filters,
.html-search-page .side-2 .product-filters {
    margin: 0;
}

.html-category-page .side-2 .block-manufacturer-navigation,
.html-category-page .side-2 .block-vendor-navigation,
.html-category-page .side-2 .block-recently-viewed-products,
.html-category-page .side-2 .block-popular-tags,
.html-search-page .side-2 .block-category-navigation,
.html-search-page .side-2 .block-manufacturer-navigation,
.html-search-page .side-2 .block-vendor-navigation,
.html-search-page .side-2 .block-recently-viewed-products,
.html-search-page .side-2 .block-popular-tags {
    display: none;
}

@media (max-width: 1180px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        gap: 18px;
        padding: 0 18px 20px;
    }

    .html-category-page .master-column-wrapper {
        flex-direction: column;
    }

    .html-category-page .master-column-wrapper > .side-2,
    .html-category-page .master-column-wrapper > .center-2,
    .html-search-page .master-column-wrapper > .center-2 {
        width: 100%;
        max-width: none;
    }

    .html-category-page .master-column-wrapper > .side-2 {
        flex-basis: auto;
    }
}

@media (max-width: 767px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        gap: 16px;
        padding: 0 16px 16px;
    }
}

/* Prompt 67 live jobs visual density and CSS parity */
.html-category-page .master-column-wrapper,
.html-search-page .master-column-wrapper {
    gap: 20px;
    padding: 0 20px 20px;
}

.html-category-page .master-column-wrapper {
    flex-direction: row;
}

.html-category-page .master-column-wrapper > .side-2 {
    flex: 0 0 224px;
    width: 224px;
    max-width: 224px;
}

.html-category-page .page-title,
.html-search-page .page-title {
    margin: 0 auto 8px;
    padding: 0 20px;
}

.html-category-page .page-title h1,
.html-search-page .page-title h1 {
    padding-bottom: 4px;
    font-size: 1.82rem;
    line-height: 1.02;
}

.html-category-page .page-body,
.html-search-page .page-body {
    padding-bottom: 8px;
}

.html-category-page .category-description,
.html-search-page .search-results {
    margin-bottom: 12px;
}

.html-category-page .side-2 .product-filters,
.html-search-page .side-2 .product-filters {
    border-radius: 8px;
}

.html-category-page .product-filter,
.html-search-page .product-filter {
    padding: 16px 16px 12px;
}

.html-category-page .product-filter .filter-title,
.html-search-page .product-filter .filter-title {
    margin: 0 0 12px;
    padding: 0 0 8px;
    font-size: 1rem;
}

.html-category-page .product-filter .filter-title::after,
.html-search-page .product-filter .filter-title::after {
    width: 48px;
    height: 2px;
}

.html-category-page .product-filter .group + .group,
.html-search-page .product-filter .group + .group {
    margin-top: 16px;
}

.html-category-page .product-filter .item,
.html-search-page .product-filter .item {
    gap: 8px;
    margin: 0 0 9px;
}

.html-category-page .product-selectors,
.html-search-page .product-selectors {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 10px;
    padding: 0;
}

.html-category-page .product-selectors > div,
.html-search-page .product-selectors > div {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}

.html-category-page .product-selectors span,
.html-search-page .product-selectors span {
    color: #6b7280;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.html-category-page .product-selectors select,
.html-search-page .product-selectors select {
    min-width: 116px;
    min-height: 36px;
    padding: 6px 30px 6px 10px;
    border-color: #d7e0e4;
    background: #ffffff;
    color: #1f2937;
    font-size: 0.84rem;
}

.html-category-page .product-viewmode a,
.html-search-page .product-viewmode a {
    min-width: 36px;
    min-height: 36px;
    padding: 6px;
}

.jb-filter-panel-toggle {
    width: auto;
    min-height: 42px;
    margin: 0 0 10px;
    padding: 0 14px;
    border: 1px solid #d7e0e4;
    border-radius: 6px;
    background: #ffffff;
    color: #1f2937;
    font-size: 0.92rem;
    gap: 10px;
}

.html-category-page .product-item.ai-job-product-card,
.html-search-page .product-item.ai-job-product-card,
.html-home-page .home-page .product-item.ai-job-product-card {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    min-height: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

/* AI interview job cards sit inside item-box wrappers on listing pages, so suppress the inner card chrome to avoid double borders. */
.html-category-page .product-item.ai-job-product-card .ai-job-card-media,
.html-search-page .product-item.ai-job-product-card .ai-job-card-media,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-media {
    flex: 0 0 64px;
    width: 64px;
    max-width: 64px;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-logo,
.html-category-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
.html-search-page .product-item.ai-job-product-card .ai-job-card-logo,
.html-search-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder {
    width: 64px;
    height: 64px;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-body,
.html-search-page .product-item.ai-job-product-card .ai-job-card-body,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-body {
    gap: 6px;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-title-link,
.html-search-page .product-item.ai-job-product-card .ai-job-card-title-link,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-title-link {
    font-size: 1rem;
    line-height: 1.12;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-company,
.html-search-page .product-item.ai-job-product-card .ai-job-card-company,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-company {
    font-size: 0.84rem;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-summary,
.html-search-page .product-item.ai-job-product-card .ai-job-card-summary,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-summary {
    font-size: 0.82rem;
    line-height: 1.4;
    -webkit-line-clamp: 1;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-meta,
.html-search-page .product-item.ai-job-product-card .ai-job-card-meta,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-meta {
    gap: 2px 12px;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-spec,
.html-search-page .product-item.ai-job-product-card .ai-job-card-spec,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-spec {
    gap: 2px 5px;
    font-size: 0.78rem;
    line-height: 1.25;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-spec-label,
.html-search-page .product-item.ai-job-product-card .ai-job-card-spec-label,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-spec-label {
    font-size: 0.7rem;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-spec-icon,
.html-search-page .product-item.ai-job-product-card .ai-job-card-spec-icon,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-spec-icon {
    width: 12px;
    font-size: 0.72rem;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-view-job,
.html-search-page .product-item.ai-job-product-card .ai-job-card-view-job,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-view-job {
    min-height: 34px;
    padding: 7px 12px;
}

.html-category-page .product-item.ai-job-product-card .ai-job-card-save,
.html-search-page .product-item.ai-job-product-card .ai-job-card-save,
.html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-save {
    width: 34px;
    height: 34px;
}

@media (max-width: 1079px) {
    .html-category-page .master-column-wrapper,
    .html-search-page .master-column-wrapper {
        gap: 16px;
        padding: 0 16px 18px;
    }

    .html-category-page .master-column-wrapper {
        flex-direction: column;
    }

    .html-category-page .master-column-wrapper > .side-2,
    .html-category-page .master-column-wrapper > .center-2,
    .html-search-page .master-column-wrapper > .center-2 {
        width: 100%;
        max-width: none;
    }

    .html-category-page .master-column-wrapper > .side-2 {
        flex-basis: auto;
    }

    .html-category-page .product-selectors,
    .html-search-page .product-selectors {
        gap: 8px 12px;
        margin-bottom: 8px;
    }
}

@media (max-width: 767px) {
    .html-category-page .page-title,
    .html-search-page .page-title {
        margin-bottom: 6px;
        padding: 0 16px;
    }

    .html-category-page .page-title h1,
    .html-search-page .page-title h1 {
        font-size: 1.42rem;
        padding-bottom: 2px;
    }

    .html-category-page .product-selectors,
    .html-search-page .product-selectors {
        align-items: stretch;
        gap: 8px;
    }

    .html-category-page .product-selectors > div,
    .html-search-page .product-selectors > div {
        width: 100%;
        justify-content: space-between;
    }

    .html-category-page .product-selectors select,
    .html-search-page .product-selectors select {
        flex: 1 1 auto;
        min-width: 0;
    }

    .jb-filter-panel-toggle {
        margin-bottom: 8px;
        padding: 0 12px;
        font-size: 0.84rem;
    }

    .html-category-page .product-item.ai-job-product-card,
    .html-search-page .product-item.ai-job-product-card,
    .html-home-page .home-page .product-item.ai-job-product-card {
        grid-template-columns: 54px minmax(0, 1fr);
        gap: 8px;
        padding: 9px 10px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-media,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-media,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-media {
        flex-basis: 54px;
        width: 54px;
        max-width: 54px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-category-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-logo-placeholder {
        width: 54px;
        height: 54px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-meta,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-meta,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-meta {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 4px 12px;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-title-link,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-title-link,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-title-link {
        font-size: 0.94rem;
    }

    .html-category-page .product-item.ai-job-product-card .ai-job-card-summary,
    .html-search-page .product-item.ai-job-product-card .ai-job-card-summary,
    .html-home-page .home-page .product-item.ai-job-product-card .ai-job-card-summary {
        font-size: 0.78rem;
    }
}

/* Prompt 68 catalog specification filter groups */
.html-category-page .product-spec-filter.product-spec-filter-groups,
.html-search-page .product-spec-filter.product-spec-filter-groups {
    padding-top: 12px;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group {
    margin: 0;
    padding: 14px 16px 12px;
    border: 1px solid #d7e4e0;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.04);
    list-style: none;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group + .jb-spec-filter-group,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group + .jb-spec-filter-group {
    margin-top: 14px;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary {
    position: relative;
    display: block;
    margin: 0;
    padding: 0 28px 10px 0;
    cursor: pointer;
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1;
    text-transform: uppercase;
    list-style: none;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::-webkit-details-marker,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::-webkit-details-marker,
.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::marker,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::marker {
    display: none;
    content: "";
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::after,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d7e4e0;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::before,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary::before {
    content: "\f078";
    position: absolute;
    top: 0;
    right: 0;
    font-family: "Font Awesome 6 Free";
    font-size: 0.75rem;
    font-weight: 900;
    color: #4c4c4c;
    transition: transform 0.2s ease;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group[open] > .jb-spec-filter-summary::before,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group[open] > .jb-spec-filter-summary::before {
    transform: rotate(180deg);
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values {
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values .item,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values .item {
    padding: 4px 0;
}

.html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values .item:last-child,
.html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values .item:last-child {
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .html-category-page .product-spec-filter.product-spec-filter-groups,
    .html-search-page .product-spec-filter.product-spec-filter-groups {
        padding-top: 8px;
    }

    .html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group + .jb-spec-filter-group,
    .html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group + .jb-spec-filter-group {
        margin-top: 12px;
    }

    .html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group,
    .html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group {
        padding: 12px 14px 10px;
    }

    .html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary,
    .html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-summary {
        font-size: 0.94rem;
        padding-bottom: 7px;
    }

    .html-category-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values,
    .html-search-page .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values {
        margin-top: 10px;
    }
}

/* Prompt 69 stable catalog filter offcanvas mode */
body.html-category-page,
body.html-search-page {
    scrollbar-gutter: stable;
}

body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-toggle,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-toggle {
    display: inline-flex;
}

body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-header,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 64px;
    padding: 0 18px;
    border-bottom: 1px solid #e5e5e5;
    background: #ffffff;
}

body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-title,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-title {
    flex: 1 1 auto;
    min-width: 0;
    color: #202020;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.2rem;
    text-transform: uppercase;
}

body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-close,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-left: 12px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    color: #59636b;
    font-size: 2rem;
    font-family: Arial, sans-serif;
    font-weight: 400;
    line-height: 1;
    cursor: pointer;
    opacity: 1;
    visibility: visible;
    appearance: none;
    -webkit-appearance: none;
}

body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-close:hover,
body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-close:focus,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-close:hover,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-close:focus {
    background: rgba(53, 214, 180, 0.12);
    color: #0f766e;
    outline: none;
}

body.html-category-page.jb-filter-panel-mobile-mode .jb-filter-panel-overlay,
body.html-search-page.jb-filter-panel-mobile-mode .jb-filter-panel-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    z-index: 1007;
}

body.html-category-page.jb-filter-panel-mobile-mode .product-filters,
body.html-search-page.jb-filter-panel-mobile-mode .product-filters {
    position: fixed;
    top: 0;
    right: 0;
    left: auto;
    bottom: 0;
    width: 80vw;
    min-width: min(320px, 100vw);
    max-width: 80vw;
    height: 100dvh;
    margin: 0;
    padding: 0;
    border-left: 1px solid #dde4e8;
    border-right: 0;
    border-radius: 0;
    background: #ffffff !important;
    transform: translate3d(100%, 0, 0);
    transition: transform 0.25s ease;
    z-index: 1010;
    overflow-y: auto;
    overflow-x: hidden;
    box-shadow: -18px 0 40px rgba(0, 0, 0, 0.18);
    pointer-events: none;
    opacity: 1;
    visibility: visible;
    isolation: isolate;
    contain: paint;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    will-change: transform;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

body.html-category-page.jb-filter-panel-mobile-mode .product-filter,
body.html-search-page.jb-filter-panel-mobile-mode .product-filter {
    position: relative;
    z-index: 1;
    padding: 0 18px 18px;
    background: #ffffff !important;
}

body.html-category-page.jb-filter-panel-mobile-mode .product-filter + .product-filter,
body.html-search-page.jb-filter-panel-mobile-mode .product-filter + .product-filter {
    margin-top: 0;
    border-top: 1px solid #ececec;
    padding-top: 18px;
}

body.html-category-page.jb-filter-panel-mobile-mode .product-filter .filter-content,
body.html-search-page.jb-filter-panel-mobile-mode .product-filter .filter-content,
body.html-category-page.jb-filter-panel-mobile-mode .product-spec-filter.product-spec-filter-groups,
body.html-search-page.jb-filter-panel-mobile-mode .product-spec-filter.product-spec-filter-groups,
body.html-category-page.jb-filter-panel-mobile-mode .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group,
body.html-search-page.jb-filter-panel-mobile-mode .product-spec-filter.product-spec-filter-groups .jb-spec-filter-group,
body.html-category-page.jb-filter-panel-mobile-mode .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values,
body.html-search-page.jb-filter-panel-mobile-mode .product-spec-filter.product-spec-filter-groups .jb-spec-filter-values {
    background: #ffffff !important;
}

body.jb-filter-panel-mobile-mode.jb-filter-panel-open {
    overflow: hidden;
}

body.jb-filter-panel-mobile-mode.jb-filter-panel-open .jb-filter-panel-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

body.jb-filter-panel-mobile-mode.jb-filter-panel-open .product-filters {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
}

body.jb-filter-panel-mobile-mode.jb-filter-panel-open .item-box,
body.jb-filter-panel-mobile-mode.jb-filter-panel-open .product-item {
    transform: none !important;
    box-shadow: none !important;
}

.jb-pricing-category {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    --jb-pricing-surface: #ffffff;
    --jb-pricing-line: #d9e3df;
    --jb-pricing-strong: #0e1116;
    --jb-pricing-copy: #5f6773;
    --jb-pricing-recommended-line: #24b99a;
    --jb-pricing-shell: #f7fbfa;
}

.jb-pricing-category-page .master-column-wrapper {
    display: flex;
    justify-content: center;
}

.jb-pricing-category-page .master-column-wrapper > .center-1 {
    width: 100%;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
}

.jb-pricing-category-page .page.category-page,
.jb-pricing-category-page .page.category-page .page-body {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.jb-pricing-category .page-body {
    display: grid;
    gap: 20px;
}

.jb-pricing-category-description {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    color: var(--jb-pricing-copy);
    line-height: 1.65;
}

.jb-pricing-shell {
    width: min(100%, 980px);
    max-width: 980px;
    margin: 0 auto;
    justify-self: center;
    padding: 24px;
    border: 1px solid var(--jb-pricing-line);
    border-radius: 2px;
    background: var(--jb-pricing-shell);
    box-sizing: border-box;
}

.jb-pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.jb-pricing-empty-state {
    padding: 32px 24px;
    border: 1px solid var(--jb-pricing-line);
    border-radius: 6px;
    background: var(--jb-pricing-surface);
    text-align: center;
}

.jb-pricing-empty-state-title {
    margin: 0 0 10px;
    color: var(--jb-ink);
    font-size: 1.5rem;
}

.jb-pricing-empty-state-text {
    margin: 0;
    color: var(--jb-muted);
}

.jb-pricing-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    padding: 24px;
    border: 1px solid var(--jb-pricing-line);
    border-radius: 2px;
    background: var(--jb-pricing-surface);
    box-shadow: none;
}

.jb-pricing-card-recommended {
    border-color: var(--jb-pricing-recommended-line);
    outline: 3px solid rgba(53, 214, 180, .18);
    outline-offset: 0;
    transform: translateY(-8px);
    background: linear-gradient(180deg, #ffffff 0%, #eefbf8 100%);
}

.jb-pricing-card-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 5px 9px;
    background: #202323;
    color: #ffffff;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.jb-pricing-card-body {
    display: grid;
    gap: 16px;
}

.jb-pricing-card-title {
    margin: 0;
    padding-right: 92px;
    color: var(--jb-pricing-strong);
    font-size: clamp(1.3rem, 1.8vw, 1.7rem);
    line-height: 1.14;
    letter-spacing: -0.03em;
}

.jb-pricing-card-title a {
    color: var(--jb-pricing-strong);
    text-decoration: none;
}

.jb-pricing-card-title a:hover {
    color: var(--jb-accent-dark);
}

.jb-pricing-card-description {
    min-height: 56px;
    color: var(--jb-pricing-copy);
    font-size: 0.98rem;
    line-height: 1.5;
}

.jb-pricing-card-price-wrap {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 14px;
    margin-top: 18px;
    padding-bottom: 22px;
    border-bottom: 1px solid #e8eded;
}

.jb-pricing-card-old-price {
    color: #7d8590;
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: line-through;
}

.jb-pricing-card-price {
    color: var(--jb-pricing-strong);
    font-size: clamp(2rem, 3vw, 2.75rem);
    font-weight: 800;
    line-height: 1;
    letter-spacing: -0.04em;
}

.jb-pricing-category .jb-pricing-card-cta {
    width: 100%;
    min-height: 46px;
    margin-top: 24px;
    border: 1px solid var(--jb-accent);
    border-radius: 0;
    background: var(--jb-accent);
    color: var(--jb-white);
    padding: 12px 16px;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
    line-height: 1.1;
}

.jb-pricing-category .jb-pricing-card-cta:hover,
.jb-pricing-category .jb-pricing-card-cta:focus {
    background: var(--jb-accent-dark);
    border-color: var(--jb-accent-dark);
    color: var(--jb-white);
}

@media (max-width: 980px) {
    .jb-pricing-shell {
        padding: 24px;
    }

    .jb-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .jb-pricing-shell {
        padding: 18px;
    }

    .jb-pricing-grid {
        grid-template-columns: 1fr;
    }

    .jb-pricing-card {
        padding: 22px 18px;
        border-radius: 2px;
    }

    .jb-pricing-card-title {
        padding-right: 0;
    }

    .jb-pricing-card-recommended {
        transform: none;
    }

    .jb-pricing-card-badge {
        position: static;
        justify-self: start;
        margin-bottom: 8px;
        padding: 8px 14px;
        font-size: 0.92rem;
        letter-spacing: 0.1em;
    }

    .jb-pricing-card-description {
        min-height: 0;
    }
}

/* Phase 1 AI interview homepage landing content. */
.jb-home-landing {
    overflow-x: clip;
}

.html-home-page .master-wrapper-content {
    padding-bottom: 16px;
}

.jb-home-landing .page-body {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0 0 12px;
}

.jb-home-landing .page-body,
.jb-home-landing .page-body *,
.jb-home-landing .page-body *::before,
.jb-home-landing .page-body *::after {
    box-sizing: border-box;
}

.jb-home-landing .jb-home-hero {
    width: min(100%, 1200px);
    margin: 0 auto;
    padding: 32px 0 0;
    background: var(--jb-bg);
    color: var(--jb-ink);
    text-align: center;
}

.jb-home-landing .page-body > .nop-jw-wrapper,
.jb-home-landing .page-body > .jb-home-trust-strip,
.jb-home-landing .page-body > .jb-home-filters,
.jb-home-landing .page-body > .jb-home-native-components,
.jb-home-landing .page-body > .jb-home-topic-faq,
.jb-home-landing .page-body > .jb-home-final-cta,
.jb-home-landing .page-body > .home-page-news {
    width: min(100%, 1200px);
    margin: 32px auto 0;
}

.jb-home-landing .page-body > .nop-jw-wrapper:first-of-type {
    margin-top: 32px;
}

.jb-home-landing .jb-home-hero-shell {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    width: 100%;
    margin: 0 auto;
    border: 1px solid #dbe7e3;
    border-radius: 8px;
    padding: 48px;
    background: #ffffff;
    box-shadow: 0 18px 44px rgba(33, 43, 54, 0.08);
    overflow: hidden;
}

.jb-home-landing .jb-home-hero-shell::before,
.jb-home-landing .jb-home-hero-shell::after {
    content: none;
}

.jb-home-landing .jb-home-hero-content {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 18px;
    align-content: center;
    justify-items: center;
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
}

.jb-home-landing .jb-home-eyebrow {
    margin: 0;
    color: #178d75;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.84rem;
    letter-spacing: 0.08em;
    line-height: 1.1;
    text-transform: uppercase;
}

.jb-home-landing .jb-home-hero h1,
.jb-home-landing .jb-home-section-head h2,
.jb-home-landing .jb-home-feature-card h3,
.jb-home-landing .jb-home-step-card h3,
.jb-home-landing .jb-home-final-cta h2 {
    margin: 0;
    color: var(--jb-ink);
    font-family: "Fjalla One", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.jb-home-landing .jb-home-hero h1 {
    max-width: 18ch;
    font-size: clamp(2.4rem, 4vw, 3.15rem);
    line-height: 1;
    text-align: center;
}

.jb-home-landing .jb-home-hero-copy,
.jb-home-landing .jb-home-section-head p,
.jb-home-landing .jb-home-feature-card p,
.jb-home-landing .jb-home-step-card p,
.jb-home-landing .jb-home-topic-faq p,
.jb-home-landing .jb-home-topic-faq li,
.jb-home-landing .jb-home-final-cta p {
    margin: 0;
    color: #5f6773;
    font-family: "Lato", Arial, sans-serif;
    line-height: 1.65;
}

.jb-home-landing .jb-home-hero-copy {
    max-width: 600px;
    text-align: center;
}

.jb-home-landing .jb-home-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}

.jb-home-landing .jb-home-search-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

.jb-home-landing .jb-home-search-form .search-box-text {
    width: 100%;
    min-width: 0;
    height: 52px;
    padding: 0 16px;
    border: 1px solid #cfdbd7;
    border-radius: 6px;
    background: #ffffff;
    color: var(--jb-ink);
    font-family: "Lato", Arial, sans-serif;
    font-size: 1rem;
    outline: none;
}

.jb-home-landing .jb-home-search-form .search-box-text:focus {
    border-color: var(--jb-accent);
    box-shadow: 0 0 0 3px rgba(53, 214, 180, 0.18);
}

.jb-home-landing .jb-home-search-form .search-box-button,
.jb-home-landing .jb-home-button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border: 1px solid var(--jb-accent);
    border-radius: 6px;
    background: var(--jb-accent);
    color: var(--jb-white);
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.jb-home-landing .jb-home-search-form .search-box-button:hover,
.jb-home-landing .jb-home-search-form .search-box-button:focus,
.jb-home-landing .jb-home-button-primary:hover,
.jb-home-landing .jb-home-button-primary:focus {
    background: var(--jb-accent-dark);
    border-color: var(--jb-accent-dark);
    color: var(--jb-white);
}

.jb-home-landing .jb-home-button-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 0 22px;
    border: 1px solid #cfdbd7;
    border-radius: 6px;
    background: #ffffff;
    color: var(--jb-ink);
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.jb-home-landing .jb-home-button-secondary:hover,
.jb-home-landing .jb-home-button-secondary:focus {
    border-color: var(--jb-accent);
    color: var(--jb-accent-dark);
}

.jb-home-landing .jb-home-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.jb-home-landing .jb-home-hero-actions a,
.jb-home-landing .jb-home-final-actions a {
    min-width: 190px;
}

.jb-home-landing .jb-home-section {
    width: min(100%, 1200px);
    margin: 32px auto 0;
    border: 1px solid #d8e5e0;
    border-radius: 8px;
    padding: 32px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(33, 43, 54, 0.04);
}

.jb-home-landing .jb-home-section-head {
    display: grid;
    gap: 10px;
    justify-items: center;
    margin: 0 auto 24px;
    text-align: center;
}

.jb-home-landing .jb-home-section-head p {
    max-width: 720px;
}

.jb-home-landing .jb-home-trust-strip {
    border-left: 4px solid var(--jb-accent);
}

.jb-home-landing .jb-home-trust-pills {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.jb-home-landing .jb-home-trust-pills span {
    display: inline-flex;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid #d5e5e1;
    border-radius: 999px;
    background: #f7fbfa;
    color: #176f5e;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    line-height: 1;
    text-transform: uppercase;
}

.jb-home-landing .jb-home-filters {
    width: min(100%, 1200px);
    margin: 32px auto 0;
}

.jb-home-landing .jb-home-native-components {
    width: min(100%, 1200px);
    margin: 32px auto 0;
}

.jb-home-landing .jb-home-native-components > *:first-child {
    margin-top: 0;
}

.jb-home-landing .jb-home-categories-section,
.jb-home-landing .jb-home-steps-section {
    background: #f9fdfc;
}

.jb-home-landing .jb-home-featured-jobs,
.jb-home-landing .jb-home-feature-section {
    background: #ffffff;
}

.jb-home-landing .jb-home-category-component,
.jb-home-landing .jb-home-products-component,
.jb-home-landing .jb-home-bestsellers-component {
    margin-top: 0;
}

.jb-home-landing .jb-home-category-component .home-page-category-grid,
.jb-home-landing .jb-home-products-component .home-page-product-grid,
.jb-home-landing .jb-home-bestsellers-component .bestsellers {
    margin: 0;
}

.jb-home-landing .jb-home-products-component .home-page-product-grid > .title {
    display: none;
}

.jb-home-landing .jb-home-category-component .title,
.jb-home-landing .jb-home-bestsellers-component > .bestsellers > .title {
    margin-bottom: 18px;
}

.jb-home-landing .jb-home-category-component .item-grid,
.jb-home-landing .jb-home-products-component .item-grid,
.jb-home-landing .jb-home-bestsellers-component .item-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    margin: 0;
}

.jb-home-landing .jb-home-category-component .item-box,
.jb-home-landing .jb-home-products-component .item-box,
.jb-home-landing .jb-home-bestsellers-component .item-box {
    width: 100%;
    max-width: none;
    margin: 0;
    float: none;
}

.jb-home-landing .jb-home-category-component .item-box {
    border: 1px solid #dce7e2;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(27, 39, 35, 0.04);
    overflow: hidden;
}

.jb-home-landing .jb-home-category-component .category-item {
    height: 100%;
}

.jb-home-landing .jb-home-category-component .picture {
    margin: 0;
    background: #eef8f5;
}

.jb-home-landing .jb-home-category-component .picture a {
    display: block;
    aspect-ratio: 16 / 10;
}

.jb-home-landing .jb-home-category-component .picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.jb-home-landing .jb-home-category-component .title {
    padding: 18px 18px 20px;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1.1rem;
    line-height: 1.15;
    text-transform: uppercase;
}

.jb-home-landing .jb-home-category-component .title a {
    color: var(--jb-ink);
}

.jb-home-landing .jb-home-category-component .title a:hover,
.jb-home-landing .jb-home-category-component .title a:focus {
    color: var(--jb-accent-dark);
}

.jb-home-landing .jb-home-feature-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.jb-home-landing .jb-home-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.jb-home-landing .jb-home-feature-card,
.jb-home-landing .jb-home-step-card {
    display: grid;
    gap: 14px;
    align-content: start;
    min-height: 100%;
    padding: 24px;
    border: 1px solid #dce7e2;
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(27, 39, 35, 0.04);
}

.jb-home-landing .jb-home-card-accent {
    width: 48px;
    height: 4px;
    border-radius: 999px;
    background: var(--jb-accent);
}

.jb-home-landing .jb-home-step-card > span {
    color: #178d75;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 1rem;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.jb-home-landing .jb-home-topic-faq {
    width: min(100%, 1200px);
    max-width: none;
    margin: 32px auto 0;
    border: 1px solid #d8e5e0;
    border-radius: 8px;
    padding: 32px;
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(33, 43, 54, 0.04);
}

.jb-home-landing .jb-home-topic-faq .topic-block,
.jb-home-landing .jb-home-topic-faq .topic-block-body {
    margin: 0;
}

.jb-home-landing .jb-home-topic-faq .topic-block-title {
    display: none;
}

.jb-home-landing .jb-home-topic-faq h1,
.jb-home-landing .jb-home-topic-faq h2,
.jb-home-landing .jb-home-topic-faq h3 {
    margin: 0 0 14px;
    color: var(--jb-ink);
    font-family: "Fjalla One", Arial, sans-serif;
    letter-spacing: 0;
    text-transform: uppercase;
}

.jb-home-landing .jb-home-topic-faq .topic-block-body > *:first-child {
    margin-top: 0;
}

.jb-home-landing .jb-home-topic-faq .topic-block-body > *:last-child {
    margin-bottom: 0;
}

.jb-home-landing .jb-home-topic-faq ul,
.jb-home-landing .jb-home-topic-faq ol {
    margin: 0;
    padding-left: 20px;
}

.jb-home-landing .jb-home-topic-faq a {
    color: var(--jb-accent-dark);
}

.jb-home-landing .jb-home-final-cta {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 24px;
    align-items: center;
    border: 1px solid #cde5de;
    border-radius: 8px;
    padding: 28px 32px;
    background: linear-gradient(135deg, #f4fcfa 0%, #ffffff 100%);
}

.jb-home-landing .jb-home-final-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px;
}

@media (max-width: 1000px) {
    .jb-home-landing .page-body {
        padding: 0 14px 10px;
    }

    .jb-home-landing .jb-home-hero,
    .jb-home-landing .page-body > .nop-jw-wrapper,
    .jb-home-landing .page-body > .jb-home-trust-strip,
    .jb-home-landing .page-body > .jb-home-filters,
    .jb-home-landing .page-body > .jb-home-native-components,
    .jb-home-landing .page-body > .jb-home-topic-faq,
    .jb-home-landing .page-body > .jb-home-final-cta,
    .jb-home-landing .page-body > .home-page-news,
    .jb-home-landing .jb-home-section {
        width: 100%;
    }

    .jb-home-landing .jb-home-hero-shell,
    .jb-home-landing .jb-home-section,
    .jb-home-landing .jb-home-topic-faq,
    .jb-home-landing .jb-home-final-cta {
        padding: 24px;
    }

    .jb-home-landing .jb-home-category-component .item-grid,
    .jb-home-landing .jb-home-products-component .item-grid,
    .jb-home-landing .jb-home-bestsellers-component .item-grid,
    .jb-home-landing .jb-home-feature-grid,
    .jb-home-landing .jb-home-steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .jb-home-landing .jb-home-final-cta {
        grid-template-columns: 1fr;
    }

    .jb-home-landing .jb-home-final-actions {
        justify-content: flex-start;
    }
}

@media (max-width: 767px) {
    .jb-home-landing .page-body {
        padding: 0 12px 8px;
    }

    .jb-home-landing .page-body > .nop-jw-wrapper,
    .jb-home-landing .page-body > .jb-home-trust-strip,
    .jb-home-landing .page-body > .jb-home-filters,
    .jb-home-landing .page-body > .jb-home-native-components,
    .jb-home-landing .page-body > .jb-home-topic-faq,
    .jb-home-landing .page-body > .jb-home-final-cta,
    .jb-home-landing .page-body > .home-page-news,
    .jb-home-landing .jb-home-section {
        margin-top: 16px;
    }

    .jb-home-landing .jb-home-hero {
        padding-top: 16px;
    }

    .jb-home-landing .jb-home-hero-shell,
    .jb-home-landing .jb-home-section,
    .jb-home-landing .jb-home-topic-faq,
    .jb-home-landing .jb-home-final-cta {
        padding: 20px;
    }

    .jb-home-landing .jb-home-hero-content,
    .jb-home-landing .jb-home-section-head {
        justify-items: start;
        text-align: left;
    }

    .jb-home-landing .jb-home-hero h1,
    .jb-home-landing .jb-home-hero-copy {
        text-align: left;
    }

    .jb-home-landing .jb-home-hero h1 {
        max-width: none;
        font-size: clamp(2rem, 10vw, 2.7rem);
    }

    .jb-home-landing .jb-home-search-form {
        grid-template-columns: 1fr;
    }

    .jb-home-landing .jb-home-hero-actions,
    .jb-home-landing .jb-home-final-actions {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
    }

    .jb-home-landing .jb-home-hero-actions a,
    .jb-home-landing .jb-home-final-actions a,
    .jb-home-landing .jb-home-search-form .search-box-button {
        width: 100%;
    }

    .jb-home-landing .jb-home-trust-pills {
        justify-content: flex-start;
    }

    .jb-home-landing .jb-home-category-component .item-grid,
    .jb-home-landing .jb-home-products-component .item-grid,
    .jb-home-landing .jb-home-bestsellers-component .item-grid,
    .jb-home-landing .jb-home-feature-grid,
    .jb-home-landing .jb-home-steps {
        grid-template-columns: 1fr;
    }
}

/* Register page label fix. */
.html-registration-page .registration-page .fieldset,
.html-registration-page .registration-page .form-fields,
.html-registration-page .registration-page .inputs:not(.accept-consent) {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    overflow: visible !important;
}

.html-registration-page .registration-page .inputs:not(.accept-consent) {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 6px 12px;
    min-width: 0;
}

.html-registration-page .registration-page .inputs:not(.accept-consent) > label:first-child,
.html-registration-page .registration-page .inputs:not(.accept-consent) > label:first-of-type {
    position: static !important;
    grid-column: 1;
    grid-row: 1;
    display: block !important;
    width: 180px !important;
    min-width: 180px;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #30363c !important;
    font-family: "Fjalla One", Arial, sans-serif;
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: uppercase;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal;
}

.html-registration-page .registration-page .jb-register-field-label {
    position: static !important;
    grid-column: 1;
    grid-row: 1;
    display: block !important;
    width: 180px !important;
    min-width: 180px;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #30363c !important;
    font-family: "Fjalla One", Arial, sans-serif !important;
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
    text-align: left !important;
    text-transform: uppercase;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

.html-registration-page .registration-page .inputs:not(.accept-consent) > input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.html-registration-page .registration-page .inputs:not(.accept-consent) > select,
.html-registration-page .registration-page .inputs:not(.accept-consent) > textarea,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .gender,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .jb-auth-date-fields,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .form-input-wrapper {
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    min-width: 0;
}

.html-registration-page .registration-page .inputs:not(.accept-consent) > nop-required,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .required {
    grid-column: 3;
    grid-row: 1;
    margin: 0;
    text-align: center;
}

.html-registration-page .registration-page .inputs:not(.accept-consent) > .field-validation-error,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .field-validation-valid,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .vat-note,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .phone-info,
.html-registration-page .registration-page .inputs:not(.accept-consent) > .please-wait {
    grid-column: 2 / -1;
    grid-row: 2;
    margin-top: 0;
}

@media (max-width: 1000px) {
    .html-registration-page .registration-page .inputs:not(.accept-consent),
    .html-registration-page .registration-page .date-of-birth {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 6px;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > label:first-child,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > label:first-of-type,
    .html-registration-page .registration-page .jb-register-field-label,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .gender,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .jb-auth-date-fields {
        grid-column: 1 / -1;
        width: auto !important;
        min-width: 0;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    .html-registration-page .registration-page .inputs:not(.accept-consent) > select,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > textarea {
        grid-column: 1;
    }

    .html-registration-page .registration-page .inputs:not(.accept-consent) > .field-validation-error,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .field-validation-valid,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .vat-note,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .phone-info,
    .html-registration-page .registration-page .inputs:not(.accept-consent) > .please-wait {
        grid-column: 1 / -1;
    }
}

/* Temporary hard override: keep only a single separator above copyright and remove the empty footer gap on every viewport. */
.footer {
    margin-top: 10px !important;
    border-top: 0 !important;
}

.footer-upper {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    min-height: 0 !important;
}

.footer-lower {
    padding-top: 10px !important;
    border-top: 1px dashed #cfcfcf !important;
}

/* Remove the extra top gap on single-column storefront pages. */
.master-wrapper-content > .breadcrumb {
    margin-bottom: 0;
}

section.center-1 .page-body {
    padding-top: 0;
}
