/* style.css */

/* General body styling */
body {
    font-family: 'Ogg';
    padding: 20px;
    background-color: #f0ead8; /* light crème */
}

.page-content {
    background-color: #f3f4f1;
    border-radius: 8px;
    padding: 20px;
    margin: 30px;
    /* max-width: 1200px; */
}


/* Form styling */
form {
    max-width: 300px;
    margin: auto;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Inputs and buttons */
input {
    padding: 8px;
}
button {
    padding: 8px;
    cursor: pointer;
}

/* Flash messages */
.flash {
    color: red;
    text-align: center;
}

/* Table styling */
table {
    border-collapse: separate; /* Removes lines between cells */
    border-spacing: 0; /* Ensures no extra spacing */
    width: 100%;
    border-radius: 8px; /* Rounds the corners */
    overflow: hidden; /* Ensures rounded corners apply */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Adds a subtle shadow */
}

table th, table td {
    padding: 12px 15px; /* Adds padding to cells */
    text-align: left; /* Aligns text to the left */
    background-color: #f9f9f9; /* Light background for cells */
}

table th {
    background-color: #e0e0e0; /* Slightly darker background for headers */
    font-weight: bold; /* Makes header text bold */
}

table tr:nth-child(even) td {
    background-color: #f3f3f3; /* Alternating row colors */
}

table tr:hover td {
    background-color: #eaeaea; /* Highlight row on hover */
}

/* Adjust table width for people.html */
.people-table {
    width: auto; /* Adjusts the table width to fit content */
    margin: 0; /* Removes centering */
    padding-left: 20px; /* Adds padding to the left */
}

.people-table th, .people-table td {
    padding: 8px 20px; /* Adjusts padding for smaller cells */
}

/* Action buttons */
.actions {
    white-space: nowrap;
}

a.item-link {
    color: blue;
}

/* If purchased, override link styling */
.purchased {
    text-decoration: line-through;
    color: #888;
}

td.actions {
    white-space: nowrap;  /* Prevent wrapping */
    width: 1%;            /* Shrink to minimum width */
    padding: 2px 4px;     /* Optional: tighten spacing */
}


.help-text {
    display: block;             /* ensures it takes full width */
    font-size: 0.75rem;        /* slightly smaller than default text */
    color: #6c757d;             /* subtle gray color for less emphasis */
    margin-top: 0.25rem;        /* small space above */
    margin-bottom: 0.5rem;      /* space below so it doesn't crowd inputs */
    line-height: 1;           /* makes it more readable */
    font-style: italic;
}

.help-text a {
    color: #0d6efd;             /* make links stand out */
    text-decoration: underline;  /* optional: emphasize links */
}

.help-text strong {
    color: #343a40;             /* slightly darker for emphasis */
}



.header-user {
    position: relative;
    display: flex;
    flex-direction: column;   /* stack text above bar */
    align-items: flex-end;    /* keep text right-aligned */
    gap: 4px;
    padding-bottom: 10px;
    font-size: 1.3rem;
}

/* Decorative accent bar
.header-user::after {
    content: none;
} */

.site-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px 30px;
    padding-bottom: 25px; /* Add padding to create space above the accent bar */
    position: relative; /* Ensure the header acts as a positioning context */
}

/* Styling for the new accent bar */
.accent-bar {
    position: absolute;
    bottom: 5px; /* Add padding from the bottom of the header */
    right: 30px; /* Add padding from the left */
    width: 45%; /* Adjust width to account for horizontal padding */
    height: 12px;
    background-color: var(--header-accent);
    border-radius: 4px; /* Optional: Add rounded corners for a polished look */
}

/* Add responsive design for mobile */
@media (max-width: 768px) {
    body {
        padding: 10px;
    }

    .page-content {
        margin: 10px;
        padding: 15px;
    }

    form {
        max-width: 100%;
        padding: 10px;
    }

    table {
        font-size: 0.9rem;
    }

    .people-table {
        padding-left: 10px;
    }

    .header-user {
        font-size: 1rem;
        align-items: center;
    }

    .site-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-start;
    }

    .header-user {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        font-size: 1rem;
    }

    .header-user span {
        margin-left: 10px;
    }


    .accent-bar {
        right: 10px; /* Start near the edge */
        width: 95%; /* Span almost the entire screen */
        height: 12px; /* Ensure height is consistent */
        background-color: var(--header-accent);
    }
}
