/**
 * General Card Styles
 */
.quarx-card {
    --bs-card-spacer-y: 1.5rem;
    --bs-card-spacer-x: 1.5rem;
    --bs-card-title-spacer-y: 1rem;
    --bs-card-border-width: 0;
    --bs-card-border-color: var(--bs-border-color-translucent);
    --bs-card-border-radius: 1rem;
    --bs-card-inner-border-radius: calc(var(--bs-card-border-radius) - (var(--bs-border-width)));
    --bs-card-cap-padding-y: 1.5rem;
    --bs-card-cap-padding-x: 1.5rem;
    --bs-card-cap-bg: var(--bs-tertiary-bg);
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 0.75rem;
}

.quarx-card.quarx-card--bordered {
    --bs-card-border-width: 1px;
}

/**
 * Card Styles for filters in admin portal sider
 */
.quarx-card.quarx-card--for-sider {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-border-radius: 1rem;
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-img-overlay-padding: 1rem;
    --bs-card-group-margin: 1rem;
    --bs-card-border-width: 0;
    --bs-card-cap-bg: var(--bs-tertiary-bg);
    --bs-card-bg: var(--bs-tertiary-bg);

    border-radius: var(--bs-card-border-radius) !important;
    overflow: hidden;
}

.quarx-card.quarx-card--for-sider>.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.quarx-card.quarx-card--for-sider>.card-body>.quarx-button:not(:last-child),
.quarx-card.quarx-card--for-sider>.card-body>.quarx-divider:not(:last-child) {
    margin-bottom: var(--bs-card-spacer-y);
}

.quarx-card.quarx-card--for-sider .card-body .row:last-of-type {
    margin-bottom: 0 !important;
}

.quarx-card.quarx-card--for-sider .card-body .col-form-label {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: calc(var(--bs-card-spacer-y) / 2) !important;
}


/**
 * Card Styles for information display in admin portal list view
 */
.quarx-card.quarx-card--for-listing {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-border-width: 0;
    --bs-card-cap-bg: var(--bs-tertiary-bg);
}

.quarx-card.quarx-card--for-listing>.card-header,
.quarx-card.quarx-card--for-listing>.card-body,
.quarx-card.quarx-card--for-listing>.card-footer {
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-card-border-radius) !important;
}

.quarx-card.quarx-card--for-listing>.card-header:not(:last-child),
.quarx-card.quarx-card--for-listing>.card-body:not(:last-child),
.quarx-card.quarx-card--for-listing>.card-footer:not(:last-child) {
    margin-bottom: var(--bs-card-spacer-y);
}

.quarx-card.quarx-card--for-listing>.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.quarx-card.quarx-card--for-listing>.card-body.listing--is-empty {
    padding: calc(var(--bs-card-spacer-y) * 4) var(--bs-card-spacer-x);
}

.quarx-card.quarx-card--for-listing>.card-footer {
    display: flex;
    justify-content: end;
    align-items: center;
}

.quarx-card.quarx-card--for-listing>.card-footer .pagination {
    margin: 0;
}

/**
 * Card Styles for information display in admin portal detail view
 */
.quarx-card.quarx-card--for-detail {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-border-radius: 1rem;
    --bs-card-cap-bg: var(--bs-tertiary-bg);

    border-radius: var(--bs-card-border-radius) !important;
    overflow: hidden;
}

.quarx-card.quarx-card--for-detail>.card-header:not(:last-child),
.quarx-card.quarx-card--for-detail>.card-body:not(:last-child),
.quarx-card.quarx-card--for-detail>.card-footer:not(:last-child) {
    margin-bottom: var(--bs-card-spacer-y);
}

.quarx-card.quarx-card--for-detail>.card-header,
.quarx-card.quarx-card--for-detail>.card-body,
.quarx-card.quarx-card--for-detail>.card-footer {
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-card-border-radius) !important;
}

.quarx-card.quarx-card--for-detail>.card-body>.quarx-list-group {
    --bs-list-group-border-width: 0px;
    --bs-list-group-bg: var(--bs-tertiary-bg);
}

/**
 * Card Styles for information display in admin portal add/update view
 */
.quarx-card.quarx-card--for-form {
    --bs-card-spacer-y: 1rem;
    --bs-card-spacer-x: 1rem;
    --bs-card-cap-padding-y: 1rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-border-radius: 1rem;
    --bs-card-cap-bg: var(--bs-tertiary-bg);

    border-radius: var(--bs-card-border-radius) !important;
    overflow: hidden;
}

.quarx-card.quarx-card--for-form>.card-header:not(:last-child),
.quarx-card.quarx-card--for-form>.card-body:not(:last-child),
.quarx-card.quarx-card--for-form>.card-footer:not(:last-child) {
    margin-bottom: var(--bs-card-spacer-y);
}

.quarx-card.quarx-card--for-form>.card-header,
.quarx-card.quarx-card--for-form>.card-body,
.quarx-card.quarx-card--for-form>.card-footer {
    background: var(--bs-tertiary-bg);
    border-radius: var(--bs-card-border-radius) !important;
}

.quarx-card.quarx-card--for-form>.card-body.fieldset-holder {
    padding: 0;
    border-radius: var(--bs-card-border-radius) !important;
    background: var(--bs-body-bg);
}

.quarx-card.quarx-card--for-form>.card-body.fieldset-holder .quarx-card:not(:last-child) {
    margin-bottom: var(--bs-card-spacer-y);
}

.quarx-card.quarx-card--for-form>.card-body.fieldset-holder .card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.quarx-card.quarx-card--for-form>.card-body.fieldset-holder .card-header,
.quarx-card.quarx-card--for-form>.card-body.fieldset-holder .card-body,
.quarx-card.quarx-card--for-form>.card-body.fieldset-holder .card-footer {
    background: var(--bs-tertiary-bg);
    margin-bottom: 0;
    border-radius: 0 !important;
}

.quarx-card.quarx-card--for-form .card-body .row:last-of-type {
    margin-bottom: 0 !important;
}


.quarx-card.quarx-card--for-form .card-body .col-form-label {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: calc(var(--bs-card-spacer-y) / 2) !important;
}
