/* Shared Styles for Editor and Frontend */
.custom-btn, .custom-btn-preview {
    display: inline-flex;
    gap: 12px;
    padding: 16px 28px;
    background: linear-gradient(180deg, #BFBFBF 0%, #F2F2F2 100%);
    box-shadow: 0 3px 3px 0 rgba(255, 255, 255, 0.25) inset, 0 -3px 3px 0 rgba(0, 0, 0, 0.25) inset;
    color: var(--custom-btn-text, var(--wp--preset--color--black)) !important;
    border-radius: 2rem;
    align-items: center;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-size: inherit;
    font-weight: inherit;
}

/* Hover and focus states for accessibility */
.custom-btn:hover,
.custom-btn:focus {
    opacity: 0.9;
    transform: translateY(-2px);
}

.custom-btn:focus {
    outline: 2px solid var(--wp--preset--color--black);
    outline-offset: 2px;
}

/* The trailing icons flip the flex order */
.pos-trailing {
    flex-direction: row-reverse;
}

.btn-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
    display: block;
}


.has-white-color .custom-btn,
.has-text-color.has-white-color .custom-btn,
.has-primary-background-color .custom-btn,
.has-secondary-background-color .custom-btn {
    color: var(--wp--preset--color--black) !important;
}

@media (max-width=781px) {
    
    .has-white-color .custom-btn,
    .has-text-color.has-white-color .custom-btn,
    .has-primary-background-color .custom-btn,
    .has-secondary-background-color .custom-btn {
        color: var(--wp--preset--color--black) !important;
        padding: 10px 46px !important;
    }
}