/* ============================================================
   VMO Custom Styles for Kadence Theme
   Virtual Marketing Officer - Law Firm Marketing Blog
   Version: 3.0.0
   ============================================================ */

/* ---- CSS Variables ---- */
:root {
    --vmo-green: #144202;
    --vmo-green-hover: #2e721d;
    --vmo-yellow: #ffcc0d;
    --vmo-text: #444444;
    --vmo-light-bg: #f7f7f7;
    --vmo-white: #ffffff;
    --vmo-dark: #111111;
    --vmo-border: #e0e0e0;
}

/* ============================================================
   GLOBAL TYPOGRAPHY
   ============================================================ */
body {
    font-family: Georgia, "Times New Roman", serif;
    color: var(--vmo-text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.entry-title,
.kadence-widget-area .widget-title,
.wp-block-heading {
    font-family: "Forum", Georgia, serif;
    color: var(--vmo-green);
    font-weight: 400;
}

.entry-meta,
.post-meta,
.entry-meta a,
.entry-content .wp-block-button__link,
.kadence-read-more-text,
.read-more-arrow-icon,
button, input[type="submit"], .btn,
.nav-menu a,
.site-header-item .kadence-navigation a {
    font-family: "Roboto", Arial, sans-serif;
}

/* ============================================================
   HEADER
   ============================================================ */
.site-header {
    background: var(--vmo-white);
    border-bottom: 3px solid var(--vmo-green);
    box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}

.site-branding .custom-logo {
    max-width: 380px;
    width: 380px;
    height: auto;
}

/* Navigation */
.header-navigation .kadence-navigation > ul > li > a,
.main-navigation .kadence-navigation > ul > li > a,
.kadence-navigation .menu > li > a,
#main-header .kadence-navigation > ul > li > a {
    color: var(--vmo-green) !important;
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 10px 18px;
    transition: color 0.2s ease, background 0.2s ease;
}

.kadence-navigation > ul > li > a:hover,
.kadence-navigation .menu > li > a:hover,
#main-header .kadence-navigation > ul > li > a:hover {
    color: var(--vmo-green-hover) !important;
    background: rgba(20,66,2,0.04);
}

.kadence-navigation > ul > li.current-menu-item > a,
.kadence-navigation > ul > li.current_page_item > a {
    color: var(--vmo-green) !important;
    border-bottom: 2px solid var(--vmo-yellow);
}

/* ============================================================
   BLOG ARCHIVE / POST LISTING
   ============================================================ */
.loop-entry {
    background: var(--vmo-white);
    border: 1px solid var(--vmo-border);
    border-radius: 4px;
    margin-bottom: 2em;
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
}

