/*
 * BullTech Button Fix - EXACT MATCH
 * Fixes button width issues and ensures exact replication
 * Created: 2025-08-22
 */

/* ========== BUTTON FIXES - PREVENT STRETCHING ========== */

/* Force buttons to auto width - NO stretching */
.elementor-button-wrapper {
    display: inline-flex !important;
    width: auto !important;
    flex-grow: 0 !important;
}

.elementor-button {
    width: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    text-align: center !important;
}

/* Ensure button containers don't force full width */
.elementor-widget-button .elementor-widget-container {
    width: auto !important;
}

/* Fix Elementor alignment classes */
.elementor-align-center .elementor-button-wrapper {
    margin: 0 auto;
}

.elementor-align-left .elementor-button-wrapper {
    margin-left: 0;
    margin-right: auto;
}

.elementor-align-right .elementor-button-wrapper {
    margin-left: auto;
    margin-right: 0;
}

/* ========== EXACT BUTTON DIMENSIONS FROM AI-TOOL ========== */

/* Primary Button - elementor-element-4966cec5 */
.elementor-element-4966cec5 .elementor-button,
.btn-primary-gradient {
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 19px !important;
    padding: 15px 34px 15px 34px !important;
    border-radius: 8px !important;
    background: linear-gradient(135deg, #864AFF 0%, #7231F5 100%) !important;
    border: none !important;
    color: #FFFEFE !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
}

/* Secondary Button - elementor-element-2d26799c */
.elementor-element-2d26799c .elementor-button,
.btn-outline-primary {
    font-family: "Manrope", sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 19px !important;
    padding: 14px 40px 14px 40px !important;
    border-radius: 8px !important;
    background-color: transparent !important;
    border: 1px solid #FFFEFE !important;
    color: #FFFEFE !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
}

/* ========== HOVER EFFECTS - EXACT MATCH ========== */

.elementor-element-4966cec5 .elementor-button:hover,
.btn-primary-gradient:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(116, 53, 253, 0.3) !important;
    color: #FFFEFE !important;
    background: linear-gradient(135deg, #7231F5 0%, #864AFF 100%) !important;
}

.elementor-element-2d26799c .elementor-button:hover,
.btn-outline-primary:hover {
    background-color: #FFFFFF !important;
    color: #1F242E !important;
    border-color: #FFFFFF !important;
    transform: translateY(-2px) !important;
}

/* ========== BUTTON CONTAINER FIXES ========== */

/* Fix button containers to prevent stretching */
.elementor-element-1fb2fea8 {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
}

.elementor-element-1fb2fea8 .elementor-widget {
    width: auto !important;
    flex: 0 0 auto !important;
}

/* ========== ICON ALIGNMENT IN BUTTONS ========== */

.elementor-button-content-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
}

.elementor-button-icon {
    flex-shrink: 0 !important;
}

.elementor-button-text {
    white-space: nowrap !important;
}

/* Play icon specific styling */
.elementor-button-icon .fa-play {
    font-size: 12px !important;
    margin-right: 6px !important;
}

/* ========== RESPONSIVE BUTTON FIXES ========== */

@media (max-width: 1279px) {
    .elementor-element-4966cec5 .elementor-button,
    .btn-primary-gradient {
        padding: 13px 30px 13px 30px !important;
        font-size: 15px !important;
    }
    
    .elementor-element-2d26799c .elementor-button,
    .btn-outline-primary {
        padding: 12px 35px 12px 35px !important;
        font-size: 15px !important;
    }
    
    .elementor-element-1fb2fea8 {
        gap: 10px !important;
    }
}

@media (max-width: 767px) {
    .elementor-element-4966cec5 .elementor-button,
    .btn-primary-gradient {
        padding: 12px 28px 12px 28px !important;
        font-size: 14px !important;
    }
    
    .elementor-element-2d26799c .elementor-button,
    .btn-outline-primary {
        padding: 11px 30px 11px 30px !important;
        font-size: 14px !important;
    }
    
    .elementor-element-1fb2fea8 {
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    /* Ensure mobile buttons don't stretch */
    .elementor-element-1fb2fea8 .elementor-button-wrapper {
        width: auto !important;
    }
}

/* ========== THEME OVERRIDES ========== */

/* Override any theme CSS that might force full-width buttons */
body .elementor-button {
    width: auto !important;
}

body .elementor-button-wrapper {
    width: auto !important;
    display: inline-flex !important;
}

/* Ensure Elementor justify alignment doesn't break our buttons */
.elementor-align-justify .elementor-button-wrapper {
    width: auto !important;
    margin: 0 auto !important;
}

.elementor-align-justify .elementor-button {
    width: auto !important;
}

/* ========== ACCESSIBILITY IMPROVEMENTS ========== */

.elementor-button:focus {
    outline: 2px solid #864AFF !important;
    outline-offset: 2px !important;
}

.elementor-button:focus:not(:focus-visible) {
    outline: none !important;
}

/* ========== PRINT STYLES ========== */

@media print {
    .elementor-button {
        background: #864AFF !important;
        color: white !important;
        border: 1px solid #864AFF !important;
    }
}