/*
Theme Name: SahafaLite
Theme URI: https://example.com/sahafalite
Author: ChatGPT
Author URI: https://example.com
Description: RTL-friendly, lightweight news theme with Hero (4), Latest (5), 4 category sections, customizer colors, accessibility fixes, archive/single layouts, and widgets with 50x50 thumbnails.
Version: 1.7.1
Tested up to: 6.7
Requires PHP: 7.4
Text Domain: sahafalite
License: GPL-2.0-or-later
*/
:root{--saha-font:'Readex Pro',system-ui,-apple-system,Segoe UI,Roboto,Arial,'Helvetica Neue',sans-serif;--saha-bg:#ffffff;--saha-text:#0f172a;--saha-muted:#334155;--saha-card-bg:#f8fafc;--saha-link:#0a58ca;--saha-link-hover:#084298;--saha-border:#e2e8f0}
html{scroll-behavior:smooth}
body{font-family:var(--saha-font);background:var(--saha-bg);color:var(--saha-text);margin:0}
.container{width:min(1200px,92vw);margin-inline:auto}
.hidden{display:none}

/* Header */
.site-header{border-bottom:1px solid var(--saha-border);background:#fff;position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.site-title{font-weight:800;font-size:clamp(18px,3vw,24px);text-decoration:none;color:inherit}
.primary-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.primary-nav a{color:var(--saha-text);text-decoration:none;font-weight:600}
.primary-nav .sep{opacity:.35}
.burger{display:none;background:none;border:1px solid var(--saha-border);padding:8px 10px;border-radius:8px}
.burger span{display:block;width:20px;height:2px;background:var(--saha-text);margin:4px 0}
.burger:focus-visible{outline:2px solid var(--saha-link);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Mobile menu */
.mobile-panel{display:none}
.mobile-panel.active{display:none}
 Cards */
.post-card{background:var(--saha-card-bg);border:1px solid var(--saha-border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;height:100%}
.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.post-card .title{padding:12px 14px;font-weight:800;line-height:1.35;font-size:clamp(14px,2.2vw,18px)}
.post-card .title a{color:var(--saha-text);text-decoration:none}
.post-card .title a:hover{color:var(--saha-link-hover)}

/* Hero (4) */
.hero{padding:24px 0}
.hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}

/* Latest (5) */
.latest{padding:10px 0 24px}
.latest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}

/* Sections (4x5 titles) */
.sections{padding:10px 0 50px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.section-block{border:1px solid var(--saha-border);border-radius:14px;padding:10px;background:#fff}
.section-block h3{margin:6px 8px 10px;font-size:18px}
.section-block ul{list-style:none;margin:0;padding:0}
.section-block li{border-top:1px dashed var(--saha-border)}
.section-block li:first-child{border-top:0}
.section-block a{display:block;padding:10px 8px;text-decoration:underline;color:var(--saha-link);font-weight:600}
.section-block a:hover{color:var(--saha-link-hover)}
.footer-brand h4{margin:0 0 8px;font-size:18px}
.footer-copy{font-size:14px;color:var(--saha-muted)}

/* Single post layout */
.single-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px 0}
.entry-header{border-bottom:1px solid var(--saha-border);margin-bottom:12px;padding-bottom:12px}
.entry-title{margin:0 0 6px;font-size:clamp(22px,3.5vw,34px);font-weight:800;line-height:1.2}
.entry-meta{font-size:14px;color:var(--saha-muted);display:flex;gap:8px;flex-wrap:wrap}
.entry-content{font-size:18px;line-height:1.8}
.entry-content img{max-width:100%;height:auto;border-radius:12px}
.sidebar{border-left:1px solid var(--saha-border);padding-left:16px}
.widget{margin-bottom:18px}
.widget-title{margin:0 0 10px;font-size:16px}

/* Archive (Category/Tag) */
.archive-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;padding:24px 0}
.archive-header{border-bottom:1px solid var(--saha-border);margin-bottom:14px;padding-bottom:12px}
.archive-title{margin:0 0 8px;font-size:clamp(20px,3vw,28px);font-weight:800}
.archive-desc{color:var(--saha-muted);font-size:14px}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.archive-pagination{margin-top:16px}
.taxonomy-sidebar{border-left:1px solid var(--saha-border);padding-left:16px}

/* Widgets with 50x50 thumbs */
.saha-list-widget{list-style:none;margin:0;padding:0}
.saha-list-widget .widget-post-item{display:flex;align-items:center;gap:10px;margin-bottom:10px}
html[dir="rtl"] .saha-list-widget .widget-post-item{flex-direction:row-reverse}
.saha-list-widget .widget-post-item .thumb img{width:80px;height:80px;object-fit:cover;border-radius:4px;display:block}
.saha-list-widget .widget-post-item .title{flex:1;text-decoration:none;color:var(--saha-text);line-height:1.35}
.saha-list-widget .widget-post-item .title:hover{color:var(--saha-link-hover)}

/* Links */
a:visited{color:#0a4a86}

/* Responsive */
@media (max-width:1100px){
  .hero-grid{grid-template-columns:repeat(2,1fr)}
  .latest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .sections{grid-template-columns:repeat(2,1fr)}
  .archive-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .single-layout{grid-template-columns:1fr}
  .sidebar{border-left:0;padding-left:0;border-top:1px solid var(--saha-border);padding-top:16px}
  .archive-layout{grid-template-columns:1fr}
  .taxonomy-sidebar{border-left:0;padding-left:0;border-top:1px solid var(--saha-border);padding-top:16px}
}

  .latest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .primary-nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
  .burger{display:block}
  .mobile-panel{display:block}
  .archive-grid{grid-template-columns:1fr}
}

/* High contrast preference */
@media (prefers-contrast: more){
  :root{ --saha-link:#073f86; --saha-link-hover:#052e64; --saha-muted:#1f2937; }
}


  .burger{ display:inline-flex; align-items:center; justify-content:center }
  .mobile-panel{ display:none }
  .mobile-panel.active{display:none}
}


  .burger{ display:inline-flex; align-items:center; justify-content:center }
  .mobile-panel{ display:none }
  .mobile-panel.active{ display:block }
}


/* v1.6.5 - Desktop defaults enforced */
.primary-nav{display:flex !important;align-items:center;gap:14px;flex-wrap:wrap}
.burger{display:none !important}
.mobile-panel{display:none !important}
.mobile-panel.active{display:none !important} /* active has no effect on desktop */




  .burger{display:inline-flex !important; align-items:center; justify-content:center}
  .mobile-panel{display:none !important}
  .mobile-panel.active{display:block !important}
}



