/*
 * This file is part of the UX SDC Bundle
 *
 * (c) Jozef Môstka <https://github.com/tito10047/ux-sdc>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/* Styles for Button component */
@layer components {
    .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-family: var(--font-family-body);
        font-weight: 500;
        text-align: center;
        text-decoration: none;
        border: 1px solid transparent;
        border-radius: var(--radius-md);
        cursor: pointer;
        transition: all var(--transition-physical);
        outline: none;
        
        /* Default base padding, overridden by size */
        padding: var(--space-sm) var(--space-lg);
        
        /* Variants */
        &[data-variant="primary"] {
            background-color: var(--color-accent-red);
            color: var(--color-text-heading);
            border-color: var(--color-accent-red);
            
            &:hover {
                background-color: #d62828; /* slightly darker red */
                border-color: #d62828;
                transform: translateY(-1px);
            }
            &:active {
                transform: translateY(0);
            }
        }
        
        &[data-variant="secondary"] {
            background-color: var(--color-bg-surface);
            color: var(--color-text-heading);
            border-color: var(--color-border-glass);
            backdrop-filter: blur(var(--glass-blur));
            -webkit-backdrop-filter: blur(var(--glass-blur));
            
            &:hover {
                background-color: rgba(255, 255, 255, 0.05);
                border-color: var(--color-accent-blue);
                transform: translateY(-1px);
            }
        }
        
        &[data-variant="outline"] {
            background-color: transparent;
            color: var(--color-text-main);
            border-color: var(--color-border-glass);
            
            &:hover {
                color: var(--color-text-heading);
                border-color: var(--color-accent-blue);
                background-color: rgba(69, 123, 157, 0.1);
            }
        }
        
        /* Sizes */
        &[data-size="sm"] {
            padding: var(--space-xs) var(--space-md);
            font-size: 0.875rem;
            border-radius: var(--radius-sm);
        }
        
        &[data-size="md"] {
            padding: var(--space-sm) var(--space-lg);
            font-size: 1rem;
        }
        
        &[data-size="lg"] {
            padding: var(--space-md) var(--space-xl);
            font-size: 1.125rem;
            font-family: var(--font-family-heading);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
    }
}