/**
 * Buttons Component Styles
 * 
 * Contains all styles related to buttons and call-to-actions
 * This is the central file for all button styles across the theme
 */

/* Base Button Styles */
.btn,
.book-now-button,
.view-all-button,
.hero-button,
.slider-button {
    display: inline-block;
    padding: var(--lubinik-spacing-sm) var(--lubinik-spacing-md);
    background-color: var(--lubinik-button-primary-bg-color);
    color: var(--lubinik-button-primary-text-color) !important;
    text-decoration: none;
    border-radius: var(--lubinik-border-radius-sm);
    font-weight: 600;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease;
    box-shadow: 0 var(--lubinik-spacing-xs) var(--lubinik-spacing-xs) var(--lubinik-shadow-color-light);
}

.btn:hover,
.book-now-button:hover,
.view-all-button:hover,
.hero-button:hover,
.slider-button:hover {
    background-color: var(--lubinik-button-primary-hover-bg-color);
    color: var(--lubinik-button-primary-hover-text-color) !important;
    transform: translateY(-2px);
    box-shadow: 0 var(--lubinik-spacing-xs) var(--lubinik-spacing-xs) var(--lubinik-shadow-color-light);
}

/* Button Variants */

/* Secondary Button */
.btn-secondary {
    background-color: transparent;
    color: var(--lubinik-button-secondary-text-color) !important;
    border: 2px solid var(--lubinik-button-secondary-text-color);
    box-shadow: none;
}

.btn-secondary:hover {
    background-color: var(--lubinik-button-secondary-hover-bg-color);
    color: var(--lubinik-button-secondary-hover-text-color) !important;
}

/* Outline Button */
.btn-outline {
    background-color: transparent;
    color: var(--lubinik-button-primary-text-color) !important;
    border: 2px solid var(--lubinik-button-primary-text-color);
    box-shadow: none;
}

.btn-outline:hover {
    background-color: var(--lubinik-button-primary-outline-hover-bg-color);
    color: var(--lubinik-button-primary-outline-hover-text-color) !important;
}

/* White Button */
.btn-white {
    background-color: var(--lubinik-button-white-bg-color);
    color: var(--lubinik-button-white-text-color) !important;
}

.btn-white:hover {
    background-color: var(--lubinik-button-white-hover-bg-color);
    color: var(--lubinik-button-white-hover-text-color) !important;
}

/* Button Sizes */

/* Large Button */
.btn-lg,
.hero-button {
    padding: var(--lubinik-spacing-md) var(--lubinik-spacing-lg);
    font-size: var(--lubinik-font-size-md);
}

/* Small Button */
.btn-sm {
    padding: var(--lubinik-spacing-xs) var(--lubinik-spacing-sm);
    font-size: var(--lubinik-font-size-sm);
}

/* Full Width Button */
.btn-full {
    display: block;
    width: 100%;
}

/* Button with Icon */
.btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-icon i {
    margin-right: var(--lubinik-spacing-xs);
}

.btn-icon-right i {
    margin-right: 0;
    margin-left: var(--lubinik-spacing-xs);
}

/* Button Group */
.btn-group {
    display: flex;
    gap: var(--lubinik-spacing-sm);
}

.btn-group-vertical {
    flex-direction: column;
}

/* Disabled Button */
.btn:disabled,
.btn.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    box-shadow: none;
}

/* Context-Specific Button Styles */

/* Book Now Button */
.book-now-button {
    padding: var(--lubinik-spacing-sm) var(--lubinik-spacing-md);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* View All Button */
.view-all-button {
    margin-top: var(--lubinik-spacing-md);
    font-size: var(--lubinik-font-size-sm);
}

/* Hero Button */
.hero-button {
    margin-top: var(--lubinik-spacing-md);
    font-weight: 700;
}

/* Slider Button */
.slider-button {
    margin-top: var(--lubinik-spacing-md);
    font-weight: 700;
    z-index: 10;
    position: relative;
}

/* Note: Responsive button styles have been moved to mobile.css */
