/**
 * BUTTONS COMPONENT CSS
 * Based on Rehomes Theme
 */

/* ==========================================================================
   BASE BUTTON
   ========================================================================== */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 28px;
    font-family: var(--font-body);
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    line-height: 1;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border: 2px solid transparent;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.btn:focus {
    outline: none;
}

/* ==========================================================================
   BUTTON VARIANTS
   ========================================================================== */

/* Primary Button */
.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}

.btn-primary:hover {
    background-color: var(--color-accent);
    border-color: var(--color-accent);
    color: var(--color-white);
}

/* Secondary Button */
.btn-secondary {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

.btn-secondary:hover {
    background-color: #a89070;
    border-color: #a89070;
    color: var(--color-white);
}

/* Outline Primary */
.btn-outline-primary {
    background-color: transparent;
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.btn-outline-primary:hover {
    background-color: var(--color-primary);
    color: var(--color-white);
}

/* Outline Secondary */
.btn-outline-secondary {
    background-color: transparent;
    border-color: var(--color-secondary);
    color: var(--color-secondary);
}

.btn-outline-secondary:hover {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

/* White Button */
.btn-white {
    background-color: var(--color-white);
    border-color: var(--color-white);
    color: var(--color-primary);
}

.btn-white:hover {
    background-color: var(--color-secondary);
    border-color: var(--color-secondary);
    color: var(--color-white);
}

/* Outline White */
.btn-outline-white {
    background-color: transparent;
    border-color: var(--color-white);
    color: var(--color-white);
}

.btn-outline-white:hover {
    background-color: var(--color-white);
    color: var(--color-primary);
}

/* Dark Button */
.btn-dark {
    background-color: var(--color-dark);
    border-color: var(--color-dark);
    color: var(--color-white);
}

.btn-dark:hover {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-white);
}

/* ==========================================================================
   BUTTON SIZES
   ========================================================================== */

/* Small Button */
.btn-sm {
    padding: 10px 20px;
    font-size: var(--fs-xs);
}

/* Large Button */
.btn-lg {
    padding: 18px 36px;
    font-size: var(--fs-base);
}

/* Extra Large Button */
.btn-xl {
    padding: 20px 45px;
    font-size: var(--fs-lg);
}

/* ==========================================================================
   BUTTON MODIFIERS
   ========================================================================== */

/* Block Button */
.btn-block {
    display: flex;
    width: 100%;
}

/* Rounded Button */
.btn-rounded {
    border-radius: var(--radius-full);
}

/* Icon Only Button */
.btn-icon {
    padding: 12px;
    width: 45px;
    height: 45px;
}

.btn-icon.btn-sm {
    width: 35px;
    height: 35px;
    padding: 8px;
}

.btn-icon.btn-lg {
    width: 55px;
    height: 55px;
    padding: 15px;
}

/* Button with Icon */
.btn i {
    font-size: 14px;
}

.btn-lg i {
    font-size: 16px;
}

/* ==========================================================================
   LINK BUTTON
   ========================================================================== */
.btn-link {
    padding: 0;
    background: none;
    border: none;
    color: var(--color-primary);
    font-weight: var(--fw-medium);
    text-transform: none;
    letter-spacing: normal;
}

.btn-link:hover {
    color: var(--color-secondary);
    text-decoration: underline;
}

/* Arrow Link */
.link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-medium);
    color: var(--color-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.link-arrow::after {
    content: '\f178';
    font-family: FontAwesome;
    transition: transform var(--transition-fast);
}

.link-arrow:hover {
    color: var(--color-secondary);
}

.link-arrow:hover::after {
    transform: translateX(5px);
}

/* ==========================================================================
   BUTTON GROUP
   ========================================================================== */
.btn-group {
    display: inline-flex;
    gap: 10px;
    flex-wrap: wrap;
}

.btn-group-vertical {
    flex-direction: column;
}

/* ==========================================================================
   FORM BUTTONS
   ========================================================================== */
.form-submit .btn,
button[type="submit"] {
    cursor: pointer;
}

.form-submit .btn:disabled,
button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* ==========================================================================
   SOCIAL BUTTONS
   ========================================================================== */
.btn-facebook {
    background-color: #3b5998;
    border-color: #3b5998;
    color: var(--color-white);
}

.btn-facebook:hover {
    background-color: #2d4373;
    border-color: #2d4373;
    color: var(--color-white);
}

.btn-twitter {
    background-color: #1da1f2;
    border-color: #1da1f2;
    color: var(--color-white);
}

.btn-twitter:hover {
    background-color: #0c85d0;
    border-color: #0c85d0;
    color: var(--color-white);
}

.btn-youtube {
    background-color: #ff0000;
    border-color: #ff0000;
    color: var(--color-white);
}

.btn-youtube:hover {
    background-color: #cc0000;
    border-color: #cc0000;
    color: var(--color-white);
}

.btn-zalo {
    background-color: #0068ff;
    border-color: #0068ff;
    color: var(--color-white);
}

.btn-zalo:hover {
    background-color: #0052cc;
    border-color: #0052cc;
    color: var(--color-white);
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767.98px) {
    .btn {
        padding: 12px 24px;
    }

    .btn-lg {
        padding: 14px 28px;
    }

    .btn-xl {
        padding: 16px 32px;
    }
}
