/* 
 * PadniSi Design System - Buttons
 * -------------------------------
 * Button components and variants.
 */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s ease;
    font-family: var(--font-heading);
    text-decoration: none;
    line-height: normal;
}

/* Compact variant (from form styles) */
.btn-sm {
    padding: 8px 16px;
    font-size: 0.9rem;
}

/* --- Variants --- */

/* Primary */
.btn-primary {
    background: var(--gradient-primary);
    color: white;
    box-shadow: 0 4px 15px rgba(74, 107, 255, 0.3);
}

.btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(74, 107, 255, 0.4);
    color: white;
}

/* Secondary */
.btn-secondary {
    background: var(--gradient-secondary);
    color: white;
    box-shadow: 0 4px 15px rgba(255, 107, 139, 0.3);
}

.btn-secondary:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(255, 107, 139, 0.4);
    color: white;
}

/* Outline */
.btn-outline {
    background: transparent;
    border: 2px solid var(--primary);
    color: var(--primary);
}

.btn-outline:hover {
    background: var(--primary);
    color: white;
    transform: translateY(-3px);
}

/* Outline Secondary (from form) */
.btn-outline-secondary {
    background: white;
    border: 1px solid var(--gray);
    color: var(--dark);
}

.btn-outline-secondary:hover {
    background: var(--light);
    border-color: var(--dark-light);
    color: var(--dark);
}

/* Ghost / Brand Ghost */
.btn-brand-ghost {
    background: var(--secondary-dark);
    border: 1px solid var(--secondary-dark);
    color: white;
    border-radius: 50px;
    padding: 6px 20px;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 5px rgba(52, 152, 219, 0.2);
}

.btn-brand-ghost:hover {
    background: var(--secondary);
    border-color: var(--secondary);
    color: white;
    box-shadow: 0 4px 10px rgba(52, 152, 219, 0.3);
}

/* Custom Primary (from form) */
.btn-custom-primary {
    background: var(--gradient-secondary);
    color: white;
    box-shadow: 0 3px 8px rgba(52, 152, 219, 0.25);
}

.btn-custom-primary:hover {
    background: var(--secondary-dark);
    transform: translateY(-1px);
    box-shadow: 0 5px 12px rgba(52, 152, 219, 0.35);
}

/* Icon Only Buttons */
.btn-icon-danger {
    color: var(--danger);
    border: 1px solid transparent;
    background: white;
    padding: 6px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    transition: all 0.2s;
}

.btn-icon-danger:hover {
    color: white;
    background: var(--danger);
    box-shadow: 0 2px 5px rgba(239, 68, 68, 0.3);
}

/* Watch/Favorite Button */
.btn-watch {
    background: transparent;
    color: rgb(52, 152, 219);
    border: none;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.btn-watch:hover,
.btn-watch.active {
    background: rgba(52, 152, 219, 0.1);
    transform: scale(1.1);
    color: rgb(52, 152, 219);
}