.kcpb-category-landing { width:100%; }
.kcpb-native-category-products { display:none!important; }

/* Category icon cards */
.kcpb-category-nav {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
    width:100%;
}

.kcpb-category-nav__item {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    width:130px;
    min-height:96px;
    padding:12px 10px 10px;
    border:1px solid #e5e5e5;
    border-radius:12px;
    background:#fff;
    color:#222;
    text-decoration:none;
    box-shadow:0 0 0 rgba(0,0,0,0);
    transition:border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.kcpb-category-nav__icon {
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    margin-bottom:8px;
    color:#9b6b1f;
}

.kcpb-category-nav__icon svg {
    width:42px;
    height:42px;
    fill:none;
    stroke:currentColor;
    stroke-width:2.7;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.kcpb-category-nav__label {
    font-size:13px;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.01em;
    text-transform:uppercase;
    text-align:center;
}

.kcpb-category-nav__item:hover,
.kcpb-category-nav__item:focus-visible,
.kcpb-category-nav__item.is-active {
    border-color:#b98a31;
    background:#fffaf1;
    color:#9b6b1f;
    box-shadow:0 10px 25px rgba(0,0,0,.07);
    transform:translateY(-1px);
}

/* Brand navigation: original button/card style */
.kcpb-brand-nav {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    width:100%;
}

.kcpb-brand-nav__item {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 18px;
    border:1px solid #e5e5e5;
    border-radius:8px;
    background:#fff;
    color:#111;
    font:inherit;
    font-weight:600;
    text-decoration:none;
    cursor:pointer;
    transition:border-color .2s ease, background-color .2s ease, color .2s ease;
}

.kcpb-brand-nav__item:hover,
.kcpb-brand-nav__item:focus-visible {
    border-color:#b67a19;
    background:#fffaf2;
    color:#a96808;
}

.kcpb-brand-products { width:100%; }
.kcpb-brand-section { scroll-margin-top:100px; padding:34px 0 54px; }
.kcpb-brand-section:first-child { padding-top:0; }

.kcpb-brand-section__heading {
    display:flex;
    align-items:center;
    gap:18px;
    width:100%;
    margin:0 0 26px;
}

.kcpb-brand-section__title {
    flex:0 0 auto;
    margin:0;
    font-size:27px;
    line-height:1.25;
    font-weight:700;
    color:#2a2a2a;
}

.kcpb-brand-section__line {
    display:block;
    flex:1 1 auto;
    min-width:40px;
    height:1px;
    background:#dedede;
}

.kcpb-brand-section ul.products { margin-bottom:0; }
.kcpb-no-products { padding:24px 0; }

@media (max-width:1024px) {
    .kcpb-brand-section { padding:30px 0 46px; }
}

@media (max-width:767px) {
    .kcpb-category-nav,
    .kcpb-brand-nav {
        flex-wrap:nowrap;
        justify-content:flex-start;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:thin;
        padding-bottom:8px;
    }

    .kcpb-category-nav__item {
        flex:0 0 118px;
        width:118px;
        min-height:90px;
    }

    .kcpb-brand-nav__item { flex:0 0 auto; white-space:nowrap; }
    .kcpb-brand-section { scroll-margin-top:80px; padding:26px 0 38px; }
    .kcpb-brand-section__heading { gap:12px; margin-bottom:20px; }
    .kcpb-brand-section__title { font-size:21px; }
}

@media (prefers-reduced-motion:reduce) {
    .kcpb-category-nav__item,
    .kcpb-brand-nav__item { transition:none!important; }
}

/* v1.0.6 dynamic shop intro */
.kcpb-category-shop-intro {
    width:100%;
    margin:0 0 24px;
    text-align:center;
}
.kcpb-category-shop-intro__title {
    margin:0 0 10px;
}

/* AJAX category switching */
body.kcpb-custom-category-page #page-header.page-header.page-header--shop { display:none!important; }
body.kcpb-is-loading .kcpb-brand-nav,
body.kcpb-is-loading .kcpb-brand-products { opacity:.45; pointer-events:none; }
.kcpb-brand-nav,
.kcpb-brand-products { transition:opacity .18s ease; }


/* Audio-style AJAX loading animation */
.kcpb-audio-loader {
    position:fixed;
    left:50%;
    top:50%;
    z-index:99999;
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 16px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:999px;
    background:#fff;
    box-shadow:0 12px 34px rgba(0,0,0,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,-50%) scale(.96);
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.kcpb-audio-loader.is-visible {
    opacity:1;
    visibility:visible;
    transform:translate(-50%,-50%) scale(1);
}
.kcpb-audio-loader__icon {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:30px;
    height:24px;
}
.kcpb-audio-loader__icon span {
    display:block;
    width:3px;
    height:8px;
    border-radius:4px;
    background:currentColor;
    color:#9b6b1f;
    animation:kcpb-audio-wave .75s ease-in-out infinite alternate;
    transform-origin:center;
}
.kcpb-audio-loader__icon span:nth-child(2) { animation-delay:.12s; }
.kcpb-audio-loader__icon span:nth-child(3) { animation-delay:.24s; }
.kcpb-audio-loader__icon span:nth-child(4) { animation-delay:.36s; }
.kcpb-audio-loader__icon span:nth-child(5) { animation-delay:.48s; }
.kcpb-audio-loader__text {
    font-size:13px;
    line-height:1;
    font-weight:700;
    color:#222;
}
@keyframes kcpb-audio-wave {
    from { height:7px; opacity:.55; }
    to { height:22px; opacity:1; }
}
@media (prefers-reduced-motion:reduce) {
    .kcpb-audio-loader__icon span { animation:none!important; height:14px; }
}


/* v1.0.7 approved navigation spacing */
.kcpb-category-nav,
.kcpb-brand-nav {
    padding-top:20px;
    padding-bottom:20px;
}

/* v1.0.7 fixed brand logo cards */
.kcpb-brand-nav__item {
    flex:0 0 180px;
    width:180px;
    height:100px;
    min-height:100px;
    padding:15px;
    border:1px solid #e5e5e5;
    border-radius:8px;
    overflow:hidden;
}
.kcpb-brand-nav__logo {
    display:block;
    width:100%;
    max-width:150px;
    height:60px;
    object-fit:contain;
}
.kcpb-brand-nav__name {
    display:block;
    max-width:100%;
    text-align:center;
}
@media (max-width:767px) {
    .kcpb-category-nav,
    .kcpb-brand-nav { padding-top:20px; padding-bottom:20px; }
    .kcpb-brand-nav__item { flex:0 0 180px; width:180px; height:100px; white-space:normal; }
}

/* v1.0.8 approved category and brand navigation card sizing */
.kcpb-category-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 130px;
    min-height: 96px;
    padding: 12px 10px 10px;
    border: 1px solid #e5e5e5;
    border-radius: 3px;
    background: #fff;
    color: #222;
    text-decoration: none;
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.kcpb-brand-nav__item {
    flex: 0 0 150px;
    width: 150px;
    height: 50px;
    min-height: 50px;
    padding: 0;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}
.kcpb-brand-nav__item img,
.kcpb-brand-nav__logo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
@media (max-width: 767px) {
    .kcpb-brand-nav__item {
        flex: 0 0 150px;
        width: 150px;
        height: 50px;
        min-height: 50px;
        padding: 0;
        white-space: normal;
    }
}

/* v1.0.9 approved styling and content sections */
.kcpb-category-shop-intro__title {
    margin: 0 0 10px;
    font-family: "Poppins", Sans-serif;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1em;
    letter-spacing: 0px;
    color: #000000;
}

.kcpb-brand-nav__item {
    flex: 0 0 150px;
    width: 150px;
    height: 50px;
    min-height: 50px;
    padding: 5px;
    border: 1px solid #e5e5e5;
    border-radius: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.kcpb-brand-nav__item img,
.kcpb-brand-nav__logo {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
}
.kcpb-brand-nav__item:hover,
.kcpb-brand-nav__item:focus-visible {
    border-color: #b67a19;
    background: #fffaf2;
    color: #a96808;
    box-shadow: 0 10px 24px rgba(0,0,0,.05);
    transform: none;
}

.kcpb-category-top-content,
.kcpb-category-bottom-content,
.kcpb-category-faq { width: 100%; }
.kcpb-category-top-content > :last-child,
.kcpb-category-bottom-content > :last-child { margin-bottom: 0; }
.kcpb-category-faq__title { margin: 0 0 24px; }
.kcpb-category-faq__item { border-bottom: 1px solid #e5e5e5; }
.kcpb-category-faq__item:first-of-type { border-top: 1px solid #e5e5e5; }
.kcpb-category-faq__question {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
    cursor: pointer;
    font-weight: 600;
}
.kcpb-category-faq__question::-webkit-details-marker { display: none; }
.kcpb-category-faq__icon { position: relative; flex: 0 0 16px; width: 16px; height: 16px; }
.kcpb-category-faq__icon:before,
.kcpb-category-faq__icon:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    background: currentColor;
    transform: translate(-50%, -50%);
}
.kcpb-category-faq__icon:before { width: 16px; height: 1px; }
.kcpb-category-faq__icon:after { width: 1px; height: 16px; transition: opacity .2s ease; }
.kcpb-category-faq__item[open] .kcpb-category-faq__icon:after { opacity: 0; }
.kcpb-category-faq__answer { padding: 0 0 20px; }
.kcpb-category-faq__answer > :last-child { margin-bottom: 0; }

@media (max-width: 767px) {
    .kcpb-category-shop-intro__title { font-size: 32px; }
    .kcpb-category-nav__item { flex: 0 0 130px; width: 130px; }
    .kcpb-brand-nav__item { flex: 0 0 150px; width: 150px; height: 50px; min-height: 50px; padding: 5px; }
}

/* v1.1.0 smooth vertical View All / Show Less navigation */
.kcpb-category-nav,
.kcpb-brand-nav {
    display: flex;
    flex-wrap: wrap !important;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    width: 100%;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
    scroll-behavior: auto;
    scrollbar-width: none;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: max-height .38s ease;
}
.kcpb-category-nav.kcpb-nav-no-transition,
.kcpb-brand-nav.kcpb-nav-no-transition {
    transition: none !important;
}
.kcpb-category-nav__item {
    flex: 0 0 130px;
    width: 130px;
}
.kcpb-brand-nav__item {
    flex: 0 0 150px;
    width: 150px;
    height: 50px;
    min-height: 50px;
    padding: 5px;
}
.kcpb-navigation-toggle {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 20px;
    padding: 0;
    border: 0 !important;
    background: none !important;
    color: #a96808 !important;
    font: inherit;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
}
.kcpb-navigation-toggle[hidden] { display: none !important; }
.kcpb-navigation-toggle__less { display: none; }
.kcpb-navigation-toggle[aria-expanded="true"] .kcpb-navigation-toggle__more { display: none; }
.kcpb-navigation-toggle[aria-expanded="true"] .kcpb-navigation-toggle__less { display: inline; }
.kcpb-navigation-toggle__chevron {
    position: relative;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border: 1px solid #e0cfb5;
    border-radius: 50%;
}
.kcpb-navigation-toggle__chevron:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 46%;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #a96808;
    border-bottom: 1.5px solid #a96808;
    transform: translate(-50%, -50%) rotate(45deg);
    transition: transform .2s ease, top .2s ease;
}
.kcpb-navigation-toggle[aria-expanded="true"] .kcpb-navigation-toggle__chevron:after {
    top: 56%;
    transform: translate(-50%, -50%) rotate(225deg);
}
@media (max-width: 767px) {
    .kcpb-category-nav,
    .kcpb-brand-nav {
        flex-wrap: wrap !important;
        justify-content: center;
        overflow: hidden;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .kcpb-category-nav__item { flex: 0 0 130px; width: 130px; }
    .kcpb-brand-nav__item { flex: 0 0 150px; width: 150px; height: 50px; min-height: 50px; padding: 5px; }
}
@media (prefers-reduced-motion: reduce) {
    .kcpb-category-nav,
    .kcpb-brand-nav,
    .kcpb-navigation-toggle__chevron:after {
        transition: none !important;
    }
}

/* v1.1.1 approved navigation layout and Ecomus speaker icons */
.kcpb-category-nav,
.kcpb-brand-nav {
    display: flex;
    flex-wrap: wrap !important;
    justify-content: center;
    align-items: stretch;
    gap: 12px;
    row-gap: 20px;
    width: 100%;
    overflow: hidden;
    overflow-x: hidden;
    overflow-y: hidden;
    scroll-behavior: auto;
    scrollbar-width: none;
    padding-top: 20px;
    padding-bottom: 20px;
    transition: max-height .38s ease;
}
.kcpb-category-nav__icon-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}


/* v1.1.2 category footer spacing */
.kcpb-custom-category-page .brand-external-footer-content {
    margin-top: 0 !important;
}
.kcpb-custom-category-page .brand-secondary-description {
    padding: 60px 20px !important;
    max-width: 1400px;
    margin: 0 auto;
}

/* v1.1.4 FAQ spacing */
.kcpb-custom-category-page .custom-faq-section {
    padding: 0 20px 60px !important;
    max-width: 1400px;
    padding-top: 0 !important;
    margin: -50px auto 0;
}
