/* styles.css */

body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #FFFFFF; /* White background */
    color: #333333; /* Dark gray text */
    overflow-y: scroll; /* Ensure vertical scrolling is enabled */
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 35px;
    background-color: #FFFFFF;
    border-bottom: 0.5px solid #000;
    color: #333333; /* Dark gray text */
    position: relative;
    z-index: 1001;
}

.main-content {
    margin-left: 50px; /* Adjust the value as needed */
    min-height: 100vh;
}

.header-logo {
    display: flex;
    align-items: center;
}

.nav-container {
    display: flex;
    justify-content: flex-end;
    flex-grow: 1;
}

.header-menu ul {
    list-style-type: none;
    display: flex;
    padding: 0;
    margin: 0;
}

    .header-menu ul li {
        margin-left: 20px; /* Adds space between the menu items */
    }

        .header-menu ul li a {
            text-decoration: none;
            color: #333333; /* Dark gray text */
            font-weight: bold; /* Makes the text bold */
            padding: 10px; /* Padding to create initial clickable area */
            border-radius: 10px; /* Rounded corners */
            box-shadow: 0 0 0 0 transparent; /* Initial box-shadow, invisible */
        }

            .header-menu ul li a:hover {
                background-color: #1367F9; /* Light gray background on hover */
                box-shadow: 0 2px 4px rgba(0,0,0,0.2); /* Subtle shadow for depth */
                color: #FFFFFF;
            }

:root {
    --container-max-width: 1920px; /* Set a default maximum width */
}

section {
    color: #333333; /* Dark gray text */
    padding: 10px 0;
}

    section h2 {
        color: #272727;
        margin-bottom: 20px;
        padding-top: 10px;
        text-align: center;
    }

.beat-button {
    display: block;
    width: 100%;
    background-color: #13A2F9;
    color: white;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    margin-bottom: 10px;
    cursor: pointer;
    font-size: 16px;
    text-align: center;
    transition: background-color 0.3s ease;
}

    .beat-button.playing {
        background-color: #3742fa;
    }

    /* Hover effect for the buttons */
    .beat-button:hover {
        background-color: #1367F9;
    }

    .beat-button:active {
        background-color: #1b75cd;
    }

