/*
Theme Name: NewsFlash
Theme URI: https://example.com/newsflash
Author: NewsFlash Theme
Author URI: https://example.com
Description: A clean, simple WordPress news theme with featured posts, categories, and a responsive layout.
Version: 1.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: newsflash
Tags: news, blog, two-columns, responsive-layout, custom-header
*/

/* =====================
   RESET & BASE
   ===================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Georgia', serif; background: #f4f4f4; color: #222; font-size: 16px; line-height: 1.6; }
a { color: #c0392b; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }

/* =====================
   LAYOUT
   ===================== */
.container { max-width: 1100px; margin: 0 auto; padding: 0 20px; }
.site-main { display: grid; grid-template-columns: 1fr 300px; gap: 30px; padding: 30px 0; }

/* =====================
   HEADER
   ===================== */
#masthead { background: #1a1a1a; color: #fff; padding: 0; }
.site-branding { padding: 18px 0; border-bottom: 3px solid #c0392b; }
.site-title { font-size: 2rem; font-weight: 700; letter-spacing: 1px; }
.site-title a { color: #fff; }
.site-title span { color: #c0392b; }
.site-description { font-size: 0.82rem; color: #aaa; margin-top: 2px; font-family: sans-serif; }

/* =====================
   NAVIGATION
   ===================== */
#site-navigation { background: #c0392b; }
.nav-menu { list-style: none; display: flex; flex-wrap: wrap; }
.nav-menu li a { display: block; padding: 12px 18px; color: #fff; font-family: sans-serif; font-size: 0.88rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
.nav-menu li a:hover { background: #a93226; text-decoration: none; }
.nav-menu .current-menu-item a { background: #a93226; }

/* =====================
   BREAKING NEWS BAR
   ===================== */
.breaking-bar { background: #222; color: #fff; display: flex; align-items: center; padding: 8px 0; font-family: sans-serif; font-size: 0.82rem; }
.breaking-label { background: #c0392b; color: #fff; font-weight: 700; padding: 4px 12px; margin-right: 15px; text-transform: uppercase; white-space: nowrap; }
.breaking-text { white-space: nowrap; overflow: hidden; }
.breaking-text a { color: #f1c40f; }

/* =====================
   FEATURED / HERO
   ===================== */
.featured-hero { background: #fff; margin-bottom: 25px; border: 1px solid #ddd; }
.featured-hero .hero-img { width: 100%; max-height: 380px; object-fit: cover; }
.featured-hero .hero-content { padding: 20px; }
.featured-hero .category-tag { background: #c0392b; color: #fff; font-size: 0.72rem; font-family: sans-serif; font-weight: 700; padding: 3px 10px; text-transform: uppercase; display: inline-block; margin-bottom: 10px; }
.featured-hero h2 { font-size: 1.7rem; line-height: 1.3; margin-bottom: 10px; }
.featured-hero h2 a { color: #1a1a1a; }
.featured-hero h2 a:hover { color: #c0392b; text-decoration: none; }
.featured-hero .post-meta { font-size: 0.78rem; color: #888; font-family: sans-serif; }

/* =====================
   SECTION HEADING
   ===================== */
.section-heading { font-size: 1rem; font-family: sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; border-left: 4px solid #c0392b; padding-left: 10px; margin-bottom: 18px; color: #1a1a1a; }

/* =====================
   POST CARDS GRID
   ===================== */
.posts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 30px; }
.post-card { background: #fff; border: 1px solid #e0e0e0; overflow: hidden; }
.post-card img { width: 100%; height: 160px; object-fit: cover; }
.post-card .card-body { padding: 14px; }
.post-card .category-tag { background: #c0392b; color: #fff; font-size: 0.68rem; font-family: sans-serif; font-weight: 700; padding: 2px 8px; text-transform: uppercase; display: inline-block; margin-bottom: 7px; }
.post-card h3 { font-size: 0.97rem; line-height: 1.4; margin-bottom: 6px; }
.post-card h3 a { color: #1a1a1a; }
.post-card h3 a:hover { color: #c0392b; text-decoration: none; }
.post-card .post-meta { font-size: 0.73rem; color: #999; font-family: sans-serif; }

/* =====================
   LIST POSTS (sidebar style)
   ===================== */
.post-list { list-style: none; }
.post-list li { display: flex; gap: 12px; border-bottom: 1px solid #eee; padding: 12px 0; }
.post-list li:first-child { padding-top: 0; }
.post-list .list-thumb { width: 75px; height: 60px; object-fit: cover; flex-shrink: 0; }
.post-list .list-info h4 { font-size: 0.88rem; line-height: 1.3; margin-bottom: 4px; }
.post-list .list-info h4 a { color: #1a1a1a; }
.post-list .list-info h4 a:hover { color: #c0392b; text-decoration: none; }
.post-list .list-info .post-meta { font-size: 0.72rem; color: #999; font-family: sans-serif; }

/* =====================
   SIDEBAR
   ===================== */
.widget-area .widget { background: #fff; border: 1px solid #e0e0e0; margin-bottom: 25px; padding: 18px; }
.widget-title { font-size: 0.9rem; font-family: sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 2px solid #c0392b; padding-bottom: 8px; margin-bottom: 14px; color: #1a1a1a; }
.widget ul { list-style: none; }
.widget ul li { padding: 6px 0; border-bottom: 1px dotted #eee; font-size: 0.88rem; font-family: sans-serif; }
.widget ul li:last-child { border-bottom: none; }
.widget ul li a { color: #333; }
.widget ul li a:hover { color: #c0392b; }

/* =====================
   SINGLE POST
   ===================== */
.entry-header { margin-bottom: 20px; }
.entry-header .category-tag { background: #c0392b; color: #fff; font-size: 0.72rem; font-family: sans-serif; font-weight: 700; padding: 3px 10px; text-transform: uppercase; display: inline-block; margin-bottom: 10px; }
.entry-title { font-size: 2rem; line-height: 1.3; margin-bottom: 10px; color: #1a1a1a; }
.entry-meta { font-size: 0.8rem; color: #888; font-family: sans-serif; margin-bottom: 20px; }
.entry-thumbnail { width: 100%; max-height: 420px; object-fit: cover; margin-bottom: 20px; }
.entry-content { background: #fff; padding: 25px; border: 1px solid #e0e0e0; }
.entry-content p { margin-bottom: 18px; line-height: 1.75; }
.entry-content h2, .entry-content h3 { margin: 24px 0 12px; color: #1a1a1a; }

/* =====================
   PAGINATION
   ===================== */
.pagination { display: flex; gap: 8px; margin: 20px 0; font-family: sans-serif; }
.pagination a, .pagination span { padding: 7px 13px; border: 1px solid #ddd; font-size: 0.85rem; color: #333; background: #fff; }
.pagination .current { background: #c0392b; color: #fff; border-color: #c0392b; }
.pagination a:hover { background: #f9f9f9; text-decoration: none; }

/* =====================
   FOOTER
   ===================== */
#colophon { background: #1a1a1a; color: #aaa; margin-top: 30px; }
.footer-widgets { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 35px 0; border-bottom: 1px solid #333; }
.footer-widget h3 { color: #fff; font-size: 0.9rem; font-family: sans-serif; text-transform: uppercase; letter-spacing: 0.5px; border-left: 3px solid #c0392b; padding-left: 10px; margin-bottom: 14px; }
.footer-widget ul { list-style: none; font-size: 0.85rem; font-family: sans-serif; }
.footer-widget ul li { padding: 4px 0; border-bottom: 1px solid #2e2e2e; }
.footer-widget ul li a { color: #bbb; }
.footer-widget ul li a:hover { color: #c0392b; }
.site-info { text-align: center; padding: 18px 0; font-size: 0.78rem; font-family: sans-serif; }
.site-info a { color: #c0392b; }

/* =====================
   RESPONSIVE
   ===================== */
@media (max-width: 768px) {
  .site-main { grid-template-columns: 1fr; }
  .posts-grid { grid-template-columns: 1fr; }
  .footer-widgets { grid-template-columns: 1fr; }
  .featured-hero h2 { font-size: 1.3rem; }
  .entry-title { font-size: 1.5rem; }
}
