@charset "UTF-8";

/* ==========================================================================
   GOCAYMAN GLOBAL BRANDING & GLOBAL BUTTONS
   ========================================================================== */
.btn.btn-primary {
    background-color: #F5862A !important;
    color: #FFFFFF !important;
    border-color: #F5862A !important;
}

.btn.btn-secondary {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border-color: #000000 !important;
}

.btn.btn-outline {
    border: 2px solid #F5862A;
    background: #ffffff;
    text-shadow: unset;
    color: #F5862A;
    padding: 10px 40px;
    border-radius: 200px;
    font-size: 16px;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.5px;
}

.btn.btn-small.btn-outline {
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    line-height: 14px;
}

/* Form floating validation asterisks */
.form-floating.required label:after {
    content: " *" !important;
    color: red;
    inset: unset !important;
}

/* ==========================================================================
   CRX BOOKING ENGINE OVERRIDES & FORM LAYOUT (HTML BLACK-BOX)
   ========================================================================== */
/* Scoping the booking form specific selectors to preserve green brand track */
#reservation_info .btn.btn-primary,
.itinerary-btn .btn,
#date_pickup .btn,
.crx-booking-container .btn-primary {
    background-color: #56aa2a !important; 
    color: #FFFFFF !important; 
    border-color: #00ac47 !important; 
}

#cc_container, 
#cvv_container, 
#cvv_only_container {
    height: 58px;
}

#rates_r4 textarea {
    min-height: 100px;
}

#rates_r4 .feature-icon {
    height: 20px;
    width: 20px;
}

@media (max-width: 992px) {
    #inquiries .feature-icon {
        height: 25px;
        width: 20px;
    }
}

.top-nav-progress li.section .navigation-progress-step-desc {
    color: rgb(155 143 143);
}

a#discount-blue { 
    color: #1a73e8; 
    font-weight: 700; 
}

.revolution.rates {
    margin-top: -20px;
}

b#a1 {
    color: #f47207;
}

.alert.alert-warning.fs-small.mb-0 {
    background-color: #72c6e1;
    color: black;
}

.input-number.btn-clean {
    width: 20px;
}

.float-label-up {
    opacity: 0.65;
    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.input-group input,
.input-group .form-select {
    border-left: 0;
}

.input-group .input-group-text {
    padding-right: 4px;
}

.itinerary-btn .btn {
    width: 100%;
    height: 50px;
}

/* ==========================================================================
   UI INTERACTION & STRUCTURAL COMPONENTS
   ========================================================================== */
[data-bs-toggle="collapse"] {
    position: relative;
}

[data-bs-toggle="collapse"].collapsed:after {
    content: "\f078"; /* FontAwesome Down Arrow */
}

.card [data-bs-toggle="collapse"]:after {
    content: "\f077"; /* FontAwesome Up Arrow */
    font-family: "Font Awesome 5 Free";
    position: absolute;
    bottom: 50%;
    right: 5px;
    transform: translate(0, 50%);
    font-size: 14px;
    font-weight: 600;
}

/* Performance Scroll Animations */
@keyframes fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

.animate-on-scroll {
    opacity: 0;
}

.animate-on-scroll.is-visible {
    animation: fadeInUp 0.6s ease-out forwards;
}