/* Import Google Fonts (Fallback) */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

/* Dynamic background animations */
.rotate-anim {
    animation: rotateBackground 20s infinite linear;
}

@keyframes rotateBackground {
    0% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.2) rotate(180deg); }
    100% { transform: scale(1) rotate(360deg); }
}

/* Pulsing conversion CTA buttons */
@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.4);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

.btn-pulse {
    animation: pulseGlow 2.2s infinite;
}

/* Calculator Custom Slider Thumb Styles */
#days-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FF6B00; /* brandOrange */
    cursor: pointer;
    border: 3px solid #FFFFFF;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, background 0.2s ease;
}

#days-slider::-webkit-slider-thumb:hover {
    transform: scale(1.2);
    background: #d45900;
}

#days-slider::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #FF6B00;
    cursor: pointer;
    border: 3px solid #FFFFFF;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s ease, background 0.2s ease;
}

#days-slider::-moz-range-thumb:hover {
    transform: scale(1.2);
    background: #d45900;
}

/* Details summary transition mechanics (Smooth disclosure fallback) */
details summary::-webkit-details-marker {
    display: none;
}

details[open] {
    border-color: #0F4C81; /* brandBlue */
    box-shadow: 0 4px 15px -3px rgba(15, 76, 129, 0.08);
}

details {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Modal states */
.modal-backdrop.show {
    opacity: 1;
    pointer-events: auto;
}

.modal-backdrop.show .card-content {
    transform: scale(1);
}

/* Sticky show translations */
.sticky-btn-visible {
    transform: translateY(0) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
}

.sticky-bar-visible {
    transform: translateY(0) !important;
}