.loop-entry:hover {
    box-shadow: 0 6px 20px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

.loop-entry .post-thumbnail {
    overflow: hidden;
}

.loop-entry .post-thumbnail img {
    transition: transform 0.4s ease;
    width: 100%;
    height: auto;
}

.loop-entry:hover .post-thumbnail img {
    transform: scale(1.03);
}

.loop-entry .entry-content-wrap {
    padding: 1.5em 1.8em;
}

/* Entry title in archive */
.loop-entry .entry-title {
    font-family: "Forum", Georgia, serif;
    font-size: 1.5em;
    color: var(--vmo-green);
    margin-bottom: 0.3em;
    line-height: 1.3;
}

.loop-entry .entry-title a {
    color: var(--vmo-green);
    text-decoration: none;
    transition: color 0.2s ease;
}

.loop-entry .entry-title a:hover {
    color: var(--vmo-green-hover);
}

/* Category labels/badges */
.loop-entry .entry-taxonomies,
.loop-entry .entry-taxonomies a,
.entry-categories,
.entry-categories a {
    font-family: "Roboto", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.loop-entry .entry-taxonomies a,
.entry-categories a {
    background: var(--vmo-green);
    color: var(--vmo-white) !important;
    padding: 3px 10px;
    border-radius: 2px;
    text-decoration: none;
    display: inline-block;
    margin: 0 4px 4px 0;
    transition: background 0.2s ease;
}

.loop-entry .entry-taxonomies a:hover,
.entry-categories a:hover {
    background: var(--vmo-green-hover);
}

/* Meta (date, author) */
.loop-entry .entry-meta,
.entry-meta {
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    color: #888;
    margin-bottom: 0.6em;
}

.entry-meta a {
    color: #666;
    text-decoration: none;
}

.entry-meta a:hover {
    color: var(--vmo-green);
}

/* Excerpt */
.loop-entry .entry-summary p,
.loop-entry .entry-content p,
.entry-summary {
    font-family: Georgia, serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--vmo-text);
}

/* Read More button */
.loop-entry .entry-actions .entry-content-wrap a,
.kadence-read-more-text,
.loop-entry a.post-more-link,
.loop-entry .entry-readmore a,
.entry-content-wrap .kadence-read-more-text {
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: var(--vmo-green);
    text-decoration: none;
    border-bottom: 2px solid var(--vmo-yellow);
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease;
}

.loop-entry a.post-more-link:hover,
.loop-entry .entry-readmore a:hover,
.kadence-read-more-text:hover {
    color: var(--vmo-green-hover);
    border-bottom-color: var(--vmo-green-hover);
}

/* ============================================================
   SINGLE POST
   ============================================================ */
.single .entry-hero .entry-header {
    padding: 2em 0 1em;
}

.single .entry-title {
    font-family: "Forum", Georgia, serif;
    font-size: 2.2em;
    color: var(--vmo-green);
    line-height: 1.25;
    margin-bottom: 0.4em;
}

.single .entry-content {
    font-family: Georgia, serif;
    font-size: 17px;
    line-height: 1.8;
    color: var(--vmo-text);
}

.single .entry-content p {
    margin-bottom: 1.4em;
}

.single .entry-content blockquote {
    border-left: 4px solid var(--vmo-yellow);
    background: var(--vmo-light-bg);
    padding: 1.2em 1.6em;
    margin: 1.8em 0;
    font-style: italic;
    color: #555;
}

.single .entry-content h2,
.single .entry-content h3,
.single .entry-content h4 {
    font-family: "Forum", Georgia, serif;
    color: var(--vmo-green);
    margin-top: 1.8em;
    margin-bottom: 0.6em;
}

/* Author box */
.post-author-box {
    border: 1px solid var(--vmo-border);
    border-top: 3px solid var(--vmo-yellow);
    padding: 1.5em;
    margin-top: 2em;
    background: var(--vmo-light-bg);
    border-radius: 4px;
}

/* Post navigation */
.post-navigation {
    margin-top: 2em;
    padding-top: 1.5em;
    border-top: 1px solid var(--vmo-border);
}

.post-navigation a {
    color: var(--vmo-green);
    font-family: "Forum", Georgia, serif;
    text-decoration: none;
}

.post-navigation a:hover {
    color: var(--vmo-green-hover);
}

/* Comments */
.comments-area .comment-respond .comment-reply-title {
    font-family: "Forum", Georgia, serif;
    color: var(--vmo-green);
}

/* ============================================================
   SIDEBAR
   ============================================================ */
.primary-sidebar.widget-area,
.kadence-sidebar {
    font-family: Georgia, serif;
    font-size: 15px;
}

.primary-sidebar .widget,
.kadence-sidebar .widget {
    background: var(--vmo-white);
    border: 1px solid var(--vmo-border);
    border-radius: 4px;
    padding: 1.4em;
    margin-bottom: 1.8em;
}

.primary-sidebar .widget-title,
.kadence-sidebar .widget-title {
    font-family: "Forum", Georgia, serif;
    font-size: 16px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: var(--vmo-green);
    border-bottom: 3px solid var(--vmo-yellow);
    padding-bottom: 0.6em;
    margin-bottom: 1em;
}

/* About VMO widget */
.vmo-about-widget {
    text-align: center;
}

.vmo-about-widget .vmo-about-photo img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--vmo-yellow);
    margin-bottom: 0.8em;
}