.beat-list {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
.container {
    display: flex;
    flex-direction: column; /* Stacks children vertically */
    gap: 10px; /* Adds space between children */
    background-color: #f9f9f9; /* Light background color for the container */
    padding: 15px; /* Padding inside each beat container */
    box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Adds a subtle shadow for depth */
    margin: 10px;
}

.beat-container {
    position: relative;
    padding: 10px;
    border: 1px solid #ccc;
    margin-bottom: 20px;
}

.beat-item{
    display: flex;
    align-items: center;
    width: 100%;
    max-width: var(--container-max-width);
    margin: 2px auto;
    border-top: 1px solid #333333; /* Dark gray border */
    background: transparent;
    background-color: #FAF9F6;
}

/* Style the beat image to ensure it fits well within the layout */
.beat-image {
    width: 100%; /* Makes the image responsive, adjusting to the container's width */
    height: auto; /* Maintains the aspect ratio of the image */
    border-radius: 4px; /* Adds rounded corners to the image */
}

.beat-title {
    font-size: 1.2rem; /* Increases the font size */
    margin-bottom: 10px; /* Adds space below the title */
    text-align: center; /* Centers the title */
}

.beat-title-container {
    position: absolute;
    top: 10px;
    left: 10px;
}

.beat-audio-container {
    display: flex;
    align-items: center;
    width: 80%;
    gap: 10px; /* Adds space between the elements */
    margin-top: 40px; /* Add space to avoid overlap with the title */
}

.playButton {
    margin-right: 40px; /* Space between play button and beat info */
    background: none;
    border: none;
    cursor: pointer;
    outline: none;
    font-size: 24px; /* Adjust size as needed */
    color: #000000; /* Black color */
    height: auto; /* Ensure no fixed height */
    width: auto; /* Ensure no fixed width */
}

    .playButton svg, .playPauseButton svg {
        fill: #000000; /* Black fill */
        height: 40%;
        width: 40%;
    }

.info-container {
    display: flex;
    flex-wrap: wrap; /* Allows items to wrap to the next line on small screens */
    gap: 10px; /* Adds space between info items */
    justify-content: center; /* Centers the info items horizontally */
}

.waveform-container {
    margin-right: 20px; /* Space between waveform and shopping cart */
    background-color: #FAF9F6;
}

.cart-icon-link {
    color: #000000; /* Black color */
    font-size: 24px; /* Adjust the size as needed */
    padding: 10px; /* Adds some space around the icon */
    background-color: #E3F2FD; /* Light blue background */
    border-radius: 8px; /* Rounded edges */
    display: inline-block; /* Ensures the element respects padding and border */
    overflow: hidden; /* Prevents content from overflowing */
}

.beat-item h3 {
    margin-top: 0;
    background-color: #FAF9F6;
}

    .beat-item h3 a {
        color: #000000; /* Black text */
        text-decoration: none; /* Remove underlining */
        padding: 10px 15px;
        display: inline-block; /* Ensure padding is applied */
        border-radius: 8px; /* Rounded edges */
    }

        .beat-item h3 a:visited {
            color: #000000; /* Black text for visited links */
            text-decoration: none; /* Remove underlining */
        }

.waveform {
    display: block;
    height: 70px;
    width: 90%;
}

.footer-container {
    position: relative;
    left: 0; /* Align to the left edge of the viewport */
    bottom: 0; /* Align to the bottom edge of the viewport */
    width: 100%; /* Ensure it spans the full width of the viewport */
    color: white; /* Optional: Change the text color */
    text-align: center; /* Optional: Center-align the text */
    padding: 10px 0; /* Optional: Add some padding */
}

footer {
    position: relative;
    left: 0;
    bottom: 0;
    width: 100%; /* Ensures the footer spans the full width of the viewport */
    height: 50px; /* Sets the height of the footer */
    color: white; /* Example text color, adjust as needed */
    text-align: center; /* Centers the content within the footer */
}

    footer nav ul {
        list-style-type: none;
        padding: 0;
    }

        footer nav ul li {
            margin-bottom: 10px;
        }

            footer nav ul li a {
                text-decoration: none;
                color: #007BFF; /* Vibrant blue for links */
            }

    footer p {
        color: #333333; /* Dark gray text color */
        margin-top: 20px;
        bottom: 0;
        right: 0;
    }

form {
    align-items: center;
    display: flex;
    flex-direction: column;
}

    form label, form input, form textarea {
        background: rgba(255, 248, 237, 0.9);
        border: 1px solid #007BFF; /* Vibrant blue border */
        border-radius: 5px;
        margin-bottom: 10px;
        max-width: 600px;
        padding: 10px;
        width: 100%;
    }

    form button {
        background: #007BFF; /* Vibrant blue background */
        border: none;
        border-radius: 5px;
        color: #FFFFFF; /* White text */
        cursor: pointer;
        padding: 10px 20px;
    }

@media (max-width: 1568px) {
    .beat-item {
        flex-direction: column;
    }

    .waveform-container {
        margin-bottom: 0;
        width: 100%;
    }
}

.buy-button {
    background-color: #007BFF; /* Vibrant blue background */
    color: #FFFFFF; /* White text */
    padding: 10px 20px; /* Top and bottom padding of 10px, left and right padding of 20px */
    border: none; /* No border */
    border-radius: 15px; /* Rounded edges with a radius of 15px */
    cursor: pointer; /* Changes the cursor to a pointer on hover */
    font-size: 16px; /* Font size of 16px */
}

.playPauseButton-container {
    display: flex;
    justify-content: center; /* Center the play/pause button */
    align-items: center;
    flex: 1; /* Allow the container to grow and shrink */
}

.playPauseButton {
    background: none;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    margin: 0;
}

#bottomPlayPauseBar {
    opacity: 1; /* Set opacity to 1 */
    position: fixed;
    bottom: 0; /* Anchors the bar to the bottom of the viewport */
    left: 0;
    right: 0;
    background-color: #FFFFFF; /* White background */
    color: #000000; /* Black text color */
    text-align: center;
    padding: 10px;
    border-top: 2px solid #000000; /* Black line at the top */
    height: 40px; /* Fixed height to prevent shifting */
    display: none;
    align-items: center;
    justify-content: center;
}

.visible {display: flex;}

    #bottomPlayPauseBar .playPauseButton svg {
        fill: #000000; /* Black play/pause icon */
    }

.info-item {
    padding: 8px;
    font-size: 14px;
}

.audio {
    width: 1px;
    height: 1px;
    position: absolute;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
}

#loadMoreTrigger {
    visibility: hidden; /* Makes the element invisible */
    height: 1px; /* Minimal height to ensure it occupies space */
    width: 100%; /* Full width to ensure it spans across any container */
    position: absolute; /* Positions it out of the normal document flow */
    bottom: 0; /* Aligns it at the bottom of its parent container */
}

#audioElement {
    display: none;
}

.waveform {
    width: 100%;
    height: 60px; /* Adjust the height as needed */
    margin-bottom: 10px;
}

.beat-audio {
    width: 50%; /* Make the audio player full width */
    margin-bottom: 10px; /* Add some space below the audio player */
    background-color: #f9f9f9; /* Light background color */
    padding: 5px; /* Add some padding inside the audio player */
    flex-grow: 1;
    height: 30px; /* Adjust the height as needed */
}

.elapsed-time, .total-duration {
    font-size: 14px;
    color: #000000; /* Black text */
}

/* Style the audio controls */
/* Hide the default audio controls */
audio::-webkit-media-controls-current-time-display,
audio::-webkit-media-controls-time-remaining-display {
    display: none;
}

/* Firefox specific styles */
audio::-moz-media-controls-current-time-display,
audio::-moz-media-controls-time-remaining-display {
    display: none;
}

/* Visualizer canvas */
.visualizer {
    width: 100%;
    height: 50px;
    border-radius: 5px;
}

