body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-image: none;
    background: linear-gradient(180deg in oklch, #BEB69B 6%, rgba(118, 162, 164, 0.95) 20%, rgb(161 131 132 / 84%) 100%);

}


main {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 90vw;
    flex-shrink: 0;
   
}

header {
    background: none;
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    background: none !important;
    background-image: none !important;
    background-color: transparent !important;
    padding: 1vw 0;
    margin-top: 4%;
    position: relative;
}

#bottominfo {
    width: 100%;
    text-align: center;
    padding: 1vw 0;
}

#bottominfo p4 {
    font-family: 'Open Sans', sans-serif;
    font-size: 0.48vw;
    color: #333;
}

#title {
    background: none;
    padding: 0vw 0 2vw 0;
    position: relative;
    height: auto;
}

#staffSection {
    min-height: 100vh;
    padding: 0;
    padding-top: 4vw;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center; /* Center the section horizontally */
    padding-bottom: 2%;
}

#staffSection h1 {
    font-size: 4.5vw;
    /* background: linear-gradient(45deg, #ffffff, #76A2A4); */
    /* background: linear-gradient(45deg, #cbcbcbd6, #98d1d3d9); , ); */
    background: linear-gradient(45deg, #dbd9d9d6, #c7f0f1d9);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-align: center;
    margin: 2vw 0 6vw 0;
    position: relative;
    padding-top: unset;
}

#staffGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Explicitly define 3 columns */
    gap: 3vw;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    justify-content: center; /* Center the grid items */
}

/* Remove or comment out the individual staff member centering since it's no longer needed */
/* 
#staffGrid > .staffMember:nth-child(4),
#staffGrid > .staffMember:nth-child(5),
#staffGrid > .staffMember:nth-child(6) {
    justify-self: center;
}
*/

.staffMember {
    background: rgb(255 255 255 / 0%);
    border-radius: 2vw;
    padding: 2vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.staffMember img {
    opacity: 92%;
}

.staffMember:hover {
    transform: translateY(-0.5vw);
    box-shadow: 
        0 1vw 2vw rgba(0, 0, 0, 0.1),
        0 0.5vw 1vw rgba(118, 162, 164, 0.2);
}

.staffMember:hover::after {
    transform: scaleX(1);
}

.photoPlaceholder {
    width: 18vw;
    height: 18vw;
    border-radius: 50%;
    margin: -3vw auto 1vw;
    overflow: hidden;
    position: relative;
    box-shadow: 
        0 0.5vw 1.5vw rgba(0, 0, 0, 0.1),
        0 0 0 0.5vw rgba(255, 255, 255, 0.5);
    transform: translateY(0);
    transition: transform 0.4s ease;
}

.photoPlaceholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.staffMember:hover .photoPlaceholder {
    transform: translateY(0.5vw);
}

.staffMember:hover .photoPlaceholder img {
    transform: scale(1.1) rotate(2deg);
}

.staffMember h6 {
    font-size: 2vw;
    margin: 1vw 0;
    text-decoration: none;
    background: linear-gradient(45deg in oklch, #ffffff7a, #a2bcbe);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
    transition: all 0.3s ease;
}

.staffMember p1 {
    text-align: center;
    font-size: 1.1vw;
    line-height: 1.6;
    color: #555;
    margin: 0.5vw 1vw;
    opacity: 1; /* Ensure text is visible */
    transform: translateY(0); /* Ensure text is in the correct position */
    transition: all 0.4s ease;
}

.staffMember:hover p1 {
    opacity: 1;
    transform: translateY(0);
}

/* Refined Staff Page Styles */

#staffGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Explicitly define 3 columns */
    gap: 3vw;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    justify-content: center; /* Center the grid items */
}

/* Remove or comment out the individual staff member centering since it's no longer needed */
/* 
#staffGrid > .staffMember:nth-child(4),
#staffGrid > .staffMember:nth-child(5),
#staffGrid > .staffMember:nth-child(6) {
    justify-self: center;
}
*/

.staffMember {
    border-radius: 1.5vw;
    padding: 2vw;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.staffMember::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.3vw;
    background: linear-gradient(90deg, #ffffff24, #ffffff1a);
    transform: scaleX(0);
    transition: transform 0.4s ease;
}

.staffMember:hover {
    transform: translateY(-0.8vw);
    box-shadow: 0 1vw 2vw rgba(0, 0, 0, 0.1);
}

.staffMember:hover::before {
    transform: scaleX(1);
}

.photoPlaceholder {
    width: 15vw;
    height: 15vw;
    border-radius: 1vw;
    margin: -1vw auto 1.5vw;
    overflow: hidden;
    position: relative;
    box-shadow: 0 0.5vw 1.5vw rgba(0, 0, 0, 0.1);
}

.photoPlaceholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.photoPlaceholder:hover img {
    transform: scale(1.08);
}

.staffMember h6 {
    font-size: 1.8vw;
    margin: 1vw 0;
    text-decoration: none;
    color: #865C5E;
    transition: color 0.3s ease;
}

.staffMember:hover h6 {
    color: #76A2A4;
}

.staffMember p1 {
    display: block;
    font-size: 1vw;
    line-height: 1.6;
    color: #555;
    margin-top: 0.5vw;
    opacity: 0.9;
}
.moreText p {
    text-align: center;
    font-size: 1vw; /* Match the font size of p1 */
    line-height: 1.6;
    color: #555;
    margin: 0.5vw 1vw;
    opacity: 0;
    transform: translateY(1vw);
    transition: all 0.4s ease;
}
.BookBtn {
    background-color: #4a4baf;
    color: white;
    border: none;
    padding: 0.5vw 1vw;
    font-size: 1vw;
    font-family: 'Sansita Swashed', sans-serif;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    margin-top: 1vw;
    border-radius: 0.5vw;
    box-shadow: 0 0.3vw 0.6vw rgba(0, 0, 0, 0.1);
}

.BookBtn:hover {
    background-color: rgb(53, 77, 78);
    transform: translateY(-0.2vw);
}

.readMoreBtn {
    background-color: #76A2A4;
    color: white;
    border: none;
    padding: 0.5vw 1vw;
    font-size: 1vw;
    font-family: 'Sansita Swashed', sans-serif;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease;
    margin-top: 1vw;
    border-radius: 0.5vw;
    box-shadow: 0 0.3vw 0.6vw rgba(0, 0, 0, 0.1);
}

.addBook{
    gap: 12%;
    display: flex;
    width: 80%;
    align-items: center;
    align-content: center;
    justify-content: center;
}
/* Mobile Styles */
@media (max-width: 768px) {
    .addBook{
        gap: 2%;
    }
    #staffSection h1 {
        font-size: 6vw;
        margin: 4vw 0 8vw 0;
    }

    #staffGrid {
        grid-template-columns: repeat(auto-fit, minmax(40vw, 1fr));
        gap: 5vw;
        width: 95%;
        padding: 4vw;
    }

    main {
        padding-top: 5vw;
    }

    .staffMember {
        border-radius: 3vw;
        padding: 4vw;
    }

    .photoPlaceholder {
        width: 30vw;
        height: 30vw;
        border-radius: 50%;
        margin: -5vw auto 2vw;
    }

    .staffMember h6 {
        font-size: 4vw;
        margin: 2vw 0;
    }

    .staffMember p1 {
        font-size: 2.5vw;
        margin: 1vw 2vw;
    }

    .moreText p {
        font-size: 2.5vw;
    }

    .readMoreBtn {
        font-size: 3vw;
        padding: 1.25vw 2.5vw;
        border-radius: 1.5vw;
        scale: 77%;
    }
    body > main > main > footer > p4 {
        font-size: 1.35vw;
    }
    .BookBtn {
        font-size: 3vw;
        padding: 1.25vw 2.5vw;
        border-radius: 1.5vw;
        scale: 77%;
    }
    
}

