/*
Theme Name: Express News Child — Crockett Chronicle
Theme URI: https://crockettchronicle.com
Description: Frontier-themed child theme for Crockett Chronicle. Dark tobacco brown and antique gold palette inspired by Davy Crockett and the Tennessee frontier heritage of Lawrenceburg, TN.
Author: Crockett Chronicle
Template: news-express
Version: 1.1.0
*/

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@700;900&family=Source+Serif+4:wght@400;600&family=Source+Sans+3:wght@400;600;700&display=swap');

:root {
    --brown-dark:  #2c1a0e;
    --brown-mid:   #3d2410;
    --brown-light: #5a3e28;
    --gold:        #c9a96e;
    --gold-light:  #e8d5b0;
    --cream:       #faf8f4;
    --cream-mid:   #f5f0e8;
    --ink:         #1a0e06;
    --ink-mid:     #4a3728;
    --ink-light:   #8a7055;
}

/* ── Base ── */
body {
    background-color: var(--cream) !important;
    font-family: 'Source Sans 3', sans-serif !important;
}
a { color: var(--brown-mid) !important; }
a:hover { color: var(--gold) !important; text-decoration: none !important; }

/* ── Top bar (date strip) ── */
.top-header {
    background: var(--brown-dark) !important;
    border-bottom: 1px solid var(--brown-light) !important;
}
.top-header .top-info,
.top-header .top-info * {
    color: var(--gold) !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: .04em !important;
}
.top-header .top-menu a,
.top-header .social-icons a {
    color: var(--gold) !important;
}
.top-header .top-menu a:hover,
.top-header .social-icons a:hover {
    color: #fff !important;
}

/* ── Middle header (site title area) ── */
.middle-header {
    background: var(--brown-dark) !important;
    border-bottom: 3px solid var(--gold) !important;
    padding: 16px 0 !important;
}
.middle-header-wrap {
    background: transparent !important;
}

/* Site title */
.site-title,
.site-title a {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--gold-light) !important;
    font-size: 36px !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    font-weight: 700 !important;
}
.site-title a:hover {
    color: var(--gold) !important;
}

/* Site description */
.site-description {
    font-family: 'Source Serif 4', Georgia, serif !important;
    color: var(--ink-light) !important;
    font-style: italic !important;
    font-size: 13px !important;
}

/* ── Nav wrapper ── */
.header-outer-wrapper,
.adore-header {
    background: var(--brown-mid) !important;
    border-bottom: 2px solid var(--gold) !important;
}
.header-wrapper,
.header-nav-search {
    background: transparent !important;
}

/* Nav links */
#site-navigation,
.main-navigation {
    background: transparent !important;
}
.main-navigation .nav-menu > li > a,
#primary-menu > li > a,
.nav-menu > li > a {
    font-family: 'Source Sans 3', sans-serif !important;
    color: var(--gold-light) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .06em !important;
    padding: 12px 14px !important;
}
.main-navigation .nav-menu > li > a:hover,
.main-navigation .nav-menu > li.current-menu-item > a,
#primary-menu > li > a:hover,
#primary-menu > li.current-menu-item > a {
    color: #fff !important;
    background: rgba(201,169,110,0.15) !important;
}

/* Dropdown menus */
.main-navigation .sub-menu,
.nav-menu .sub-menu {
    background: var(--brown-dark) !important;
    border: 1px solid var(--brown-light) !important;
    border-top: 2px solid var(--gold) !important;
}
.main-navigation .sub-menu li a,
.nav-menu .sub-menu li a {
    color: var(--gold-light) !important;
    font-size: 12px !important;
    padding: 8px 16px !important;
    border-bottom: 1px solid var(--brown-light) !important;
}
.main-navigation .sub-menu li a:hover {
    background: var(--brown-mid) !important;
    color: #fff !important;
}

/* Search + random post icons */
.navigation-search-icon i,
.display-random-post i {
    color: var(--gold) !important;
}
.navigation-search-icon:hover i,
.display-random-post a:hover i {
    color: #fff !important;
}
.search-field {
    background: rgba(255,255,255,0.08) !important;
    border: 1px solid var(--brown-light) !important;
    color: var(--gold-light) !important;
    font-family: 'Source Sans 3', sans-serif !important;
}
.search-submit {
    background: var(--gold) !important;
    color: var(--brown-dark) !important;
    border: none !important;
}

/* ── Page / content background ── */
#page, .site, #content, .site-content,
#primary, .content-area {
    background: var(--cream) !important;
}

