/* PHASE 3: SINGLE ARTICLE PAGE STYLING */

/* Article wrapper */
.single-post article {
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 12px rgba(26, 31, 26, 0.06) !important;
}

/* Featured Image */
.single-post .revved-single-post-thumb,
.single-post .post-thumbnail {
    position: relative !important;
    margin: 0 0 32px !important;
    border-radius: 16px !important;
    overflow: hidden !important;
}

.single-post .revved-single-post-thumb img,
.single-post .post-thumbnail img {
    width: 100% !important;
    height: auto !important;
    max-height: 560px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Article Header */
.single-post .entry-header {
    padding: 32px 40px 24px !important;
    border-bottom: 1px solid #eef1f0 !important;
    margin-bottom: 0 !important;
}

.single-post .entry-title {
    font-family: "DM Sans", sans-serif !important;
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #1a1f1a !important;
    margin: 0 0 20px !important;
    letter-spacing: -0.02em !important;
}

/* Category badges */
.single-post .revved-category-badge,
.single-post .revved-category {
    display: inline-block !important;
    background: #647c40 !important;
    color: #fff !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    margin: 0 6px 12px 0 !important;
}

/* Post Meta */
.single-post .revved-single-post-meta,
.single-post .entry-meta {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 20px !important;
    font-size: 14px !important;
    color: #6b7270 !important;
}

.single-post .revved-single-post-meta a {
    color: #1a1f1a !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.single-post .revved-single-post-meta a:hover {
    color: #647c40 !important;
}

.single-post .revved-single-post-meta i {
    color: #647c40 !important;
    margin-right: 6px !important;
}

/* Share buttons */
.single-post .revved-single-post-meta .fb,
.single-post .revved-single-post-meta .wh,
.single-post .entry-header a[onclick] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    background: #f4f6f5 !important;
    border-radius: 50% !important;
    color: #4d544d !important;
    font-size: 14px !important;
    transition: all 0.2s ease !important;
}

.single-post .revved-single-post-meta .fb:hover,
.single-post .entry-header a[onclick]:hover {
    background: #647c40 !important;
    color: #fff !important;
}

/* Article Content */
.single-post .entry-content,
.single-post .revved-single-content {
    padding: 40px !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    color: #2d322d !important;
}

/* First paragraph styling */
.single-post .entry-content > p:first-of-type {
    font-size: 1.2rem !important;
    line-height: 1.7 !important;
    color: #1a1f1a !important;
}

/* Drop cap */
.single-post .entry-content > p:first-of-type::first-letter {
    float: left !important;
    font-size: 4rem !important;
    line-height: 0.8 !important;
    font-weight: 700 !important;
    color: #647c40 !important;
    margin: 6px 12px 0 0 !important;
    font-family: "DM Sans", sans-serif !important;
}

/* Paragraphs */
.single-post .entry-content p {
    margin: 0 0 24px !important;
}

/* H2 headings with accent */
.single-post .entry-content h2 {
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.75rem !important;
    font-weight: 700 !important;
    color: #1a1f1a !important;
    margin: 48px 0 20px !important;
    padding-top: 24px !important;
    border-top: 2px solid #eef1f0 !important;
    position: relative !important;
}

.single-post .entry-content h2::before {
    content: "" !important;
    position: absolute !important;
    top: -2px !important;
    left: 0 !important;
    width: 60px !important;
    height: 2px !important;
    background: linear-gradient(90deg, #647c40, #f5ff3d) !important;
}

.single-post .entry-content h3 {
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 600 !important;
    color: #1a1f1a !important;
    margin: 36px 0 16px !important;
}

.single-post .entry-content h4 {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
    color: #1a1f1a !important;
    margin: 28px 0 12px !important;
}

/* Links */
.single-post .entry-content a {
    color: #647c40 !important;
    text-decoration: underline !important;
    text-decoration-color: rgba(100, 124, 64, 0.3) !important;
    text-underline-offset: 3px !important;
}

.single-post .entry-content a:hover {
    color: #4d6030 !important;
    text-decoration-color: #647c40 !important;
}

/* Blockquotes */
.single-post .entry-content blockquote {
    margin: 36px 0 !important;
    padding: 28px 32px 28px 40px !important;
    background: linear-gradient(135deg, #f9faf9, #f4f6f5) !important;
    border-left: 4px solid #647c40 !important;
    border-radius: 0 12px 12px 0 !important;
    font-size: 1.1rem !important;
    font-style: italic !important;
    color: #3a3f3a !important;
    position: relative !important;
}

.single-post .entry-content blockquote::before {
    content: "\201C" !important;
    position: absolute !important;
    top: 16px !important;
    left: 12px !important;
    font-size: 3rem !important;
    color: #647c40 !important;
    opacity: 0.3 !important;
    font-family: Georgia, serif !important;
    line-height: 1 !important;
}

.single-post .entry-content blockquote p {
    margin: 0 !important;
}

/* Lists */
.single-post .entry-content ul,
.single-post .entry-content ol {
    margin: 24px 0 !important;
    padding-left: 24px !important;
}

.single-post .entry-content li {
    margin: 12px 0 !important;
    line-height: 1.7 !important;
}

.single-post .entry-content ul li::marker {
    color: #647c40 !important;
}

/* Images */
.single-post .entry-content img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 12px !important;
    margin: 24px 0 !important;
}

.single-post .entry-content figcaption {
    font-size: 13px !important;
    color: #6b7270 !important;
    text-align: center !important;
    margin-top: 12px !important;
    font-style: italic !important;
}

/* Entry Footer */
.single-post .entry-footer {
    padding: 24px 40px !important;
    border-top: 1px solid #eef1f0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
}

.single-post .entry-footer a[onclick] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: #f4f6f5 !important;
    border-radius: 50% !important;
    color: #4d544d !important;
    font-size: 15px !important;
}