.vmo-about-widget .vmo-about-name {
    font-family: "Forum", Georgia, serif;
    font-size: 18px;
    color: var(--vmo-green);
    margin-bottom: 0.4em;
}

.vmo-about-widget .vmo-about-bio {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* About section (custom HTML widget) */
.vmo-about-section {
    text-align: center;
}

.vmo-about-section img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--vmo-yellow);
    margin-bottom: 0.8em;
}

.vmo-about-section h4 {
    font-family: "Forum", Georgia, serif;
    font-size: 18px;
    color: var(--vmo-green);
    margin-bottom: 0.4em;
}

.vmo-about-section p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* Book widget */
.vmo-book-widget,
.vmo-book-section {
    text-align: center;
}

.vmo-book-widget img,
.vmo-book-section img {
    max-width: 100%;
    height: auto;
    border: 1px solid var(--vmo-border);
    border-radius: 4px;
    transition: box-shadow 0.3s ease;
}

.vmo-book-widget img:hover,
.vmo-book-section img:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
}

.vmo-book-cta a,
.vmo-book-btn {
    display: inline-block;
    background: var(--vmo-green);
    color: var(--vmo-white) !important;
    padding: 8px 24px;
    border-radius: 3px;
    text-decoration: none;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 0.8em;
    transition: background 0.2s ease;
}

.vmo-book-cta a:hover,
.vmo-book-btn:hover {
    background: var(--vmo-green-hover);
}

/* Search widget */
.primary-sidebar .search-form,
.kadence-sidebar .search-form {
    display: flex;
}

.primary-sidebar .search-field,
.kadence-sidebar .search-field {
    border: 1px solid var(--vmo-border);
    border-right: none;
    padding: 8px 12px;
    font-family: Georgia, serif;
    font-size: 14px;
    flex: 1;
    border-radius: 3px 0 0 3px;
}

.primary-sidebar .search-submit,
.kadence-sidebar .search-submit {
    background: var(--vmo-green);
    color: var(--vmo-white);
    border: 1px solid var(--vmo-green);
    padding: 8px 16px;
    cursor: pointer;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    border-radius: 0 3px 3px 0;
    transition: background 0.2s ease;
}

.primary-sidebar .search-submit:hover,
.kadence-sidebar .search-submit:hover {
    background: var(--vmo-green-hover);
}

/* Categories widget */
.primary-sidebar .widget_categories select,
.kadence-sidebar .widget_categories select {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--vmo-border);
    border-radius: 3px;
    font-family: Georgia, serif;
    font-size: 14px;
    color: var(--vmo-text);
}

.primary-sidebar .widget_categories ul li,
.kadence-sidebar .widget_categories ul li {
    border-bottom: 1px solid var(--vmo-light-bg);
    padding: 6px 0;
}

.primary-sidebar .widget_categories a,
.kadence-sidebar .widget_categories a {
    color: var(--vmo-text);
    text-decoration: none;
    transition: color 0.2s ease;
}

.primary-sidebar .widget_categories a:hover,
.kadence-sidebar .widget_categories a:hover {
    color: var(--vmo-green);
}

/* Tag cloud */
.primary-sidebar .tagcloud a,
.kadence-sidebar .tagcloud a {
    background: var(--vmo-light-bg);
    color: var(--vmo-text) !important;
    font-size: 13px !important;
    padding: 4px 10px;
    border-radius: 2px;
    text-decoration: none;
    display: inline-block;
    margin: 0 4px 6px 0;
    border: 1px solid var(--vmo-border);
    transition: all 0.2s ease;
    font-family: "Roboto", sans-serif;
}

