/* Custom Typography & Layout Enhancements */

/* Font Family Overrides if Google Fonts fail */
body {
    font-family: 'Open Sans', system-ui, -apple-system, sans-serif;
}

h1, h2, h3 {
    font-family: 'Merriweather', serif;
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom Selection Color */
::selection {
    background-color: #dcfce7; /* green-100 */
    color: #166534; /* green-800 */
}

/* Table Styles */
table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

th:first-child, td:first-child {
    border-top-left-radius: 0.5rem;
    border-bottom-left-radius: 0.5rem;
}

th:last-child, td:last-child {
    border-top-right-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}

/* FAQ Animation Classes */
.faq-content {
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
}

.faq-content.active {
    opacity: 1;
}

/* Image Hover Effect */
figure img {
    transition: transform 0.5s ease;
}

figure:hover img {
    transform: scale(1.02);
}

/* Prose refinements */
.prose p {
    line-height: 1.8;
    margin-bottom: 1.5em;
}

/* Custom List Bullets in Prose (if used) */
ul.custom-list li::before {
    content: "•";
    color: #4CAF50;
    font-weight: bold;
    display: inline-block;
    width: 1em;
    margin-left: -1em;
}
