/* Custom CSS */

*, *::before, *::after {
    box-sizing: border-box;
    /* border: 1px solid red; */ /*Temporary border for debugging */
}


html {
    scroll-behavior: smooth;
    scroll-padding-top: 5rem; /* prevents section titles hiding behind navbar */
}


body {
    margin: 0;
    padding: 0;
}


html, body {
    overflow-x: hidden; /* Prevent horizontal scroll */
}


.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

.progress-dot {
    width: 12px;
    height: 12px;
    border-radius: 9999px;
    background-color: #e5e7eb; /* gray-300 */
    overflow: hidden;
    position: relative;
}

.progress-dot::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background-color: #D2691E; /* brand color */
    transition: left linear;
}

.progress-dot.active::after {
    left: 0;
    transition: left 3s linear; /* matches scroll interval */
}


/* Custom Pulse Animation */
@keyframes pulse-slow {

    0%,
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.6);
    }

    50% {
        transform: scale(1.1);
        box-shadow: 0 0 0 15px rgba(34, 197, 94, 0);
    }
}

.animate-pulse-slow {
    animation: pulse-slow 2.5s infinite;
}