/**
 * Frontend (public site) – header, footer, home, article
 */
:root {
    --color-bg: #f8f9fa;
    --color-header: #1a1a1a;
    --color-text: #222;
    --color-muted: #666;
    --color-link: #c00;
    --color-link-hover: #a00;
    --font: 'Noto Sans Malayalam', -apple-system, BlinkMacSystemFont, sans-serif;
}

* { box-sizing: border-box; }
body { margin: 0; font-family: var(--font); background: var(--color-bg); color: var(--color-text); line-height: 1.5; }
a { color: var(--color-link); text-decoration: none; }
a:hover { color: var(--color-link-hover); text-decoration: underline; }

/* Header */
.site-header {
    background: var(--color-header);
    color: #fff;
    padding: 0.75rem 0;
    position: sticky;
    top: 0;
    z-index: 100;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.header-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.logo-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}
.logo-wrap a { color: #fff; display: flex; align-items: center; gap: 0.75rem; text-decoration: none; }
.logo-wrap a:hover { color: #fff; text-decoration: none; opacity: 0.9; }
.logo-wrap img { max-height: 42px; max-width: 180px; width: auto; height: auto; display: block; }
.site-title { font-size: 1.35rem; font-weight: 700; margin: 0; }
.nav-menu { display: flex; flex-wrap: wrap; gap: 0.25rem; list-style: none; margin: 0; padding: 0; }
.nav-menu a {
    color: rgba(255,255,255,0.9);
    padding: 0.4rem 0.75rem;
    border-radius: 4px;
    font-size: 0.95rem;
}
.nav-menu a:hover, .nav-menu a.active { background: rgba(255,255,255,0.15); color: #fff; text-decoration: none; }

/* Main content */
.main-wrap { max-width: 1200px; margin: 0 auto; padding: 1.5rem 1rem; }
.page-title { font-size: 1.5rem; margin: 0 0 1rem; color: var(--color-text); }

/* News grid (home) */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.5rem;
}
.news-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    transition: box-shadow 0.2s, transform 0.2s;
}
.news-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.12); transform: translateY(-2px); }
.news-card a { color: inherit; }
.news-card a:hover { text-decoration: none; }
.news-card .thumb-wrap {
    aspect-ratio: 16/10;
    background: #e0e0e0;
    overflow: hidden;
}
.news-card .thumb-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.news-card .body { padding: 1rem; }
.news-card .cat { font-size: 0.75rem; color: var(--color-muted); text-transform: uppercase; letter-spacing: 0.02em; margin-bottom: 0.35rem; }
.news-card .cat a { color: var(--color-muted); }
.news-card .cat a:hover { color: var(--color-link); }
.news-card h2 { font-size: 1.1rem; margin: 0 0 0.5rem; font-weight: 600; line-height: 1.35; }
.news-card .excerpt { font-size: 0.9rem; color: var(--color-muted); margin: 0 0 0.5rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.news-card .date { font-size: 0.8rem; color: var(--color-muted); }
.read-more { font-size: 0.9rem; font-weight: 600; color: var(--color-link); margin-top: 0.5rem; display: inline-block; }
.read-more:hover { color: var(--color-link-hover); }

.no-news { padding: 2rem; text-align: center; color: var(--color-muted); }

/* Footer */
.site-footer {
    margin-top: 2rem;
    padding: 1.5rem 1rem;
    border-top: 1px solid #e0e0e0;
    text-align: center;
    color: var(--color-muted);
    font-size: 0.9rem;
}
.site-footer a { color: var(--color-muted); }
.footer-pages { margin-bottom: 0.75rem; }
.footer-pages a { margin: 0 0.5rem; }
.footer-pages a:first-child { margin-left: 0; }

/* Article (single news) */
.article-wrap { max-width: 720px; margin: 1.5rem auto 0; padding: 0 1.5rem 1.5rem; }
.article-wrap h1 { margin-top: 0; font-family: var(--font); }
.article-wrap .meta { color: var(--color-muted); font-size: 0.9em; margin-bottom: 1em; }
.article-wrap .featured { margin: 1em 0; max-width: 100%; height: auto; border-radius: 8px; }
.article-wrap .content { margin-top: 1.5em; }

/* Article share button */
.article-share { margin: 1rem 0 1.5rem; display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.share-btn {
    display: inline-flex; align-items: center; gap: 0.4rem;
    padding: 0.5rem 1rem; font-size: 0.95rem; font-family: var(--font);
    background: var(--color-header); color: #fff; border: none; border-radius: 6px;
    cursor: pointer; transition: opacity 0.2s;
}
.share-btn:hover { opacity: 0.9; }
.share-btn .fa { font-size: 1em; }
.share-feedback { font-size: 0.9rem; color: var(--color-muted); }
