/* ArtGate Redesign - Frontend Styles */

.artgate-svg-icon {
    display: inline-block;
    vertical-align: middle;
}

.artgate-svg-icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
    vertical-align: middle;
}

.artgate-png-icon {
    display: inline-block;
    vertical-align: middle;
}

/* FontAwesome 7 Pro Styles - poprawione definicje */
.fa-solid,
.fas {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
}

.fa-regular,
.far {
    font-family: "Font Awesome 7 Pro";
    font-weight: 400;
}

.fa-light,
.fal {
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
}

.fa-thin,
.fat {
    font-family: "Font Awesome 7 Pro";
    font-weight: 100;
}

.fa-duotone,
.fad {
    font-family: "Font Awesome 7 Duotone";
    font-weight: 900;
}

.fa-brands,
.fab {
    font-family: "Font Awesome 7 Brands";
    font-weight: 400;
}

/* Wspólne style dla wszystkich ikon FontAwesome */
.fa-solid,
.fa-regular,
.fa-light,
.fa-thin,
.fa-duotone,
.fa-brands,
.fas,
.far,
.fal,
.fat,
.fad,
.fab {
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: inline-block;
}

/* Icon utilities */
.artgate-icon-left {
    margin-right: 0.5em;
}

.artgate-icon-right {
    margin-left: 0.5em;
}

.artgate-icon-center {
    display: block;
    text-align: center;
}

.artgate-icon-large {
    font-size: 2em;
}

.artgate-icon-small {
    font-size: 0.8em;
}

/* Animation classes */
.artgate-icon-spin {
    animation: artgate-spin 2s linear infinite;
}

.artgate-icon-pulse {
    animation: artgate-pulse 2s ease-in-out infinite;
}

.artgate-icon-bounce {
    animation: artgate-bounce 2s ease-in-out infinite;
}

@keyframes artgate-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

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

@keyframes artgate-bounce {
    0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
    40% { transform: translateY(-10px); }
    60% { transform: translateY(-5px); }
}

/* Hover effects */
.artgate-icon-hover-scale:hover {
    transform: scale(1.2);
    transition: transform 0.3s ease;
}

.artgate-icon-hover-rotate:hover {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
}

.artgate-icon-hover-color:hover {
    color: #0073aa;
    transition: color 0.3s ease;
}

/* Ikony w menu */
.artgate-menu-icon {
    margin-right: 8px;
    vertical-align: middle;
}

.artgate-menu-icon.fa-solid,
.artgate-menu-icon.fa-regular,
.artgate-menu-icon.fa-light,
.artgate-menu-icon.fa-thin,
.artgate-menu-icon.fa-duotone,
.artgate-menu-icon.fa-brands {
    font-size: 1em;
    width: 1em;
    text-align: center;
}

.artgate-menu-icon img {
    width: 1em;
    height: 1em;
    vertical-align: middle;
}

/* Responsive icons */
@media (max-width: 768px) {
    .artgate-icon-responsive {
        font-size: 0.9em;
    }
}

@media (max-width: 480px) {
    .artgate-icon-responsive {
        font-size: 0.8em;
    }
}