.single-post .entry-footer a[onclick]:hover {
    background: #647c40 !important;
    color: #fff !important;
}

/* Author Bio */
.single-post .revved-author-bio {
    display: flex !important;
    align-items: flex-start !important;
    gap: 24px !important;
    padding: 32px 40px !important;
    background: linear-gradient(135deg, #f9faf9, #f4f6f5) !important;
    border-radius: 16px !important;
    margin: 40px !important;
}

.single-post .revved-author-bio .author-thumb img {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 4px solid #fff !important;
    box-shadow: 0 4px 12px rgba(26, 31, 26, 0.1) !important;
}

.single-post .revved-author-bio .theme_author_Info {
    flex: 1 !important;
}

.single-post .revved-author-bio .theme_author__Name {
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #1a1f1a !important;
    margin: 0 0 4px !important;
}

.single-post .revved-author-bio .theme_author_Title {
    font-size: 13px !important;
    color: #647c40 !important;
    font-weight: 500 !important;
    margin: 0 0 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

.single-post .revved-author-bio .theme_author_socials_icon a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    background: #fff !important;
    border-radius: 50% !important;
    color: #4d544d !important;
}

.single-post .revved-author-bio .theme_author_socials_icon a:hover {
    background: #647c40 !important;
    color: #fff !important;
}

/* Comments Section */
.single-post #comments,
.single-post .comments-area {
    padding: 48px 40px !important;
    margin-top: 24px !important;
}

.single-post .comments-title {
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #1a1f1a !important;
    margin: 0 0 32px !important;
}

.single-post .comment {
    padding: 24px !important;
    background: #f9faf9 !important;
    border-radius: 12px !important;
    margin-bottom: 20px !important;
}

.single-post .comment .comment-author img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    margin-right: 16px !important;
}

.single-post .comment-reply-link {
    display: inline-block !important;
    margin-top: 12px !important;
    padding: 6px 16px !important;
    background: #647c40 !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
}

.single-post .comment-reply-link:hover {
    background: #4d6030 !important;
}

/* Comment Form */
.single-post .comment-respond {
    background: #fff !important;
    padding: 32px !important;
    border-radius: 16px !important;
    border: 1px solid #eef1f0 !important;
    margin-top: 32px !important;
}

.single-post .comment-respond .comment-reply-title {
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    color: #1a1f1a !important;
    margin: 0 0 24px !important;
}

.single-post .comment-form input[type="text"],
.single-post .comment-form input[type="email"],
.single-post .comment-form input[type="url"],
.single-post .comment-form textarea {
    width: 100% !important;
    padding: 14px 18px !important;
    background: #f9faf9 !important;
    border: 1px solid #e2e6e5 !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    color: #1a1f1a !important;
    margin-bottom: 20px !important;
}

.single-post .comment-form input:focus,
.single-post .comment-form textarea:focus {
    background: #fff !important;
    border-color: #647c40 !important;
    outline: none !important;
    box-shadow: 0 0 0 4px rgba(100, 124, 64, 0.1) !important;
}

.single-post .comment-form textarea {
    min-height: 150px !important;
    resize: vertical !important;
}

.single-post .comment-form .form-submit input[type="submit"] {
    background: linear-gradient(135deg, #f5ff3d 0%, #e8f038 100%) !important;
    color: #1a1f1a !important;
    padding: 14px 32px !important;
    border: none !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
}

.single-post .comment-form .form-submit input[type="submit"]:hover {
    background: linear-gradient(135deg, #e8f038 0%, #dce530 100%) !important;
    box-shadow: 0 4px 16px rgba(245, 255, 61, 0.3) !important;
}

/* Responsive */
@media (max-width: 991px) {
    .single-post .entry-header { padding: 24px 24px 20px !important; }
    .single-post .entry-title { font-size: 2rem !important; }
    .single-post .entry-content { padding: 24px !important; }
    .single-post .revved-author-bio { margin: 24px !important; padding: 24px !important; }
    .single-post .entry-footer, .single-post #comments { padding: 24px !important; }
}

@media (max-width: 767px) {
    .single-post .entry-title { font-size: 1.65rem !important; }
    .single-post .entry-content { font-size: 16px !important; }
    .single-post .entry-content h2 { font-size: 1.4rem !important; }
    .single-post .entry-content > p:first-of-type::first-letter { font-size: 3rem !important; }
    .single-post .revved-author-bio { flex-direction: column !important; text-align: center !important; }
    .single-post .revved-single-post-thumb img { max-height: 300px !important; }
}

@media (max-width: 480px) {
    .single-post .entry-header, .single-post .entry-content, .single-post .entry-footer,
    .single-post #comments, .single-post .revved-author-bio { padding: 20px !important; margin: 20px 0 !important; }
    .single-post .entry-title { font-size: 1.45rem !important; }
}