/* Styles for the "Read More" button and the hidden text */
.moreText {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease;
}

.moreText.show {
    max-height: 10vw; /* Adjust as needed */
    overflow-y: auto; /* Add vertical scroll bar */
    position: relative; /* Ensure the pseudo-element stays inside */
}

.moreText::-webkit-scrollbar {
    width: 0; /* Remove scrollbar space */
    background: transparent; /* Optional: just make scrollbar invisible */
}

.moreText p {
    text-align: center;
    font-size: 1vw; /* Match the font size of p1 */
    line-height: 1.6;
    color: #555;
    margin: 0.5vw 1vw;
    opacity: 0;
    transform: translateY(1vw);
    transition: all 0.4s ease;
}

.moreText.show p {
    opacity: 1;
    transform: translateY(0);
}

.readMoreBtn:hover {
    background-color: #5a8284;
    transform: translateY(-0.2vw);
}

/* Remove blur effect */
/* .moreText.show::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3vw;
    pointer-events: none;
    background: transparent;
    backdrop-filter: blur(6px);
} */

.moreText.show p {
    opacity: 1;
    transform: translateY(0);
}


#hours > h6 {
    padding-bottom: 1.5%;
}

/* Center the last item when it's alone in the last row */
#staffGrid > .staffMember:last-child:nth-child(3n+1) {
    grid-column: 2; /* Position in the middle column */
}

/* If you have exactly 2 items in the last row, center them */
#staffGrid > .staffMember:nth-last-child(2):nth-child(3n+1),
#staffGrid > .staffMember:last-child:nth-child(3n+2) {
    margin-left: auto;
    margin-right: auto;
}

/* Specifically for Margy's tile */
#staffGrid > .staffMember:last-child {
    justify-self: center;
}

/* Your existing desktop styles */
#staffGrid > .staffMember:last-child:nth-child(3n+1) {
    grid-column: 2; /* Position in the middle column */
}

#staffGrid > .staffMember:nth-last-child(2):nth-child(3n+1),
#staffGrid > .staffMember:last-child:nth-child(3n+2) {
    margin-left: auto;
    margin-right: auto;
}

#staffGrid > .staffMember:last-child {
    justify-self: center;
}

/* Add these mobile-specific styles */
@media (max-width: 768px) {
    /* Reset grid positioning for mobile */
    #staffGrid {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    /* Make all staff members take full width and center them */
    #staffGrid > .staffMember {
        width: 90%;
        margin-left: auto;
        margin-right: auto;
        justify-self: center;
    }
    
    /* Specifically target the last item to ensure it's centered */
    #staffGrid > .staffMember:last-child {
        margin-left: auto;
        margin-right: auto;
    }
}