/* v1.6.5 - Desktop defaults enforced (fallback write) */
.primary-nav{display:flex !important;align-items:center;gap:14px;flex-wrap:wrap}
.burger{display:none !important}
.mobile-panel{display:none !important}
.mobile-panel.active{display:none !important}


  .burger{display:inline-flex !important; align-items:center; justify-content:center}
  .mobile-panel{display:none !important}
  .mobile-panel.active{display:block !important}
}


/* v1.6.6 – Hero cards redesign */
.hero-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.hero-card .title{padding:12px 14px;font-weight:800;line-height:1.35;font-size:clamp(16px,2.4vw,20px);margin:0}
.hero-card .title a{color:var(--saha-text);text-decoration:none}
.hero-card .title a:hover{color:var(--saha-link-hover)}


@media (max-width: 720px){
  .latest-grid{grid-template-columns:1fr}
}


/* === Hero Fix (rounded + landscape) === */
.hero-card{
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.06);
}
.hero-card__img{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.hero-grid{
  display: grid;
  gap: 16px;
}
@media (max-width: 720px){
  .hero-grid{ grid-template-columns: 1fr !important; }
  .hero-card{ border-radius: 14px; }
}
/* === End Hero Fix === */



/* === Header Visibility Rules (Header Fix) === */
/* Small screens: hide primary nav, show burger & mobile-menu (collapsed by default) */
@media (max-width: 991.98px){
  .primary-nav{ display:none !important; }
  .burger, .menu-toggle, .nav-burger{ display:inline-flex !important; align-items:center; justify-content:center; }
  .mobile-menu{ display:none; }
  .mobile-menu.is-open{ display:block; }
}

/* Large screens: show primary nav, hide burger & mobile menu */
@media (min-width: 992px){
  .primary-nav{ display:flex !important; }
  .burger, .menu-toggle, .nav-burger,
  .mobile-menu{ display:none !important; }
}

/* Optional: basic mobile menu styling */
.mobile-menu{
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #ffffff;
  border-top: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 8px 24px rgba(0,0,0,.08);
  z-index: 9999;
}
.mobile-menu ul{ list-style:none; margin:0; padding:8px 12px; }
.mobile-menu li{ margin:0; }
.mobile-menu a{ display:block; padding:12px 14px; text-decoration:none; color:#111; }
.mobile-menu a:hover{ background: rgba(0,0,0,.04); }
/* === End Header Visibility Rules === */



/* === Sections Grid Fix === */
/* Force 1 card per row on small screens */
@media (max-width: 720px){
  .sections, .sections-grid{
    grid-template-columns: 1fr !important;
  }
}
/* === End Sections Grid Fix === */



/* === Site Footer Grid Fix === */
/* Large screens: 4 columns side by side */
@media (min-width: 992px){
}
/* Small screens: stacked (default behavior) */
/* === End Site Footer Grid Fix === */



/* === SAK Footer (new) === */
.sak-footer{
  background: #0f172a;
  color: #e5e7eb;
  padding: 40px 0;
  margin-top: 40px;
  font-size: 15px;
  line-height: 1.7;
}
.sak-footer a{ color: #e5e7eb; text-decoration: none; }
.sak-footer a:hover{ text-decoration: underline; }

.sak-footer__grid{
  display: grid;
  gap: 24px;
}
@media (min-width: 992px){
  .sak-footer__grid{
    grid-template-columns: 2fr 1fr 1fr 1fr;
  }
}

.sak-footer__title{
  margin: 0 0 8px;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
}
.sak-footer__copy{
  margin: 0 0 10px;
  opacity: .9;
}
.sak-footer__text p{ margin: 0 0 10px; }

.widget{ margin: 0 0 12px; }
.widget-title{
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 10px;
  color: #fff;
}
/* Mobile: stacked is default via single-column grid */
/* === End SAK Footer === */



/* === Footer Links White Override === */
.sak-footer a,
.sak-footer a:visited{
  color: #ffffff !important;
}
.sak-footer a:hover{
  color: #f9fafb !important; /* slightly lighter hover */
  text-decoration: underline;
}
/* === End Footer Links White Override === */

