/**
 * Button / CTA Block - Académie des Étoiles
 */

.ade-button { margin: var(--ade-space-2xl) 0; }

.ade-button--align-left { text-align: left; }
.ade-button--align-center { text-align: center; }
.ade-button--align-right { text-align: right; }

.ade-button__link {
    display: inline-flex;
    align-items: center;
    gap: var(--ade-space-sm);
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: 2px solid transparent;
}

/* Sizes */
.ade-button__link--small {
    padding: var(--ade-space-sm) var(--ade-space-lg);
    font-size: var(--ade-font-size-small);
}

.ade-button__link--medium {
    padding: var(--ade-space-md) var(--ade-space-xl);
    font-size: var(--ade-font-size-base);
}

.ade-button__link--large {
    padding: var(--ade-space-lg) var(--ade-space-2xl);
    font-size: var(--ade-font-size-large);
}

/* Variants */
.ade-button__link--primary {
    background: linear-gradient(135deg, var(--ade-primary) 0%, var(--ade-primary-dark) 100%);
    color: var(--ade-white);
    box-shadow: var(--ade-shadow-md);
}

.ade-button__link--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--ade-shadow-lg);
}

.ade-button__link--primary:active {
    transform: translateY(0);
    box-shadow: var(--ade-shadow-sm);
}

.ade-button__link--secondary {
    background: var(--ade-primary-light);
    color: var(--ade-primary-dark);
    box-shadow: var(--ade-shadow-sm);
}

.ade-button__link--secondary:hover {
    background: var(--ade-primary);
    color: var(--ade-white);
    transform: translateY(-2px);
    box-shadow: var(--ade-shadow-md);
}

.ade-button__link--secondary:active {
    transform: translateY(0);
}

.ade-button__link--outline {
    background: transparent;
    color: var(--ade-primary);
    border-color: var(--ade-primary);
}

.ade-button__link--outline:hover {
    background: var(--ade-primary);
    color: var(--ade-white);
    transform: translateY(-2px);
}

.ade-button__link--outline:active {
    transform: translateY(0);
}

.ade-button__link--text {
    background: transparent;
    color: var(--ade-primary);
    padding: var(--ade-space-sm) var(--ade-space-md);
    box-shadow: none;
}

.ade-button__link--text:hover {
    color: var(--ade-primary-dark);
    text-decoration: underline;
}

/* Icons */
.ade-button__icon {
    font-size: 1.2em;
    line-height: 1;
}

.ade-button__text {
    line-height: 1;
}

/* Focus state for accessibility */
.ade-button__link:focus {
    outline: 3px solid var(--ade-primary-light);
    outline-offset: 2px;
}

/* Disabled state (if needed) */
.ade-button__link[disabled],
.ade-button__link.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Responsive */
@media screen and (max-width: 768px) {
    .ade-button__link--large {
        padding: var(--ade-space-md) var(--ade-space-xl);
        font-size: var(--ade-font-size-base);
    }
}
