/*
 Theme Name:   Polimer Seithi News (GeneratePress Child)
 Theme URI:    https://generatepress.com
 Description:  Fast, clean Tamil news-portal child theme for GeneratePress — grid homepage, category badges, thumbnail cards, readable Tamil typography. CSS auto-loaded by GeneratePress.
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      2.0
*/

/* ================= Palette ================= */
:root{
  --brand:#d32f2f;      /* news red */
  --brand-dark:#a71d1d;
  --ink:#17181c;
  --sub:#6b7280;
  --page:#eef0f2;
  --card:#ffffff;
  --line:#e5e7eb;
  --top:#15161c;        /* top strip / footer */
}

/* ================= Base (fast: system + Tamil fonts, no web-font request) ================= */
html,body{ max-width:100%; overflow-x:hidden; }
body{
  background-color:var(--page);
  color:var(--ink);
  font-family:"Noto Sans Tamil","Latha","Nirmala UI",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  line-height:1.7;
}
a{ color:var(--brand); text-decoration:none; }
a:hover,a:focus{ color:var(--brand-dark); }
img{ max-width:100%; height:auto; }

/* ================= Top strip ================= */
.ps-topbar{
  background:var(--top); color:#e7e7ea; font-size:12.5px; font-weight:500;
  padding:6px 0;
}
.ps-topbar .ps-in{ max-width:1200px; margin:0 auto; padding:0 16px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.ps-topbar .ps-live{ color:#fff; background:var(--brand); padding:2px 9px; border-radius:4px; font-weight:700; letter-spacing:.3px; }

/* ================= Header ================= */
.site-header{ background-color:#fff !important; border-bottom:3px solid var(--brand); }
.inside-header{ padding-top:16px; padding-bottom:16px; }
.main-title a,.site-title a{ color:var(--brand) !important; font-weight:800 !important; letter-spacing:.2px; }
.site-description{ color:var(--sub) !important; }

/* ================= Navigation (category bar, red) ================= */
.main-navigation{ background-color:var(--brand) !important; }
#site-navigation ul ul{ background-color:var(--brand-dark) !important; }
.main-navigation .main-nav ul li a{ color:#fff !important; font-weight:600; font-size:15px; }
.main-navigation .menu-bar-items,.main-navigation .menu-bar-item > a{ color:#fff !important; }
#site-navigation .main-nav ul li:hover > a,
#site-navigation .main-nav ul li.sfHover > a,
#site-navigation .main-nav ul li:focus-within > a{ background-color:rgba(0,0,0,.16) !important; color:#fff !important; }
#site-navigation .main-nav ul li[class*="current-menu"] > a{ background-color:var(--brand-dark) !important; color:#fff !important; }

/* ================= NEWS GRID (home / archive / search) ================= */
.blog .site-main,
.archive .site-main,
.search-results .site-main{
  display:grid; gap:20px; align-items:start;
  grid-template-columns:repeat(auto-fill, minmax(300px, 1fr));
}
.blog .site-main > *,
.archive .site-main > *,
.search-results .site-main > *{ margin-bottom:0 !important; }
.blog .site-main > .paging-navigation,
.archive .site-main > .paging-navigation,
.site-main > .generate-pagination,
.site-main > nav.paging-navigation{ grid-column:1 / -1; }

.blog .inside-article,
.archive .inside-article,
.search-results .inside-article{
  display:flex; flex-direction:column; height:100%; overflow:hidden;
  background:var(--card); border:1px solid var(--line); border-radius:12px;
  box-shadow:0 1px 3px rgba(16,24,32,.05); transition:transform .15s, box-shadow .15s;
  padding:0 !important;
}
.blog article:hover .inside-article,
.archive article:hover .inside-article{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(16,24,32,.13); }

/* card thumbnail area (image or placeholder) + badge — output by functions.php */
.ps-thumb{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; background:#f1f3f5; }
.ps-thumb-img{ width:100%; height:100%; object-fit:cover; display:block; }
.ps-thumb-ph{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:14px; color:#fff; font-weight:800; font-size:18px; line-height:1.3;
  background:linear-gradient(135deg,var(--brand),#7a1414);
}
.ps-badge{
  position:absolute; top:10px; left:10px; z-index:2;
  background:var(--brand); color:#fff; font-size:11.5px; font-weight:700;
  padding:4px 10px; border-radius:4px; letter-spacing:.2px;
}
/* card text */
.blog .entry-header,.archive .entry-header{ padding:14px 16px 0; }
.blog .entry-title,.archive .entry-title{ font-size:1.16rem; line-height:1.4; margin:0 0 6px; font-weight:700; }
.blog .entry-title a,.archive .entry-title a{ color:var(--ink); }
.blog .entry-title a:hover,.archive .entry-title a:hover{ color:var(--brand); }
.blog .entry-meta,.archive .entry-meta{ color:var(--sub); font-size:12.5px; padding:0 16px; }
.blog .entry-summary,.archive .entry-summary{ color:#444; font-size:.94rem; padding:8px 16px 16px; flex:1; }
.blog .read-more,.archive .read-more{ align-self:flex-start; margin:0 16px 16px; }

/* HERO: first archive card spans 2 cols with bigger title (desktop) */
@media (min-width:820px){
  .blog .site-main > article:first-child,
  .archive .site-main > article:first-child{ grid-column:span 2; }
  .blog .site-main > article:first-child .entry-title,
  .archive .site-main > article:first-child .entry-title{ font-size:1.7rem; }
  .blog .site-main > article:first-child .ps-thumb,
  .archive .site-main > article:first-child .ps-thumb{ aspect-ratio:2/1; }
}

/* ================= Headings & single-post typography ================= */
.single .entry-header .entry-title,.page-header h1{ font-size:2rem; line-height:1.3; font-weight:800; color:var(--ink); }
.single .entry-content{ font-size:1.05rem; }
.entry-content h2{ font-size:1.5rem; font-weight:700; color:var(--ink); margin:1.6em 0 .5em; padding-left:12px; border-left:5px solid var(--brand); }
.entry-content h3{ font-size:1.22rem; font-weight:700; color:var(--brand-dark); margin:1.3em 0 .45em; }
.entry-content p{ margin-bottom:1.1em; }
.entry-content ul,.entry-content ol{ margin:0 0 1.15em 1.4em; }
.entry-content li{ margin-bottom:.45em; }

/* ================= UI improvements (AdSense-ready) ================= */
/* Homepage section heading */
.ps-sec-head{ margin-top:18px; }
.ps-sec-head .ps-in{ max-width:1200px; margin:0 auto; padding:0 16px; }
.ps-sec-head span{ display:inline-block; font-size:1.15rem; font-weight:800; color:var(--ink); border-left:5px solid var(--brand); padding:2px 0 2px 12px; }

/* Breadcrumbs */
.ps-crumbs{ background:#fff; border-bottom:1px solid var(--line); }
.ps-crumbs .ps-in{ max-width:1200px; margin:0 auto; padding:9px 16px; color:var(--sub); font-size:13px; }
.ps-crumbs a{ color:var(--brand); }
.ps-crumbs .sep{ color:#b9bdc4; margin:0 3px; }

/* Single-post meta line */
.ps-single-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:8px 0 16px; color:var(--sub); font-size:13.5px; }
.ps-badge-inline{ background:var(--brand); color:#fff !important; font-weight:700; font-size:12px; padding:3px 11px; border-radius:4px; }
.ps-badge-inline:hover{ background:var(--brand-dark); color:#fff !important; }

/* Ad slots */
.ps-ad{ margin:22px 0; padding:10px; text-align:center; background:#f7f8fa; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.ps-ad-label{ display:block; font-size:10px; letter-spacing:1px; text-transform:uppercase; color:#aab0b8; margin-bottom:6px; }
.ps-ad ins,.ps-ad img{ max-width:100%; }

/* Related posts */
.ps-related{ margin:34px 0 6px; }
.ps-related-title{ font-size:1.35rem; font-weight:800; color:var(--ink); border-left:5px solid var(--brand); padding-left:12px; margin-bottom:16px; }
.ps-related-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; }
.ps-rel-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden; transition:transform .15s, box-shadow .15s; text-decoration:none; }
.ps-rel-card:hover{ transform:translateY(-3px); box-shadow:0 10px 22px rgba(16,24,32,.12); }
.ps-rel-thumb{ position:relative; aspect-ratio:16/9; background:#f1f3f5; overflow:hidden; display:block; }
.ps-rel-img{ width:100%; height:100%; object-fit:cover; }
.ps-rel-ph{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; padding:8px; color:#fff; font-weight:700; font-size:13px; background:linear-gradient(135deg,var(--brand),#7a1414); }
.ps-rel-t{ padding:10px 12px; font-size:.92rem; font-weight:600; color:var(--ink); line-height:1.4; }

/* ================= Buttons (scoped — NEVER a bare `button` selector) ================= */
.entry-content button,.entry-content input[type="submit"],
.comment-form input[type="submit"],.wp-block-button__link,.button,.read-more,.more-link{
  background-color:var(--brand) !important; color:#fff !important; border:none;
  border-radius:6px; padding:.55em 1.2em; font-weight:600; display:inline-block; text-decoration:none;
}
.entry-content button:hover,.wp-block-button__link:hover,.button:hover,.read-more:hover,.more-link:hover,
.comment-form input[type="submit"]:hover{ background-color:var(--brand-dark) !important; color:#fff !important; }

/* ================= Widgets / sidebar ================= */
.widget-title{ font-size:1.05rem; font-weight:800; color:#fff; background:var(--brand); padding:9px 14px; border-radius:8px 8px 0 0; margin:-20px -20px 14px; }
.sidebar .widget{ background:#fff; border:1px solid var(--line); border-radius:10px; }

/* ================= Tables (scroll box on mobile — via functions.php wrapper) ================= */
.ps-table-scroll{ width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; margin:1.3em 0; }
.entry-content table{ border-collapse:collapse; width:100%; margin:0; font-size:.95rem; }
.entry-content th{ background:var(--brand); color:#fff; text-align:left; }
.entry-content th,.entry-content td{ border:1px solid var(--line); padding:9px 11px; }
.entry-content tr:nth-child(even) td{ background:#faf7f7; }
@media (max-width:600px){ .ps-table-scroll > table{ min-width:480px; } }

/* ================= Footer ================= */
.site-footer .inside-site-info,.site-info{ background:var(--top) !important; color:#c9cbd2; }
.site-info a{ color:#fff !important; }
.footer-widgets{ background:#1d1e26 !important; }
.footer-widgets .widget-title{ background:transparent; margin:0 0 12px; padding:0 0 6px; border-bottom:2px solid var(--brand); border-radius:0; }
.footer-widgets,.footer-widgets a{ color:#c9cbd2; }
.ps-foot-links{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px 20px; margin-bottom:8px; }
.ps-foot-links a{ color:#fff !important; font-size:13.5px; font-weight:600; }
.ps-foot-links a:hover{ color:var(--brand) !important; }
.ps-copy{ color:#c9cbd2; font-size:12.5px; }

/* ================= Mobile nav (clean hamburger + drawer — no green/red pill) ================= */
.menu-toggle,.main-navigation .menu-toggle{
  background-color:transparent !important; color:#fff !important; border:0 !important;
  border-radius:8px !important; box-shadow:none !important; font-weight:600 !important;
  padding:9px 13px !important; transition:background-color .2s ease;
}
.menu-toggle .gp-icon,.menu-toggle .gp-icon svg{ width:26px; height:26px; color:#fff !important; fill:#fff !important; }
.menu-toggle:hover,.menu-toggle:focus,.menu-toggle[aria-expanded="true"]{ background-color:rgba(0,0,0,.18) !important; }
.menu-toggle:focus-visible{ outline:2px solid #fff !important; outline-offset:2px; }
@media (max-width:768px){
  .blog .site-main,.archive .site-main,.search-results .site-main{ grid-template-columns:1fr; gap:16px; }
  .blog .site-main > article:first-child,.archive .site-main > article:first-child{ grid-column:auto; }
  #site-navigation.toggled .main-nav{ background:var(--brand) !important; box-shadow:0 12px 26px rgba(0,0,0,.22); }
  #site-navigation .main-nav ul li a{ padding:14px 20px !important; border-bottom:1px solid rgba(255,255,255,.12); font-size:15px; }
  #site-navigation.toggled .main-nav ul li a:hover{ background:rgba(0,0,0,.16) !important; }
  .single .entry-header .entry-title,.page-header h1{ font-size:1.55rem; }
  .entry-content h2{ font-size:1.3rem; }
}
@media (prefers-reduced-motion:reduce){ *{ animation:none !important; } }
