/* General Button & Container Styles */
.offer-button {
    font-size: 16px !important; /* Reduced from 28px which was too large */
    display: block;
    margin-top: 10px;
}

.btn {
    min-height: 44px;
    margin-bottom: 12px;
    display: inline-block; /* Changed from block for side-by-side */
    text-align: center;
}

/* Navbar Modifications */
.offer-v2 .navbar-other {
    display: none !important;
}

.offer-v2 .navbar-brand {
    display: flex;
    justify-content: center;
}

/* Card Container Styling */
.offer-container {
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    padding: 30px 25px;
    max-width: 90%;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}

.offer-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 6px;
    background: linear-gradient(90deg, #2b78e4, #4ca5ff);
}

/* Improved Spacing */
.social-proof {
    margin-top: 35px !important; /* Force spacing */
    margin-bottom: 35px !important; /* Force spacing */
}

/* Button Container Layout */
.button-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 40px auto 20px !important; /* Force more top spacing */
    position: relative;
    width: 100%; /* Ensure full width */
}

/* Primary Button Container for Arrow Positioning */
.primary-button-container {
    position: relative;
    display: inline-block;
    text-align: center;
    margin-bottom: 15px;
    width: auto; /* Let content determine width */
}

/* Primary Button Styling */
.btn-primary {
    background-color: #2b78e4 !important;
    border-color: #2b78e4 !important;
    color: white !important;
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    padding: 12px 30px !important; /* More horizontal padding */
}

/* Apply animation ONLY to offer buttons */
.offer-path {
    animation: pulse-effect 2s infinite;
}

/*
.btn-primary:disabled {
    background-color: #45c4a0 !important;
    border: #45c4a0 !important;
}
*/

.offer-v2 .offer-path {
    animation: pulse-effect 2s infinite;
}

/* Enhanced Pulse Animation */
@keyframes pulse-effect {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(74, 144, 226, 0.6); /* Increased opacity */
    }
    50% {
        transform: scale(1.04); /* Increased scale effect */
        box-shadow: 0 0 0 10px rgba(74, 144, 226, 0); /* Larger glow */
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(74, 144, 226, 0);
    }
}

/* Secondary Button Styling */
.btn-secondary {
    font-size: 0.9rem !important;
    padding: 10px 25px !important;
    opacity: 0.9;
    margin-top: 5px;
}

/* Social Proof Elements */
.social-proof {
    margin-top: 35px !important;
    margin-bottom: 35px !important;
    text-align: center;
    font-size: 0.9rem;
}

.star-rating {
    color: #ffcc00;
    margin-bottom: 10px;
}

.rating-count {
    color: #555;
    font-size: 0.85rem;
    margin-left: 5px;
}

/* Urgency Messaging - consolidated into one declaration */
.urgency-message {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2b78e4;
    font-weight: 500;
    font-size: 0.85rem;
    margin-bottom: 60px !important; /* INCREASED significantly to create more space */
}

.urgency-message svg {
    margin-right: 5px;
}

.urgency-icon {
    color: #2b78e4;
    margin-right: 5px;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0% { opacity: 0.7; }
    50% { opacity: 1; }
    100% { opacity: 0.7; }
}

.value-highlight {
    font-weight: 600;
    color: #2b78e4;
}

/* Fixed Directional Arrow */
.arrow-down {
    width: 40px;
    height: 30px;
    animation: float 2s ease-in-out infinite;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 100%;
    z-index: 5; /* Ensure arrow is visible */
    margin-bottom: 20px !important;
}

@keyframes float {
    0%, 100% { transform: translateX(-50%) translateY(0); }
    50% { transform: translateX(-50%) translateY(8px); }
}

/* Form Element */
.form-floating {
    text-align: left;
}

/* Clear any margins from paragraph elements inside the container */
.offer-container p {
    margin-bottom: 15px;
}

.offer-container h2 {
    margin-bottom: 20px !important;
}

/* Media Queries for Responsive Design */
@media (min-width: 768px) {
    .button-container {
        flex-direction: row;
        justify-content: center;
        gap: 25px; /* Increased gap for better spacing */
        margin-top: 75px !important; /* More space above buttons */
    }

    .button-container a.btn {
        min-width: 180px;
        width: auto;
        display: inline-block;
    }

    .primary-button-container {
        margin-bottom: 0;
    }

    /* Improved button sizing for desktop */
    .btn-primary {
        padding: 15px 35px !important;
    }

    .btn-secondary {
        padding: 12px 30px !important;
    }
}

@media (max-width: 767px) {
    /* Improve mobile spacing */
    .offer-container {
        padding: 25px 20px;
    }

    .urgency-message {
        margin-bottom: 50px !important;
    }

    .button-container {
        margin-top: 70px !important;
    }

    .arrow-down {
        margin-bottom: 10px;
    }
}