/* ── Widget / section headings ── */
.widget-title, .widgettitle,
.widget h2, .widget h3,
h3.widget-title {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .12em !important;
    color: var(--brown-dark) !important;
    border-bottom: 2px solid var(--gold) !important;
    padding-bottom: 6px !important;
    margin-bottom: 12px !important;
}

/* ── Post titles ── */
.entry-title, .entry-title a,
h2.entry-title, h2.entry-title a,
.post-title, .post-title a,
.news-title, .news-title a {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--ink) !important;
    line-height: 1.3 !important;
}
.entry-title a:hover,
.post-title a:hover {
    color: var(--brown-mid) !important;
}

/* ── Post meta ── */
.entry-meta, .post-meta,
.byline, .posted-on,
.entry-meta a, .post-meta a {
    color: var(--ink-light) !important;
    font-size: 11px !important;
    font-family: 'Source Sans 3', sans-serif !important;
}
.entry-meta a:hover { color: var(--gold) !important; }

/* ── Category labels ── */
.cat-links a, .category-label,
.post-cat a, .cats a,
.ne-cat-label a, .ne-cat a,
.meta-cat a, .entry-category a,
span.cat-links a {
    background: var(--brown-dark) !important;
    color: var(--gold) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    padding: 2px 8px !important;
    border-radius: 0 !important;
    font-family: 'Source Sans 3', sans-serif !important;
}
.cat-links a:hover { background: var(--brown-mid) !important; color: #fff !important; }

/* Category color overrides */
.cat-links a[href*="/crime"],
.category-crime .cat-links a   { background: #6b1010 !important; color: #fff !important; }
.cat-links a[href*="/government"],
.category-government .cat-links a { background: #0e2a52 !important; color: #fff !important; }
.cat-links a[href*="/community"],
.category-community .cat-links a  { background: #0e3a16 !important; color: #fff !important; }
.cat-links a[href*="/obituaries"],
.category-obituaries .cat-links a { background: #444 !important; color: #ddd !important; }

/* ── Single post body ── */
.entry-content, .post-content {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-size: 17px !important;
    line-height: 1.8 !important;
    color: var(--ink-mid) !important;
}
.entry-content h2,
.entry-content h3 {
    font-family: 'Playfair Display', Georgia, serif !important;
    color: var(--ink) !important;
}
.entry-content p { margin-bottom: 1.2em !important; }
p.article-source {
    font-size: 12px !important;
    color: var(--ink-light) !important;
    font-style: italic !important;
    border-top: 1px solid #e0d4c0 !important;
    padding-top: 10px !important;
    margin-top: 20px !important;
    font-family: 'Source Sans 3', sans-serif !important;
}

/* ── Sidebar ── */
#secondary, .widget-area, aside#secondary {
    background: var(--cream-mid) !important;
}
#secondary a, .widget-area a { color: var(--ink-mid) !important; }
#secondary a:hover, .widget-area a:hover { color: var(--gold) !important; }

/* ── Buttons / read more ── */
.more-link, .read-more,
.btn, .button,
input[type="submit"] {
    background: var(--brown-dark) !important;
    color: var(--gold) !important;
    border: 1px solid var(--brown-light) !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    border-radius: 0 !important;
    padding: 6px 14px !important;
}
.more-link:hover, .read-more:hover,
.btn:hover, .button:hover {
    background: var(--brown-mid) !important;
    color: #fff !important;
}

/* ── Pagination ── */
.page-numbers, .nav-links a {
    color: var(--brown-mid) !important;
    border: 1px solid #e0d4c0 !important;
}
.page-numbers.current,
.page-numbers:hover {
    background: var(--brown-dark) !important;
    color: var(--gold) !important;
    border-color: var(--brown-dark) !important;
}

/* ── Footer ── */
#colophon, .site-footer, footer.site-footer {
    background: var(--brown-dark) !important;
    border-top: 3px solid var(--gold) !important;
}
#colophon a, .site-footer a { color: var(--ink-light) !important; }
#colophon a:hover, .site-footer a:hover { color: var(--gold) !important; }
.site-footer .widget-title,
#colophon .widget-title {
    color: var(--gold) !important;
    border-bottom-color: var(--brown-light) !important;
}
.site-info, .copyright {
    background: #1a0e06 !important;
    color: var(--brown-light) !important;
    font-size: 11px !important;
}
.site-info a { color: var(--brown-light) !important; }
.site-info a:hover { color: var(--gold) !important; }

/* ── Frontier Dispatch widget ── */
.frontier-dispatch {
    background: var(--brown-mid) !important;
    padding: 14px !important;
    margin-bottom: 16px !important;
    border-left: 3px solid var(--gold) !important;
}
.frontier-dispatch .widget-title {
    color: var(--gold) !important;
    border-bottom-color: var(--brown-light) !important;
}
.frontier-dispatch p, .frontier-dispatch blockquote {
    font-family: 'Source Serif 4', Georgia, serif !important;
    font-style: italic !important;
    color: var(--gold-light) !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}
.frontier-dispatch cite {
    font-size: 11px !important;
    color: var(--ink-light) !important;
    font-style: normal !important;
}

/* ── Mobile ── */
@media (max-width: 768px) {
    .site-title, .site-title a { font-size: 24px !important; }
    .main-navigation .nav-menu > li > a { padding: 8px 10px !important; }
}

/* ================================================================
   CUSTOM HOMEPAGE — cc-* classes
   ================================================================ */

#cc-homepage {
    background: #faf8f4;
    max-width: 100%;
}

/* ── Breaking ticker ── */
.cc-ticker {
    background: #8b1a1a;
    color: #fff;
    padding: 7px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 12px;
    overflow: hidden;
}
.cc-ticker-label {
    background: #fff;
    color: #8b1a1a;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    padding: 2px 7px;
    flex-shrink: 0;
}
.cc-ticker-track {
    display: flex;
    gap: 14px;
    align-items: center;
    overflow: hidden;
    white-space: nowrap;
}
.cc-ticker-track a {
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
}
.cc-ticker-track a:hover { color: #f5c678 !important; }
.cc-ticker-sep { color: rgba(255,255,255,0.4); }

/* ── Content layout ── */
.cc-content-wrap {
    display: grid;
    grid-template-columns: 1fr 250px;
    gap: 0;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
}
.cc-main {
    padding: 20px 24px 20px 20px;
    border-right: 1px solid #e0d4c0;
    min-width: 0;
}
.cc-sidebar {
    padding: 20px 16px;
    background: #f5f0e8;
}

/* ── Category badge ── */
.cc-cat-badge {
    display: inline-block;
    color: #c9a96e !important;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 9px;
    font-family: 'Source Sans 3', sans-serif;
    text-decoration: none !important;
    margin-bottom: 8px;
}
.cc-cat-badge:hover { opacity: .85; }
.cc-cat-badge-sm { font-size: 9px; padding: 2px 7px; margin-bottom: 5px; }

/* ── Hero ── */
.cc-hero {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid #e0d4c0;
}
.cc-hero-img-wrap { display: block; margin-bottom: 14px; }
.cc-hero-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
}
.cc-hero-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 8px;
}
.cc-hero-title a { color: #1a0e06 !important; text-decoration: none !important; }
.cc-hero-title a:hover { color: #2c1a0e !important; }
.cc-hero-excerpt {
    font-size: 14px;
    color: #4a3728;
    line-height: 1.7;
    font-family: 'Source Serif 4', Georgia, serif;
    margin: 0 0 8px;
}
.cc-hero-meta {
    font-size: 11px;
    color: #8a7055;
    font-family: 'Source Sans 3', sans-serif;
}

/* ── Section heading ── */
.cc-section-head {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #2c1a0e;
    border-bottom: 2px solid #2c1a0e;
    padding-bottom: 6px;
    margin-bottom: 16px;
    font-family: 'Source Sans 3', sans-serif;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ── Card grid ── */
.cc-card-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 20px;
}
.cc-card {
    border: 1px solid #e0d4c0;
    background: #fff;
    overflow: hidden;
}
.cc-card-img-wrap { display: block; }
.cc-card-img {
    width: 100%;
    height: 110px;
    object-fit: cover;
    display: block;
}
.cc-card-img-placeholder {
    width: 100%;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 13px;
    color: #c9a96e;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.cc-card-body { padding: 10px 12px 12px; }
.cc-card-title {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    margin: 4px 0 4px;
}
.cc-card-title a { color: #1a0e06 !important; text-decoration: none !important; }
.cc-card-title a:hover { color: #2c1a0e !important; }
.cc-card-meta {
    font-size: 11px;
    color: #8a7055;
    font-family: 'Source Sans 3', sans-serif;
}

/* ── More news button ── */
.cc-more-wrap { text-align: center; margin: 4px 0 8px; }
.cc-more-btn {
    display: inline-block;
    background: #2c1a0e;
    color: #c9a96e !important;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    padding: 8px 20px;
    text-decoration: none !important;
    border: 1px solid #5a3e28;
}
.cc-more-btn:hover { background: #3d2410; color: #fff !important; }

/* ── Sidebar widgets ── */
.cc-widget-head {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #2c1a0e;
    border-bottom: 2px solid #c9a96e;
    padding-bottom: 5px;
    margin-bottom: 12px;
    font-family: 'Source Sans 3', sans-serif;
}
.cc-sidebar-widget { margin-bottom: 20px; }

/* Newsletter */
.cc-newsletter {
    background: #2c1a0e;
    padding: 14px;
    margin-bottom: 20px;
}
.cc-nl-head {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 15px;
    font-weight: 700;
    color: #e8d5b0;
    margin-bottom: 4px;
}
.cc-nl-sub {
    font-size: 11px;
    color: #8a7055;
    line-height: 1.6;
    margin-bottom: 10px;
    font-family: 'Source Sans 3', sans-serif;
}
.cc-nl-btn {
    display: block;
    background: #c9a96e;
    color: #1a0e06 !important;
    text-align: center;
    padding: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-decoration: none !important;
    font-family: 'Source Sans 3', sans-serif;
}
.cc-nl-btn:hover { background: #e8d5b0; }

/* Frontier Dispatch */
.cc-frontier-dispatch {
    background: #3d2410;
    padding: 12px 14px;
    margin-bottom: 20px;
    border-left: 3px solid #c9a96e;
}
.cc-frontier-dispatch .cc-widget-head { color: #c9a96e; border-bottom-color: #5a3e28; }
.cc-quote {
    margin: 0;
    padding: 0;
    border: none;
}
.cc-quote p {
    font-family: 'Source Serif 4', Georgia, serif;
    font-style: italic;
    font-size: 13px;
    color: #e8d5b0;
    line-height: 1.7;
    margin: 0 0 6px;
}
.cc-quote cite {
    font-size: 11px;
    color: #8a7055;
    font-style: normal;
    font-family: 'Source Sans 3', sans-serif;
}

/* Obituaries */
.cc-obit-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #e0d4c0;
}
.cc-obit-item:last-of-type { border-bottom: none; }
.cc-obit-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #2c1a0e;
    color: #c9a96e;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    font-family: 'Source Sans 3', sans-serif;
}
.cc-obit-name { font-size: 13px; font-family: 'Playfair Display', Georgia, serif; }
.cc-obit-name a { color: #1a0e06 !important; text-decoration: none !important; }
.cc-obit-name a:hover { color: #2c1a0e !important; }
.cc-obit-date { font-size: 11px; color: #8a7055; font-family: 'Source Sans 3', sans-serif; }
.cc-all-obits {
    display: block;
    font-size: 11px;
    color: #8a7055 !important;
    font-family: 'Source Sans 3', sans-serif;
    margin-top: 8px;
    text-align: right;
}
.cc-all-obits:hover { color: #c9a96e !important; }

/* Tip submission */
.cc-tip-text {
    font-size: 12px;
    color: #4a3728;
    line-height: 1.6;
    margin-bottom: 8px;
    font-family: 'Source Sans 3', sans-serif;
}
.cc-tip-btn {
    display: block;
    background: #2c1a0e;
    color: #c9a96e !important;
    text-align: center;
    padding: 8px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-decoration: none !important;
    font-family: 'Source Sans 3', sans-serif;
}
.cc-tip-btn:hover { background: #3d2410; color: #fff !important; }

/* ── Responsive ── */
@media (max-width: 768px) {
    .cc-content-wrap { grid-template-columns: 1fr; }
    .cc-sidebar { border-top: 2px solid #e0d4c0; }
    .cc-card-grid { grid-template-columns: 1fr; }
    .cc-hero-img { height: 200px; }
    .cc-hero-title { font-size: 20px; }
}

/* ── Header right search + fixes ── */
.cc-header-right { flex-shrink: 0 !important; text-align: right !important; }
.middle-header-wrap { display: flex !important; align-items: center !important; justify-content: space-between !important; }
/* Fix theme's search icon color — remove blue dot */
.navigation-search-icon i,
.navigation-search-icon .fa-search { color: #c9a96e !important; }
/* Hide the existing nav search since we have our own */
.header-end .display-random-post { display: none !important; }
