/**
 * ACF Category Style Manager - Frontend Stylesheet
 */

:root {
    --acsm-default-bg: #f1f5f9;
    --acsm-default-color: #1e293b;
    --acsm-default-border: #cbd5e1;
    --acsm-default-radius: 6px;
    --acsm-default-font-size: 13px;
    --acsm-default-font-weight: 600;
    --acsm-default-padding: 6px 12px;
    --acsm-default-gap: 7px;
    --acsm-default-border-width: 1px;
}

/* Base Badge styles with high specificity to override theme & Elementor styling */
.acf-category-badge,
.acsm-badge,
a.acf-category-badge,
a.acsm-badge,
.elementor .acf-category-badge,
.elementor .acsm-badge,
.elementor a .acf-category-badge,
.elementor a .acsm-badge,
.elementor-widget-heading .acf-category-badge,
.elementor-widget-heading .acsm-badge,
.elementor-heading-title .acf-category-badge,
.elementor-heading-title .acsm-badge,
.elementor-heading-title a .acf-category-badge,
.elementor-heading-title a .acsm-badge,
.elementor-widget-container .acf-category-badge,
.elementor-widget-container .acsm-badge,
.elementor-widget-text-editor .acf-category-badge,
.elementor-widget-text-editor .acsm-badge,
.elementor-widget-button .acf-category-badge,
.elementor-widget-button .acsm-badge,
.elementor-loop-item .acf-category-badge,
.elementor-loop-item .acsm-badge {
    --acsm-gap: var(--acsm-default-gap);
    --acsm-icon-size: 1em;
    --acsm-font-size: var(--acsm-default-font-size);
    --acsm-font-weight: var(--acsm-default-font-weight);
    --acsm-padding: var(--acsm-default-padding);
    --acsm-radius: var(--acsm-default-radius);
    --acsm-border-width: var(--acsm-default-border-width);

    display: inline-flex !important;
    align-items: center !important;
    gap: var(--acsm-gap) !important;
    padding: var(--acsm-padding) !important;
    border: var(--acsm-border-width) solid var(--acsm-border, var(--acsm-default-border));
    border-radius: var(--acsm-radius) !important;
    color: var(--acsm-color, var(--acsm-default-color));
    background-color: var(--acsm-bg, var(--acsm-default-bg));
    font-size: var(--acsm-font-size) !important;
    font-weight: var(--acsm-font-weight) !important;
    line-height: var(--acsm-line-height, 1.4) !important;
    letter-spacing: var(--acsm-letter-spacing, normal) !important;
    text-transform: var(--acsm-text-transform, none) !important;
    text-decoration: none !important;
    vertical-align: middle !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
    box-sizing: border-box !important;
}

/* Link hover behavior */
a.acf-category-badge:hover,
a.acsm-badge:hover,
a:hover .acsm-badge,
a:focus .acsm-badge,
a:visited .acsm-badge {
    text-decoration: none !important;
    opacity: 0.92;
    transform: translateY(-1px);
    color: var(--acsm-color) !important;
}

/* Force Text & Icon Color inheritance to prevent Theme / Elementor primary blue overriding */
.acsm-badge *,
.acsm-badge .acsm-badge__label,
.acsm-badge .acsm-badge__icon,
.acsm-badge .acsm-badge__icon i,
.acsm-badge .acsm-badge__icon svg,
.acsm-badge .acsm-badge__icon span.dashicons,
.elementor-heading-title a .acsm-badge *,
.elementor-heading-title .acsm-badge *,
.elementor-widget-heading .acsm-badge *,
.elementor-loop-item a .acsm-badge * {
    color: var(--acsm-color) !important;
    fill: var(--acsm-color) !important;
}

/* Badge Icon */
.acsm-badge__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: var(--acsm-icon-size) !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
    color: var(--acsm-color) !important;
}

.acsm-badge__icon svg {
    width: var(--acsm-icon-size) !important;
    height: var(--acsm-icon-size) !important;
    fill: currentColor !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

.acsm-badge__icon span.dashicons {
    font-size: var(--acsm-icon-size) !important;
    width: var(--acsm-icon-size) !important;
    height: var(--acsm-icon-size) !important;
    line-height: 1 !important;
    color: var(--acsm-color) !important;
}

/* Badge Label */
.acsm-badge__label {
    display: inline-block !important;
    white-space: nowrap !important;
    color: var(--acsm-color) !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-transform: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
}

/* Elementor Widget Compatibility Overrides */
.elementor-widget-heading .acf-category-badge,
.elementor-widget-text-editor .acf-category-badge,
.elementor-widget-button .acf-category-badge {
    margin: 0 !important;
}
