/* General Styles */
body {
    font-family: "Asap", "Source Sans Pro", "PI Serif", sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f9f9f9;
    color: #677884; /* Consul text color */
}

header {
    display: flex;
    flex-direction: column;  /* Stack elements vertically */
    align-items: center;     /* Center content */
    text-align: center;
    padding: 10px;
}

.logo {
    max-width: 150px; /* Adjust logo size for mobile */
    height: auto;
}

.city-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 5px;
}


header .logo {
    height: 50px;
    margin-right: 15px;
}

header h1 {
    margin: 0;
    font-size: 2rem;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for headers */
    font-weight: 700; /* Bold */
    color: black; /* Black font color */
    flex: 1; /* Allow the title to take up remaining space */
    text-align: center; /* Align the title to the left */
    /* padding-right: 11%;  */
}

/* Main Content */
.container {
    max-width: 1200px;
    margin: 20px auto;
    padding: 20px;
    background-color: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

/* City Selection Block */
.city-selection {
    max-width: 600px;
    margin: 50px auto;
    padding: 20px;
    background-color: #4bc7ff;
    color: white;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    text-align: center;
}

.city-selection label {
    display: block;
    margin-bottom: 10px;
    font-size: 1.2rem;
    font-family: "Asap", sans-serif; /* Use Asap for labels */
    font-weight: 400; /* Regular */
}



.city-selection select {
    width: 100%;
    padding: 10px;
    margin-bottom: 20px;
    border: none;
    border-radius: 5px;
    font-size: 1rem;
    background-color: white;
    color: #333;
    appearance: none; /* Remove default arrow */
    -webkit-appearance: none; /* Remove default arrow for Safari */
    -moz-appearance: none; /* Remove default arrow for Firefox */
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007BFF%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 12px;
    font-family: "Asap", sans-serif; /* Use Asap for dropdown */
}

.city-selection select:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.5);
}

/* Generate Report Button */
.city-selection button {
    width: 100%;
    padding: 10px;
    background-color: #007BFF; /* Blue background */
    color: white; /* White text */
    border: none;
    border-radius: 5px;
    font-size: 1rem;
    cursor: pointer;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for buttons */
    font-weight: 700; /* Bold */
}

.city-selection button:hover {
    background-color: #0056b3; /* Darker blue on hover */
}

/* Comments Section */
.comments {
    margin-top: 20px;
}

.comment {
    background-color: #f1f1f1;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.comment-text {
    margin: 0;
    font-size: 1.1rem;
    color: #333;
    font-family: "Asap", sans-serif; /* Use Asap for comment text */
}

.comment-details {
    margin-top: 10px;
    font-size: 0.9rem;
    color: #555;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for details */
}

.comment-details .author {
    font-weight: bold;
    color: #007BFF;
}

.comment-details .likes,
.comment-details .dislikes {
    margin-right: 10px;
}

.comment-details .controversy {
    font-style: italic;
}

/* Plots */
.plot {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Footer */
footer {
    background-color: #007BFF;
    color: white;
    text-align: center;
    padding: 15px;
    margin-top: 40px;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for footer */
}

footer a {
    color: white;
    text-decoration: none;
}

footer a:hover {
    text-decoration: underline;
}

/* Download Link */
.download-link {
    display: block;
    margin: 20px auto;
    width: fit-content;
    padding: 10px 20px;
    background-color: #28a745;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for download link */
    font-weight: 700; /* Bold */
}

.download-link:hover {
    background-color: #218838;
}

/* Stats Blocks */
.stats-blocks {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.stat-block {
    background-color: #4bc7ff;
    color: white;
    padding: 20px;
    border-radius: 8px;
    flex: 1;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.stat-block h3 {
    margin: 0 0 10px;
    font-size: 1.2rem;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for stats headers */
    font-weight: 700; /* Bold */
}

.stat-block p {
    margin: 0;
    font-size: 1rem;
    font-family: "Asap", sans-serif; /* Use Asap for stats text */
}

/* Responsive Design for Stats Blocks */
@media (max-width: 768px) {
    .stats-blocks {
        flex-direction: column;
    }
}

/* Summary Section */
.summary-section {
    margin: 20px 0;
    padding: 20px;
    background-color: white;
    color: black;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.summary-header {
    margin: 0 0 10px;
    font-size: 1.5rem;
    font-family: "Source Sans Pro", sans-serif; /* Use Source Sans Pro for summary header */
    font-weight: 700; /* Bold */
}

.ai-insights {
    margin: 0 0 10px;
    font-size: 1rem;
    opacity: 0.9;
    color: #4bc7ff; /* Changed to blue */
    font-family: "Asap", sans-serif; /* Use Asap for AI insights */
}

.report-date {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.8;
    color: #4bc7ff; /* Changed to blue */
    font-family: "Asap", sans-serif; /* Use Asap for date */
}

/* Hover Effects */
.city-selection button {
    transition: transform 0.2s ease; /* Smooth transition for scaling */
}

.city-selection button:hover {
    transform: scale(1.02); /* Slight size increase */
}

.stat-block {
    transition: transform 0.2s ease; /* Smooth transition for scaling */
}

.stat-block:hover {
    transform: scale(1.02); /* Slight size increase */
}

.comment {
    transition: transform 0.2s ease; /* Smooth transition for scaling */
}

.comment:hover {
    transform: scale(1.02); /* Slight size increase */
}

.download-link {
    transition: transform 0.2s ease; /* Smooth transition for scaling */
}

.download-link:hover {
    transform: scale(1.02); /* Slight size increase */
}


.comment-link {
    color: #007BFF;
    text-decoration: none;
    margin-left: 10px;
}

.comment-link:hover {
    text-decoration: underline;
}

/* Proposals Container */
.proposals-container {
    display: flex;
    flex-direction: column;
    gap: 10px; /* Space between proposals */
    margin: 20px 0;
}

/* Individual Proposal */
.proposal {
    background-color: #f1f1f1; /* Gray background */
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease; /* Smooth hover effect */
}

.proposal:hover {
    transform: scale(1.02); /* Slight zoom effect on hover */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Enhanced shadow on hover */
}

/* Proposal Title */
.proposal-title {
    font-size: 1.1rem; /* Slightly larger font */
    color: #007BFF; /* Link color */
    text-decoration: none; /* Remove underline */
}

.proposal-title:hover {
    text-decoration: underline; /* Add underline on hover */
}

/* Supporters Text */
.supporters {
    font-size: 1rem; /* Slightly smaller font */
    color: #555; /* Muted color for supporters */
    margin-left: 10px; /* Space between title and supporters */
}

/* No Data Message */
.no-data {
    font-size: 1.1rem;
    color: #555;
    margin: 0;
}   


/* Flex container for side-by-side charts */
.plots-container {
    display: flex;
    justify-content: space-between; /* Space between charts */
    gap: 20px; /* Adds spacing between items */
    margin-top: 20px;
}

/* Individual plot item */
.plot-item {
    flex: 1; /* Allow items to take equal space */
    text-align: center;
}

/* Ensure images are responsive */
.plot-item img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

/* Responsive design: Stack items on smaller screens */
@media (max-width: 768px) {
    .plots-container {
        flex-direction: column; /* Stack on smaller screens */
    }
}



