/* General Styles */
body {
    font-family: sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
    color: #333;
}

header {
    background: #333;
    color: #fff;
    padding: 1rem 0;
    text-align: center;
    position: sticky; /* Make header sticky */
    top: 0;
    z-index: 1000; /* Ensure header stays on top */
    width: 100%;
}

header h1 {
    margin: 0;
    padding-bottom: 0.5rem;
}

header nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

header nav ul li {
    display: inline;
    margin: 0 15px;
}

header nav ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

header nav ul li a:hover,
header nav ul li a.active {
    color: #a3d5ff; /* Highlight color */
}

main {
    padding: 20px;
    max-width: 1200px;
    margin: 20px auto; /* Add margin-top to avoid overlap with sticky header */
}

section {
    background: #fff;
    margin-bottom: 20px;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

section h2 {
    color: #333;
    border-bottom: 2px solid #a3d5ff;
    padding-bottom: 10px;
    margin-bottom: 20px;
    display: flex; /* Align icon and text */
    align-items: center;
}

section h3 {
    color: #555;
    margin-top: 25px;
    margin-bottom: 15px;
    display: flex; /* Align icon and text */
    align-items: center;
}

section h2 i, section h3 i {
    margin-right: 10px; /* Space between icon and text */
    color: #007bff; /* Icon color */
}


ul, ol {
    padding-left: 20px;
}

li {
    margin-bottom: 10px;
}

strong {
    font-weight: bold;
}

.hero-image {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
    margin: 15px 0;
    display: block; /* Center image */
    margin-left: auto;
    margin-right: auto;
    max-height: 300px; /* Limit height */
    width: auto; /* Maintain aspect ratio */
}

/* Card layout for initial overview */
.card-container {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: center;
}

.card {
    background: #e9e9e9;
    padding: 20px;
    border-radius: 5px;
    flex-basis: calc(50% - 40px); /* Two cards per row */
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    min-width: 250px;
}

.card h3 a {
    color: #333;
    text-decoration: none;
}

.card h3 a:hover {
    text-decoration: underline;
}

/* Audit Section Specifics */
#audit-recommendations ol li i {
    margin-right: 8px;
    color: #28a745; /* Green check for recommendations */
}

#audit ul li i {
    margin-right: 8px;
    color: #dc3545; /* Red warning for issues */
}

/* Brand Guide Specifics */
.platform-icons {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 15px;
}

.platform-icons div {
    display: flex;
    align-items: center;
    background-color: #f0f0f0;
    padding: 8px 12px;
    border-radius: 5px;
}

.platform-icons i {
    margin-right: 8px;
    font-size: 1.2em;
    color: #007bff;
}

/* Chart Containers */
.chart-container {
    position: relative;
    height: 300px; /* Default height */
    width: 90%; /* Default width */
    max-width: 600px; /* Max width */
    margin: 20px auto; /* Center chart */
    background: #f9f9f9;
    padding: 15px;
    border-radius: 5px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.1);
}

footer {
    text-align: center;
    padding: 15px;
    margin-top: 30px;
    background: #333;
    color: #fff;
}

/* Responsive Design */
@media (max-width: 768px) {
    header nav ul li {
        display: block;
        margin: 10px 0;
    }

    .card-container {
        flex-direction: column;
    }

    .card {
        flex-basis: 100%;
    }

    .chart-container {
        width: 100%;
        height: 250px; /* Adjust height for smaller screens */
    }
}




/* Detailed Content Calendar Table Styles */
.table-container {
    overflow-x: auto; /* Enable horizontal scrolling on small screens */
    margin-top: 20px;
}

.content-calendar-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em; /* Slightly smaller font for table */
    min-width: 1000px; /* Ensure table has minimum width for scrolling */
}

.content-calendar-table th,
.content-calendar-table td {
    border: 1px solid #ddd;
    padding: 8px 10px;
    text-align: left;
    vertical-align: top; /* Align content to top */
}

.content-calendar-table thead th {
    background-color: #f2f2f2;
    font-weight: bold;
    position: sticky; /* Make header sticky within the container */
    top: 0; /* Stick to the top of the container */
    z-index: 10;
}

.content-calendar-table tbody tr:nth-child(even) {
    background-color: #f9f9f9;
}

.content-calendar-table tbody tr:hover {
    background-color: #f1f1f1;
}

/* Adjust specific column widths if needed */
.content-calendar-table th:nth-child(1), /* Month */
.content-calendar-table td:nth-child(1) {
    min-width: 80px;
}
 .content-calendar-table th:nth-child(8), /* Core Message */
.content-calendar-table td:nth-child(8) {
    min-width: 250px; /* Give more space for copy */
}
.content-calendar-table th:nth-child(10), /* Hashtags */
.content-calendar-table td:nth-child(10) {
    min-width: 200px; /* Give more space for hashtags */
}

