/* Frontend styles for Button Icon Extension */

.wp-block-button--has-icon .wp-block-button__link {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
    /* Preserve all existing styles, only add flex properties */
}

.wp-block-button__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    line-height: 1;
}

.wp-block-button__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    vertical-align: middle;
}

/* Icon positioning */
.wp-block-button--icon-right .wp-block-button__link {
    flex-direction: row;
}

.wp-block-button--icon-left .wp-block-button__link {
    flex-direction: row;
}

/* Button alignment - only add flex properties, preserve everything else */
.wp-block-button.wp-block-button--has-icon .wp-block-button__link {
    /* Only add essential flex properties, don't override display or other core styles */
    align-items: center;
    gap: 8px;
}

/* More specific selector to avoid conflicts */
.wp-block-button--has-icon .wp-block-button__link:not(.wp-element-button) {
    display: inline-flex;
}

/* For themes using .wp-element-button class */
.wp-block-button--has-icon .wp-element-button {
    display: inline-flex !important;
    align-items: center;
    gap: 8px;
}

/* Icon size constraints */
.wp-block-button__icon svg {
    max-width: 20px;
    max-height: 20px;
    min-width: 16px;
    min-height: 16px;
}

/* Gentle hover effects - only if no existing transforms */
.wp-block-button--has-icon .wp-block-button__link:not([style*="transform"]):hover .wp-block-button__icon {
    transform: translateX(2px);
    transition: transform 0.2s ease;
}

.wp-block-button--icon-left .wp-block-button__link:not([style*="transform"]):hover .wp-block-button__icon {
    transform: translateX(-2px);
}

/* Different button styles compatibility */
.wp-block-button.is-style-outline .wp-block-button__icon svg,
.wp-block-button.is-style-fill .wp-block-button__icon svg {
    fill: currentColor;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .wp-block-button__icon {
        width: 0.9em;
        height: 0.9em;
    }
    
    .wp-block-button--has-icon .wp-block-button__link {
        gap: 6px;
    }
}

/* RTL support */
[dir="rtl"] .wp-block-button--icon-right .wp-block-button__link:hover .wp-block-button__icon {
    transform: translateX(-2px);
}

[dir="rtl"] .wp-block-button--icon-left .wp-block-button__link:hover .wp-block-button__icon {
    transform: translateX(2px);
}

/* Accessibility improvements */
.wp-block-button__icon {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .wp-block-button__icon svg {
        stroke: currentColor;
        stroke-width: 1px;
    }
}

/* Specific Icon Styling */
.wp-block-button__icon--chevron-right svg{
    fill:transparent;
}