/* ================================================
   Modern Prose Styles for Le Petite Fleur
   ================================================ */

.prose {
    color: #5a6b54; /* dark */
    line-height: 1.7;
}

/* === GENERAL TYPOGRAPHY === */

.prose p {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
}

.prose a {
    color: #a8c49a; /* secondary */
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease-in-out;
}

.prose a:hover {
    color: #8fb382; /* accent */
    text-decoration: underline;
}

.prose strong {
    color: #5a6b54; /* dark */
    font-weight: 700;
}

/* === HEADINGS === */

.prose h2, .prose h3, .prose h4 {
    color: #5a6b54; /* dark */
    font-weight: 700;
    line-height: 1.3;
}

.prose h2 {
    font-size: 1.875rem; /* 30px */
    margin-top: 2em;
    margin-bottom: 1em;
    padding-bottom: 0.3em;
    border-bottom: 2px solid #e8f2e4; /* light */
}

.prose h3 {
    font-size: 1.5rem; /* 24px */
    margin-top: 1.8em;
    margin-bottom: 0.8em;
}

.prose h4 {
    font-size: 1.25rem; /* 20px */
    margin-top: 1.5em;
    margin-bottom: 0.5em;
    display: flex;
    align-items: center;
    color: #8fb382; /* accent */
}

.prose h4::before {
    content: '\f1b0'; /* Font Awesome seedling icon */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 0.5em;
    font-size: 0.9em;
    color: #a8c49a; /* secondary */
}


/* === LISTS === */

.prose ul {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    list-style-type: none; /* Remove default bullets */
    padding-left: 0;
}

.prose ul > li {
    position: relative;
    padding-left: 1.75em; /* Space for the custom bullet */
    margin-bottom: 0.6em;
}

.prose ul > li::before {
    content: '';
    position: absolute;
    left: 0.5em;
    top: 0.45em; /* Vertically center the bullet */
    width: 0.5em;
    height: 0.5em;
    background-color: #d5dfc8; /* primary */
    border-radius: 50%;
}


/* === KEYWORDS / TAGS === */
.prose p:has(strong:contains('Anahtar Kelimeler')) {
    background-color: #e8f2e4; /* light */
    padding: 0.75em 1.25em;
    border-radius: 8px;
    font-size: 0.9em;
    border-left: 4px solid #a8c49a; /* secondary */
}

.prose p strong:contains('Anahtar Kelimeler') {
    color: #8fb382; /* accent */
}


/* === BLOCKQUOTES === */

.prose blockquote {
    margin-top: 1.5em;
    margin-bottom: 1.5em;
    padding-left: 1em;
    border-left: 4px solid #d5dfc8; /* primary */
    color: #5a6b54; /* dark */
    font-style: italic;
}

.prose blockquote p:first-of-type::before, 
.prose blockquote p:last-of-type::after {
    content: none;
}
