.kp-support {
    --kp-support-icon-size: 3rem;
}

.kp-support-hero {
    background: linear-gradient(135deg, rgba(var(--ct-primary-rgb), .14), rgba(var(--ct-info-rgb), .08));
}

.kp-support-hero .card-body {
    padding-block: clamp(2rem, 5vw, 4rem);
}

.kp-support-hero-icon,
.kp-support-category-icon,
.kp-support-action-icon {
    align-items: center;
    background: rgba(var(--ct-primary-rgb), .12);
    border-radius: 50%;
    color: var(--ct-primary);
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: center;
}

.kp-support-hero-icon {
    font-size: 1.75rem;
    height: 3.75rem;
    margin-bottom: 1rem;
    width: 3.75rem;
}

.kp-support-search {
    max-width: 46rem;
}

.kp-support-search .input-group-text,
.kp-support-search .form-control,
.kp-support-search .btn {
    border-color: var(--ct-border-color);
}

.kp-support-search .form-control:focus {
    box-shadow: none;
}

.kp-support-category-card {
    border-color: var(--ct-border-color);
    transition: border-color .15s ease, transform .15s ease;
}

.kp-support-category-card:hover,
.kp-support-category-card:focus-within,
.kp-support-category-card.is-active {
    border-color: rgba(var(--ct-primary-rgb), .65);
    transform: translateY(-2px);
}

.kp-support-category-card .card-body:focus-visible {
    border-radius: var(--ct-border-radius);
    box-shadow: 0 0 0 var(--ct-focus-ring-width) rgba(var(--ct-primary-rgb), var(--ct-focus-ring-opacity));
    outline: 0;
}

.kp-support-category-icon {
    font-size: 1.35rem;
    height: var(--kp-support-icon-size);
    width: var(--kp-support-icon-size);
}

.kp-support-category-card .card-footer {
    border-top: 0;
}

.kp-support-faq .accordion-item {
    border: var(--ct-border-width) solid var(--ct-border-color);
    border-radius: var(--ct-border-radius);
    margin-bottom: .625rem;
    overflow: hidden;
}

.kp-support-faq .accordion-button {
    align-items: center;
    gap: .25rem;
}

.kp-support-faq .accordion-button:not(.collapsed) {
    background: rgba(var(--ct-primary-rgb), .08);
    color: var(--ct-body-color);
}

.kp-support-faq .accordion-button:focus {
    box-shadow: inset 0 0 0 var(--ct-focus-ring-width) rgba(var(--ct-primary-rgb), var(--ct-focus-ring-opacity));
}

.kp-support-action-icon {
    height: 2.25rem;
    width: 2.25rem;
}

.kp-support-actions .list-group-item:last-child {
    border-bottom: 0;
}

@media (max-width: 575.98px) {
    .kp-support-hero .card-body {
        padding-inline: 1rem;
    }

    .kp-support-faq .accordion-button {
        align-items: flex-start;
        flex-direction: column;
        padding-right: 2.75rem;
    }

    .kp-support-faq .accordion-button::after {
        position: absolute;
        right: 1rem;
        top: 1.1rem;
    }
}
