/*body, html {
    font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    font-weight: 300;
    font-size: 18px;
    margin-left: auto;
    margin-right: auto;
    width: 1100px;
    background-color: #fff !important;
}*/

/* === Fix: let <b> and <strong> render in real bold === */
body, html{
    /* use the full family, which has both light and bold weights */
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;                 /* keep the light look for body text */
    font-size: 18px;
    margin-left: auto;
    margin-right: auto;
    width: 1100px;
    background-color: #fff !important;
}

b, strong{
    font-weight: 700 !important;      /* force a true bold face */
}

.container {
    max-width: 1000px;
    margin: 0 auto;
}

h1 {
    font-size: 50px;
    margin-bottom: 10px;
}

p {
    font-size: 20px;
}

body {
    background-color: #f8f8f8;
}

.resource-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.resource-button {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #777;
    color: white;
    padding: 10px 20px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
}

.resource-button img {
    width: 18px;
    height: 18px;
}

.grid-container {
    display: grid;
    grid-template-columns: 1fr 50px 1fr 50px 1fr 50px;
    gap: 10px;
    align-items: center;
    justify-content: center;
    margin: 20px; 
    padding: 13px;
    width:900px;
    border: 4px solid black; /* Thicker border around the grid */
    border-radius: 10px;
}

.waveform {
    width: 300px;
    height: 80px;
    background: #f0f0f0;
    border-radius: 5px;
    padding: 2px;
}

.play-button {
    cursor: pointer;
    padding: 5px 10px;
    background: #007bff;
    color: white;
    border: none;
    border-radius: 5px;
    margin-top: 5px;
}

.text-label {
    font-size: 16px;
    text-align: center;
    border: none;
}

.arrow {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    /* Remove or reduce the gap property if it's adding extra space */
    /* gap: 40px; */
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1;
    margin: 0; /* Add this line to remove extra vertical space */
}

.audio-container-wrapper {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-rows: auto auto auto;
    justify-items: center;
    align-items: center;
    gap: 40px; /* Increase spacing between rows */
}

.audio-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 100px; /* Increase spacing between rows */
}

.column {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0; /* Remove padding to align borders */
    margin: 0; /* Remove margin to align borders */
    box-sizing: border-box;
}

.arrow {
    font-size: 48px;
    line-height: 100px; /* Adjust alignment with waveforms */
    font-weight: bold;
}

.topnav {
    overflow: hidden;
    background-color: #EEEEEE;
}

.topnav a {
    color: black;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
    font-size: 16px;
}

.audio-table {
    width: 900px;
    border: 4px solid black;
    border-radius: 10px;
    padding: 5px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
/*    background-color: #f9f9f9;*/
}

.audio-table-im {
    width: 750px;
    border: 4px solid black;
    border-radius: 10px;
    padding: 5px;
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
/*    background-color: #f9f9f9;*/
}

.audio-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0px; /* Reduced spacing */
}

/* More space between first & second elements in top/bottom rows */
.audio-container.wide-gap {
    gap: 120px; /* Increased spacing */
}

/* Normal spacing for middle row */
.audio-container.normal-gap {
    gap: 20px;
}

.column {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 2px solid gray;
    padding: 5px;
    border-radius: 5px;
    background-color: white;
    justify-content: center; /* Center content vertically */
}

.waveform {
    width: 200px;
    height: 80px;
    border: 2px solid #333;
    border-radius: 5px;
    background-color: white;
    margin-bottom: 3px;
}

.waveform_small {
    width: 150px;
    height: 80px;
    border: 2px solid #333;
    border-radius: 5px;
    background-color: white;
    padding: 3px;
    margin-bottom: 3px;
}

.play-button {
    padding: 3px 8px;
    border: 2px solid #555;
    border-radius: 5px;
    background-color: lightgray;
    cursor: pointer;
}

.text-label {
    text-align: center;
    font-weight: bold;
    padding: 3px;
    width: 220px;
    font-size: 14px;
}

.fixed-heightTwo {
    height: 47px;
    display: block;
}

.fixed-height {
    height: 70px;
    display: block;
}

.table-striped {
    width: 1000px;
    table-layout: fixed; /* Ensures uniform column width */
    border-collapse: separate; /* Changed from collapse to separate */
    border-spacing: 0; /* Ensures no spacing between cells */
    border: 4px solid black;
    border-radius: 10px;
    margin: 0 auto;
    overflow: hidden; /* Ensures rounded corners are visible */
}

.table-striped caption {
    width: 900px; /* Desired fixed width */
    margin: 0 auto; /* Center horizontally */
    text-align: center; /* Center the text itself */
}

.table-striped th,.table-striped td {
    /* height: 100px; Ensures all rows have the same height */
    text-align: center;
    vertical-align: top; /* Aligns content to the top */
    padding: 5px;
    word-wrap: break-word; /* Prevents text from breaking layout */
    overflow-wrap: break-word; /* Ensures text wraps correctly */
}



.table-striped thead,
.table-striped tbody {
    display: table-row-group;
    vertical-align: middle;
    border-color: inherit;
}

.table-striped thead tr,
.table-striped tbody tr {
    display: table-row;
    vertical-align: inherit;
    border-color: inherit;
}

hr {
    margin: 0;
    border: 0;
    height: 1.5px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
}

/* ---- video-toggle styles ---- */
.video-tabs           { text-align:center; margin: 0 auto; }
.video-buttons        { display:inline-flex; gap:12px; margin: 8px 0 14px; }
.video-tab            {
    font: 16px/1 "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding: 8px 20px;
    border: 2px solid #777;          /* matches your grey pill buttons */
    border-radius: 20px;
    background:#777; color:#fff;
    cursor:pointer; transition:.15s;
}
.video-tab:hover      { background:#555; }
.video-tab.active     {                      /* highlighted pill */
    background:#fff; color:#777;
    border-color:#777; font-weight:700;
}
.video-wrapper iframe { max-width:100%; }

/* ---- video-toggle pills ---- */
.video-buttons { gap: 15px; }             /* same spacing as other resource-buttons */

.video-tab.active {                       /* highlighted pill */
    background-color: #76B900;            /* NVIDIA green */
    color: #fff;
}