/**
 * KRDB Core - CSS Compatibility Prefixes
 * Dodatkowe prefiksy CSS dla lepszej kompatybilności z przeglądarkami
 * Wersja: 1.0.0
 * Autor: KRDB
 */

/* Transform prefixes for older browsers */
.krdb-transform {
    -webkit-transform: var(--krdb-transform);
    -moz-transform: var(--krdb-transform);
    -ms-transform: var(--krdb-transform);
    -o-transform: var(--krdb-transform);
    transform: var(--krdb-transform);
}

/* Transition prefixes */
.krdb-transition {
    -webkit-transition: var(--krdb-transition);
    -moz-transition: var(--krdb-transition);
    -ms-transition: var(--krdb-transition);
    -o-transition: var(--krdb-transition);
    transition: var(--krdb-transition);
}

/* Animation prefixes */
.krdb-animation {
    -webkit-animation: var(--krdb-animation);
    -moz-animation: var(--krdb-animation);
    -ms-animation: var(--krdb-animation);
    -o-animation: var(--krdb-animation);
    animation: var(--krdb-animation);
}

/* Box shadow prefixes */
.krdb-box-shadow {
    -webkit-box-shadow: var(--krdb-box-shadow);
    -moz-box-shadow: var(--krdb-box-shadow);
    box-shadow: var(--krdb-box-shadow);
}

/* Border radius prefixes */
.krdb-border-radius {
    -webkit-border-radius: var(--krdb-border-radius);
    -moz-border-radius: var(--krdb-border-radius);
    border-radius: var(--krdb-border-radius);
}

/* Flexbox prefixes */
.krdb-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
}

.krdb-flex-direction {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: var(--krdb-flex-direction);
    -moz-flex-direction: var(--krdb-flex-direction);
    -ms-flex-direction: var(--krdb-flex-direction);
    flex-direction: var(--krdb-flex-direction);
}

.krdb-justify-content {
    -webkit-box-pack: var(--krdb-justify-content);
    -webkit-justify-content: var(--krdb-justify-content);
    -moz-justify-content: var(--krdb-justify-content);
    -ms-flex-pack: var(--krdb-justify-content);
    justify-content: var(--krdb-justify-content);
}

.krdb-align-items {
    -webkit-box-align: var(--krdb-align-items);
    -webkit-align-items: var(--krdb-align-items);
    -moz-align-items: var(--krdb-align-items);
    -ms-flex-align: var(--krdb-align-items);
    align-items: var(--krdb-align-items);
}

/* Grid prefixes */
.krdb-grid {
    display: -ms-grid;
    display: grid;
}

.krdb-grid-template-columns {
    -ms-grid-columns: var(--krdb-grid-template-columns);
    grid-template-columns: var(--krdb-grid-template-columns);
}

.krdb-grid-template-rows {
    -ms-grid-rows: var(--krdb-grid-template-rows);
    grid-template-rows: var(--krdb-grid-template-rows);
}

/* Filter prefixes */
.krdb-filter {
    -webkit-filter: var(--krdb-filter);
    -moz-filter: var(--krdb-filter);
    -ms-filter: var(--krdb-filter);
    -o-filter: var(--krdb-filter);
    filter: var(--krdb-filter);
}

/* Backdrop filter prefixes */
.krdb-backdrop-filter {
    -webkit-backdrop-filter: var(--krdb-backdrop-filter);
    backdrop-filter: var(--krdb-backdrop-filter);
}

/* User select prefixes */
.krdb-user-select {
    -webkit-user-select: var(--krdb-user-select);
    -moz-user-select: var(--krdb-user-select);
    -ms-user-select: var(--krdb-user-select);
    user-select: var(--krdb-user-select);
}

/* Appearance prefixes */
.krdb-appearance {
    -webkit-appearance: var(--krdb-appearance);
    -moz-appearance: var(--krdb-appearance);
    appearance: var(--krdb-appearance);
}

/* Keyframes with prefixes */
@-webkit-keyframes krdb-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

@-moz-keyframes krdb-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

@-ms-keyframes krdb-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

@-o-keyframes krdb-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

@keyframes krdb-pulse {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

/* Specific fixes for older browsers */

/* IE10+ Grid fallbacks */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .krdb-grid {
        display: -ms-grid;
    }
}

/* Safari 9+ fixes */
@supports (-webkit-appearance: none) {
    .krdb-flex {
        display: -webkit-flex;
    }
}

/* Firefox specific fixes */
@-moz-document url-prefix() {
    .krdb-flex {
        display: -moz-box;
    }
}