/* FunnelKit Cart – Show Product Category */
.fk-cart-category {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
    font-style: italic;
}

.fk-checkout-category {
    font-size: 12px;
    color: #666;
    margin-top: 2px;
}

.fk-cat-accordion-enabled .fk-cart-category {
    display: none;
}

.fkcart-item-wrap.fk-cat-accordion-enabled {
    --fkcat-text: #1f2937;
    --fkcat-muted: #6b7280;
    --fkcat-border: #dbe2ec;
    --fkcat-border-strong: #cfd8e6;
    --fkcat-bg: #ffffff;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 8px 12px;
}

.fk-cat-group-header {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--fkcat-border-strong);
    background: #f6f7f9 !important;
    background-image: none !important;
    color: var(--fkcat-text);
    border-radius: 12px;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px;
    cursor: pointer;
    padding: 12px 14px;
    margin: 0;
    text-align: left;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.2;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fk-cat-group-header > .fk-cat-header-thumb {
    order: 1;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fk-cat-group-header > .fk-cat-header-text {
    order: 2;
    flex: 1 1 auto;
}

.fk-cat-group-header:hover {
    border-color: #c3cedf;
    background: #f0f2f5 !important;
}

.fk-cat-group-header.is-open {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    border-color: var(--fkcat-border-strong);
    background: #f4f5f8 !important;
    margin-bottom: 0;
}

.fk-cat-group-header:focus-visible {
    outline: 2px solid #2271b1;
    outline-offset: 2px;
}

.fk-cat-header-thumb {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    min-width: 34px;
    min-height: 34px;
    max-width: 34px;
    max-height: 34px;
    border-radius: 10px;
    overflow: hidden;
    flex: 0 0 auto;
    background: #f4f6fa;
    border: 1px solid #e1e7f0;
}

.fk-cat-header-thumb img {
    display: block;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !important;
    object-fit: cover;
}

.fkcat-collapsed-item {
    display: none !important;
}

.fk-cat-header-text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 3px;
    align-items: flex-start;
}

.fk-cat-title-row {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    min-width: 0;
}

.fk-cat-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 700;
    color: #111827 !important;
}

.fk-cat-subline {
    font-size: 11px;
    font-weight: 500;
    line-height: 1.25;
    color: #6f7785;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.fk-cat-count {
    color: #5d6676;
    font-weight: 600;
    font-size: 0.96em;
}

.fk-cat-chevron {
    display: none !important;
}

.fk-cat-group-header::before {
    content: none !important;
    display: none !important;
}

.fk-cat-group-header::after {
    content: none !important;
    display: none !important;
}

.fk-cat-group-header[aria-expanded="true"]::after {
    content: none !important;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item {
    margin: 0;
    padding: 0;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart--item {
    background: var(--fkcat-bg);
    border-left: 1px solid var(--fkcat-border-strong);
    border-right: 1px solid var(--fkcat-border-strong);
    border-bottom: 1px solid var(--fkcat-border-strong);
    border-top: 0;
    border-radius: 0;
    box-shadow: none;
    padding: 11px 12px;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart-thumb-wrap {
    border-radius: 10px;
    overflow: hidden;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart-item-title-price {
    gap: 3px;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart-item-price {
    color: #172f4c;
    font-weight: 600;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-remove-text {
    margin-top: 6px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #9a3131;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-remove-text:hover {
    color: #7d2222;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-remove-text:focus-visible {
    outline: 2px solid #b53a3a;
    outline-offset: 2px;
    border-radius: 2px;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart-quantity-selector {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #d8e0ec;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart-quantity-button {
    background: #f8fafc;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item .fkcart-quantity__input {
    border-left: 1px solid #d8e0ec;
    border-right: 1px solid #d8e0ec;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item-first {
    margin-top: 0;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item-first .fkcart--item {
    border-top: 0;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item-last {
    margin-bottom: 6px;
}

.fkcart-item-wrap.fk-cat-accordion-enabled .fkcat-group-item-last .fkcart--item {
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
}

@media (max-width: 420px) {
    .fk-cat-group-header {
        font-size: 13px;
        padding: 10px 11px;
    }

    .fk-cat-header-thumb {
        width: 32px;
        height: 32px;
        min-width: 32px;
        min-height: 32px;
        max-width: 32px;
        max-height: 32px;
    }

    .fk-cat-subline {
        font-size: 10px;
    }


    .fk-cat-header-thumb img {
        width: 32px !important;
        height: 32px !important;
        min-width: 32px !important;
        min-height: 32px !important;
        max-width: 32px !important;
        max-height: 32px !important;
    }
}