.primary-sidebar .tagcloud a:hover,
.kadence-sidebar .tagcloud a:hover {
    background: var(--vmo-green);
    color: var(--vmo-white) !important;
    border-color: var(--vmo-green);
}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer {
    background: var(--vmo-dark);
    color: #ccc;
}

.site-footer .footer-widget-area {
    background: #1a1a1a;
    padding: 2.5em 0;
}

.site-footer .footer-widget-area .widget-title {
    color: var(--vmo-yellow);
    font-family: "Forum", Georgia, serif;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border-bottom: 2px solid rgba(255,204,13,0.3);
    padding-bottom: 0.6em;
    margin-bottom: 1em;
}

.site-footer .footer-widget-area a {
    color: #aaa;
    transition: color 0.2s ease;
}

.site-footer .footer-widget-area a:hover {
    color: var(--vmo-yellow);
}

.site-footer .site-footer-bottom-wrap,
.site-footer .footer-bottom {
    background: var(--vmo-dark);
    border-top: 1px solid var(--vmo-yellow);
    padding: 1.2em 0;
    text-align: center;
    font-family: "Roboto", sans-serif;
    font-size: 13px;
    color: #999;
}

/* ============================================================
   LINKS
   ============================================================ */
a {
    color: var(--vmo-green);
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--vmo-green-hover);
}

.entry-content a {
    color: var(--vmo-green);
    text-decoration: underline;
    text-decoration-color: rgba(20,66,2,0.3);
    text-underline-offset: 2px;
}

.entry-content a:hover {
    color: var(--vmo-green-hover);
    text-decoration-color: var(--vmo-green-hover);
}

/* ============================================================
   BUTTONS
   ============================================================ */
.wp-block-button__link,
button,
input[type="submit"],
.btn {
    font-family: "Roboto", sans-serif;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.kadence-pagination,
.navigation.pagination {
    margin-top: 2em;
    text-align: center;
}

.kadence-pagination .page-numbers,
.navigation.pagination .page-numbers {
    display: inline-block;
    padding: 8px 14px;
    margin: 0 3px;
    border: 1px solid var(--vmo-border);
    color: var(--vmo-text);
    text-decoration: none;
    border-radius: 3px;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    transition: all 0.2s ease;
}

.kadence-pagination .page-numbers.current,
.navigation.pagination .page-numbers.current {
    background: var(--vmo-green);
    color: var(--vmo-white);
    border-color: var(--vmo-green);
}

.kadence-pagination .page-numbers:hover:not(.current),
.navigation.pagination .page-numbers:hover:not(.current) {
    background: var(--vmo-light-bg);
    border-color: var(--vmo-green);
    color: var(--vmo-green);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
    .site-branding .custom-logo {
        max-width: 300px;
        width: 300px;
    }
    
    .loop-entry .entry-content-wrap {
        padding: 1.2em;
    }
}

@media (max-width: 768px) {
    .site-branding .custom-logo {
        max-width: 250px;
        width: 250px;
    }
    
    .single .entry-title {
        font-size: 1.6em;
    }
    
    .loop-entry .entry-title {
        font-size: 1.3em;
    }
    
    .primary-sidebar .widget,
    .kadence-sidebar .widget {
        padding: 1em;
    }
}

@media (max-width: 480px) {
    .site-branding .custom-logo {
        max-width: 200px;
        width: 200px;
    }
    
    .loop-entry .entry-content-wrap {
        padding: 1em;
    }
    
    .single .entry-title {
        font-size: 1.4em;
    }
}

/* ============================================================
   PRINT STYLES
   ============================================================ */
@media print {
    .site-header,
    .site-footer,
    .primary-sidebar,
    .kadence-sidebar,
    .comments-area,
    .post-navigation {
        display: none !important;
    }
    
    body, .entry-content {
        color: #000;
        font-size: 12pt;
    }
}
