/* Button hover effect fixes */
.btn-style-one {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all 0.3s ease;
    transform: scale(1); /* Explicitly set initial scale */
}

.btn-style-one:hover {
    transform: scale(1); /* Prevent scaling on hover */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1); /* Subtle shadow instead of scaling */
}

.btn-style-one:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: -1;
    transform: scale(0, 1);
    transform-origin: top right;
    transition: transform 0.5s cubic-bezier(0.86, 0, 0.07, 1);
}

.btn-style-one:hover:before {
    transform: scale(1, 1);
    transform-origin: bottom left;
}

.btn-style-one .btn-title {
    position: relative;
    z-index: 2;
    transition: all 0.3s ease;
    transform: translateX(0); /* Initial position */
}

.btn-style-one:hover .btn-title {
    color: #57428D; /* Match the color when hovered */
    transform: translateX(0); /* Remove the movement effect */
}

/* Fix specifically for the Welcome Message section button */
.about-section .btn-box .theme-btn.btn-style-one:hover .btn-title {
    color: #57428D;
    transform: translateX(0); /* Remove the movement effect */
    opacity: 1;
    visibility: visible;
}

/* Global Button Fixes */
.theme-btn:hover .btn-title {
    color: #ffffff !important;
    opacity: 1;
    visibility: visible;
}

.theme-btn.btn-style-one:hover {
    background: #1a237e;
}

.theme-btn.btn-style-one:hover .btn-title {
    color: #ffffff !important;
}

.theme-btn.btn-style-two:hover {
    background: #1a237e;
}

.theme-btn.btn-style-two:hover .btn-title {
    color: #ffffff !important;
}

.theme-btn.btn-style-three:hover {
    background: #1a237e;
}

.theme-btn.btn-style-three:hover .btn-title {
    color: #ffffff !important;
}

/* Special case for CTA buttons with inverted colors */
.booking-cta .theme-btn.btn-style-one:hover {
    background: rgba(255, 255, 255, 0.9);
}

.booking-cta .theme-btn.btn-style-one:hover .btn-title {
    color: #1a237e !important;
}

/* Fix for buttons with darker backgrounds */
.dark-bg .theme-btn:hover .btn-title {
    color: #ffffff !important;
}

/* Fix for buttons on light backgrounds */
.light-bg .theme-btn:hover .btn-title {
    color: #ffffff !important;
}

/* Additional Button Hover Text Fixes */

/* Force visibility for all button text on hover */
.theme-btn:hover .btn-title,
.btn-style-one:hover .btn-title,
.btn-style-two:hover .btn-title,
.btn-style-three:hover .btn-title {
    opacity: 1 !important;
    visibility: visible !important;
    color: #ffffff !important;
    transform: translateX(0) !important;
}

/* Override any transition that might be hiding the text */
.btn-title {
    transition: color 0.3s ease !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for white buttons that should have dark text on hover */
.theme-btn.light-btn:hover .btn-title {
    color: #1a237e !important;
}

/* More specific selectors for accommodation page button */
.accommodation-intro .theme-btn .btn-title,
.accommodation-intro .theme-btn:hover .btn-title {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Add !important to all button hover styles to override any conflicting styles */
.theme-btn.btn-style-one:hover {
    background: #1a237e !important;
}

.theme-btn.btn-style-one:hover .btn-title {
    color: #ffffff !important;
}

/* Extra specificity for the accommodation button */
.theme-btn.btn-style-one.accommodation-btn:hover {
    background: #ffffff !important;
}

.theme-btn.btn-style-one.accommodation-btn:hover .btn-title {
    color: #1a237e !important;
}

/* Emergency fixes for button hover text visibility */
/* These are more aggressive overrides to ensure text visibility */

/* Reset any problematic styles that might be affecting buttons */
.theme-btn,
.theme-btn:hover,
.theme-btn:focus,
.theme-btn:active {
    position: relative !important;
    overflow: visible !important;
}

/* Force visibility for ALL button text always */
.theme-btn .btn-title,
.theme-btn:hover .btn-title,
.theme-btn:focus .btn-title,
.theme-btn:active .btn-title,
.btn-style-one .btn-title,
.btn-style-one:hover .btn-title,
.btn-style-two .btn-title,
.btn-style-two:hover .btn-title,
.btn-style-three .btn-title,
.btn-style-three:hover .btn-title {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
    position: relative !important;
    transform: none !important;
    z-index: 999 !important;
}

/* Override any transition or animation effects */
.btn-title,
.theme-btn .btn-title {
    transition: color 0.3s ease !important;
    animation: none !important;
    transform: none !important;
}

/* Color overrides based on button style */
.theme-btn.btn-style-one:hover .btn-title {
    color: #ffffff !important; 
}

.theme-btn.btn-style-two:hover .btn-title {
    color: #ffffff !important;
}

.theme-btn.btn-style-three:hover .btn-title {
    color: #ffffff !important;
}

/* Special accommodation button */
.accommodation-btn:hover .btn-title {
    color: #1a237e !important;
}

/* Remove any :before or :after pseudo-elements that might be blocking text */
.theme-btn:before,
.theme-btn:after {
    pointer-events: none !important;
    z-index: -1 !important;
}

/* Fix any z-index issues */
.theme-btn {
    z-index: 1 !important;
}

.theme-btn .btn-title {
    z-index: 2 !important;
}

/* Ensure container elements aren't hiding overflow */
.btn-box {
    overflow: visible !important;
}

/* Font properties to ensure visibility */
.btn-title {
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    text-transform: none !important;
}

/* Fixed button style for consistent hover behavior across the site */
.fixed-btn {
    display: inline-block;
    padding: 15px 40px;
    border-radius: 50px;
    background-color: #1a237e;
    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.5px;
    border: 2px solid #1a237e;
    box-shadow: 0 5px 15px rgba(26, 35, 126, 0.2);
    transition: all 0.3s ease;
    position: relative;
    overflow: visible;
}

.fixed-btn:hover {
    background-color: #ffffff;
    color: #1a237e;
    box-shadow: 0 8px 20px rgba(26, 35, 126, 0.3);
    transform: translateY(-3px);
}

.fixed-btn .btn-content {
    position: relative;
    display: inline-block;
    color: inherit;
    z-index: 5;
    transition: color 0.3s ease;
}

.fixed-btn:hover .btn-content {
    color: #1a237e;
}

.fixed-btn .btn-content i {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.fixed-btn:hover .btn-content i {
    transform: translateX(5px);
}

/* Ensure button content is always visible */
.fixed-btn .btn-content,
.fixed-btn:hover .btn-content,
.fixed-btn:focus .btn-content,
.fixed-btn:active .btn-content {
    opacity: 1 !important;
    visibility: visible !important;
    display: inline-block !important;
} 