/*
Theme Name: eFiling Court Info
Theme URI: https://efilingcourtinfo.com
Author: eFiling Court Info
Author URI: https://efilingcourtinfo.com
Description: A lightweight, professional WordPress theme for Indian court eFiling information, case laws, district court links, high court links, VC links, legal forms, and advocate resources. Fully Google AdSense compliant and mobile responsive.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: efilingcourtinfo
Tags: legal, court, law, responsive, adsense, lightweight
*/

/* =========================================
   CSS RESET & BASE
   ========================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --primary: #1a3c6e;
  --primary-dark: #0f2548;
  --primary-light: #2a5596;
  --accent: #b8860b;
  --accent-light: #d4a017;
  --bg: #f0f4f9;
  --bg-white: #ffffff;
  --text: #1c2333;
  --text-muted: #4a5668;
  --border: #c5d3e8;
  --sidebar-bg: #e4ecf7;
  --success: #2e7d32;
  --font-main: 'Hind', 'Noto Sans Devanagari', Arial, sans-serif;
  --font-heading: 'Tiro Devanagari Hindi', 'Hind', Georgia, serif;
  --radius: 6px;
  --shadow: 0 2px 8px rgba(0,0,0,0.09);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.13);
  --transition: 0.22s ease;
}

html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--font-main);
  background: var(--bg);
  color: var(--text);
  line-height: 1.7;
  font-size: 15px;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--primary); text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--accent); }
ul { list-style: none; }
h1,h2,h3,h4,h5,h6 { font-family: var(--font-heading); color: var(--primary-dark); line-height: 1.35; }

/* =========================================
   SKIP LINK (Accessibility)
   ========================================= */
.skip-link { position: absolute; top: -40px; left: 0; background: var(--primary); color: #fff; padding: 8px 16px; z-index: 10000; border-radius: 0 0 4px 0; }
.skip-link:focus { top: 0; }

/* =========================================
   TOP BAR
   ========================================= */
.top-bar {
  background: var(--primary-dark);
  color: #ccd9e8;
  font-size: 12.5px;
  padding: 5px 0;
  border-bottom: 2px solid var(--accent);
}
.top-bar-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.top-bar a { color: #ccd9e8; }
.top-bar a:hover { color: var(--accent-light); }
.top-bar-left { display: flex; gap: 16px; align-items: center; }
.top-bar-right { display: flex; gap: 12px; align-items: center; }

/* =========================================
   HEADER
   ========================================= */
#masthead {
  background: var(--primary);
  color: #fff;
  padding: 12px 0 0;
  position: sticky;
  top: 0;
  z-index: 999;
  box-shadow: var(--shadow-md);
}
.header-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.site-branding { display: flex; align-items: center; gap: 12px; padding-bottom: 10px; }
.site-logo img { height: 52px; width: auto; }
.site-title { font-size: 22px; font-weight: 700; color: #fff; font-family: var(--font-heading); line-height: 1.2; }
.site-title a { color: #fff; }
.site-description { font-size: 12px; color: #a8c4e0; margin-top: 2px; }

/* Header AdSense Banner Area */
.header-ad {
  flex: 1;
  text-align: center;
  min-width: 300px;
}
.ad-placeholder {
  background: rgba(255,255,255,0.08);
  border: 1px dashed rgba(255,255,255,0.2);
  border-radius: var(--radius);
  padding: 8px;
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  text-align: center;
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ad-placeholder-light {
  background: #f0f4f8;
  border: 1px dashed #b0bec5;
  border-radius: var(--radius);
  padding: 8px;
  font-size: 12px;
  color: #90a4ae;
  text-align: center;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 12px 0;
}

/* =========================================
   NAVIGATION
   ========================================= */
#site-navigation {
  background: var(--primary-dark);
  border-top: 1px solid rgba(255,255,255,0.1);
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.main-navigation ul { display: flex; flex-wrap: wrap; gap: 0; }
.main-navigation ul li { position: relative; }
.main-navigation ul li a {
  display: block;
  padding: 11px 14px;
  color: #cfe2f7;
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: 0.3px;
  transition: background var(--transition), color var(--transition);
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a {
  background: var(--accent);
  color: #fff;
}
/* Dropdown */
.main-navigation ul li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background: var(--primary);
  min-width: 200px;
  z-index: 1000;
  border: 1px solid rgba(255,255,255,0.1);
  border-top: 2px solid var(--accent);
  flex-direction: column;
  box-shadow: var(--shadow-md);
}
.main-navigation ul li:hover > ul { display: flex; }
.main-navigation ul li ul li a { padding: 9px 16px; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,0.06); }

/* Mobile menu toggle */
.menu-toggle {
  display: none;
  background: rgba(255,255,255,0.15);
  border: 1px solid rgba(255,255,255,0.3);
  border-radius: 4px;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  padding: 6px 12px;
  margin-left: auto;
}
.search-nav-form { display: flex; align-items: center; padding: 6px 0; }
.search-nav-form input[type="search"] {
  padding: 6px 10px;
  border: none;
  border-radius: 3px 0 0 3px;
  font-size: 13px;
  width: 180px;
  background: rgba(255,255,255,0.15);
  color: #fff;
  outline: none;
}
.search-nav-form input[type="search"]::placeholder { color: rgba(255,255,255,0.5); }
.search-nav-form button {
  padding: 6px 12px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 0 3px 3px 0;
  cursor: pointer;
  font-size: 14px;
  transition: background var(--transition);
}
.search-nav-form button:hover { background: var(--accent-light); }

/* =========================================
   BREADCRUMB
   ========================================= */
.breadcrumb-bar {
  background: #e8eef5;
  border-bottom: 1px solid var(--border);
  padding: 7px 0;
  font-size: 12.5px;
  color: var(--text-muted);
}
.breadcrumb-inner { max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.breadcrumb-inner a { color: var(--primary); }
.breadcrumb-inner span.sep { margin: 0 6px; }

/* =========================================
   LAYOUT: WRAPPER
   ========================================= */
#page-content-area {
  max-width: 1200px;
  margin: 20px auto;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 20px;
}
.full-width-layout { grid-template-columns: 1fr; }

/* =========================================
   MAIN CONTENT
   ========================================= */
#primary { min-width: 0; }

/* =========================================
   HOMEPAGE HERO BANNER
   ========================================= */
.hero-banner {
  background: linear-gradient(135deg, var(--primary) 60%, var(--primary-light) 100%);
  color: #fff;
  padding: 32px 24px;
  border-radius: var(--radius);
  margin-bottom: 20px;
  position: relative;
  overflow: hidden;
}
.hero-banner::before {
  content: '⚖';
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 80px;
  opacity: 0.1;
}
.hero-banner h1 { font-size: 24px; color: #fff; margin-bottom: 8px; }
.hero-banner p { font-size: 14px; color: #b8d4f0; margin-bottom: 16px; }
.hero-search {
  display: flex;
  max-width: 500px;
  gap: 0;
}
.hero-search input {
  flex: 1;
  padding: 10px 14px;
  border: none;
  border-radius: 4px 0 0 4px;
  font-size: 14px;
  outline: none;
}
.hero-search button {
  padding: 10px 18px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 0 4px 4px 0;
  font-size: 14px;
  cursor: pointer;
  font-weight: 600;
}

/* =========================================
   QUICK LINKS GRID (Homepage)
   ========================================= */
.quick-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 12px;
  margin-bottom: 20px;
}
.quick-link-card {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px 12px;
  text-align: center;
  cursor: pointer;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
  box-shadow: var(--shadow);
}
.quick-link-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-md);
  border-color: var(--primary-light);
}
.quick-link-card .ql-icon { font-size: 30px; margin-bottom: 8px; }
.quick-link-card .ql-title { font-size: 13px; font-weight: 700; color: var(--primary); }
.quick-link-card .ql-desc { font-size: 11.5px; color: var(--text-muted); margin-top: 3px; }
.quick-link-card a { color: inherit; }

/* =========================================
   SECTION CARD
   ========================================= */
.section-card {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: var(--shadow);
}
.section-card-header {
  background: var(--primary);
  color: #fff;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  font-weight: 700;
  font-family: var(--font-heading);
}
.section-card-header .icon { font-size: 18px; }
.section-card-body { padding: 16px; }

/* =========================================
   COURT LINKS TABS
   ========================================= */
.court-tabs { display: flex; border-bottom: 2px solid var(--border); margin-bottom: 14px; flex-wrap: wrap; gap: 0; }
.court-tab {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  color: var(--text-muted);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: color var(--transition), border-color var(--transition);
  background: none;
  border-top: none;
  border-left: none;
  border-right: none;
}
.court-tab.active, .court-tab:hover { color: var(--primary); border-bottom-color: var(--accent); }
.tab-pane { display: none; }
.tab-pane.active { display: block; }

.state-court-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}
.court-link-item {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 8px 10px;
  background: var(--sidebar-bg);
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 12.5px;
  color: var(--primary);
  font-weight: 600;
  transition: background var(--transition), transform var(--transition);
}
.court-link-item:hover { background: var(--primary); color: #fff; transform: translateX(2px); }
.court-link-item .dot { width: 7px; height: 7px; background: var(--accent); border-radius: 50%; flex-shrink: 0; }

/* =========================================
   VC LINKS SECTION
   ========================================= */
.vc-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 10px;
}
.vc-link-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px 14px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: box-shadow var(--transition), border-color var(--transition);
}
.vc-link-card:hover { box-shadow: var(--shadow-md); border-color: var(--primary-light); }
.vc-icon { font-size: 22px; flex-shrink: 0; }
.vc-info .vc-name { font-size: 13px; font-weight: 700; color: var(--primary); }
.vc-info .vc-state { font-size: 11.5px; color: var(--text-muted); }
.vc-info a { font-size: 12px; color: var(--accent); font-weight: 600; }

/* =========================================
   FORMS SECTION
   ========================================= */
.forms-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.forms-table th {
  background: var(--primary);
  color: #fff;
  padding: 9px 12px;
  text-align: left;
  font-weight: 600;
}
.forms-table td {
  padding: 9px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
.forms-table tr:nth-child(even) td { background: var(--sidebar-bg); }
.forms-table tr:hover td { background: #e3ecf5; }
.btn-download {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background: var(--accent);
  color: #fff;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
  transition: background var(--transition);
}
.btn-download:hover { background: var(--primary); color: #fff; }
.form-upload-area {
  border: 2px dashed var(--border);
  border-radius: var(--radius);
  padding: 20px;
  text-align: center;
  margin-top: 12px;
  background: var(--sidebar-bg);
}
.form-upload-area p { font-size: 13px; color: var(--text-muted); margin-bottom: 10px; }
.btn-primary {
  display: inline-block;
  padding: 8px 20px;
  background: var(--primary);
  color: #fff;
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--transition);
  border: none;
}
.btn-primary:hover { background: var(--accent); color: #fff; }

/* =========================================
   BLOG / POST LIST
   ========================================= */
.post-card {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
}
.post-card-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--sidebar-bg);
}
.post-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.post-card-body { padding: 14px 16px; flex: 1; }
.post-card-meta { font-size: 11.5px; color: var(--text-muted); margin-bottom: 6px; display: flex; gap: 10px; flex-wrap: wrap; }
.post-card-title { font-size: 16px; margin-bottom: 7px; }
.post-card-title a { color: var(--primary-dark); }
.post-card-title a:hover { color: var(--accent); }
.post-card-excerpt { font-size: 13px; color: var(--text-muted); margin-bottom: 10px; }
.read-more {
  display: inline-block;
  padding: 6px 14px;
  background: var(--primary);
  color: #fff;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 600;
}
.read-more:hover { background: var(--accent); color: #fff; }

/* =========================================
   SINGLE POST
   ========================================= */
.single-post-header { margin-bottom: 16px; }
.single-post-title { font-size: 24px; line-height: 1.3; margin-bottom: 10px; }
.post-meta { display: flex; gap: 14px; font-size: 12.5px; color: var(--text-muted); flex-wrap: wrap; border-bottom: 1px solid var(--border); padding-bottom: 10px; margin-bottom: 16px; }
.post-content { font-size: 15px; line-height: 1.8; color: var(--text); }
.post-content h2 { font-size: 20px; margin: 24px 0 10px; border-left: 4px solid var(--accent); padding-left: 10px; }
.post-content h3 { font-size: 17px; margin: 18px 0 8px; }
.post-content p { margin-bottom: 14px; }
.post-content ul, .post-content ol { margin: 12px 0 12px 20px; }
.post-content ul { list-style: disc; }
.post-content ol { list-style: decimal; }
.post-content li { margin-bottom: 6px; }
.post-content table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 13.5px; }
.post-content table th { background: var(--primary); color: #fff; padding: 8px 12px; text-align: left; }
.post-content table td { padding: 8px 12px; border-bottom: 1px solid var(--border); }
.post-content table tr:nth-child(even) td { background: var(--sidebar-bg); }
.post-content blockquote { border-left: 4px solid var(--accent); padding: 12px 16px; margin: 16px 0; background: var(--sidebar-bg); border-radius: 0 4px 4px 0; font-style: italic; color: var(--primary-dark); }

/* In-Article Ad Spots */
.in-article-ad { margin: 20px 0; text-align: center; }

/* =========================================
   SIDEBAR
   ========================================= */
#secondary { min-width: 0; }
.widget {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  margin-bottom: 16px;
  box-shadow: var(--shadow);
}
.widget-title {
  background: var(--primary);
  color: #fff;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-heading);
  display: flex;
  align-items: center;
  gap: 6px;
}
.widget-body { padding: 12px 14px; }

/* Important Links Widget */
.imp-links-list li { border-bottom: 1px solid var(--border); }
.imp-links-list li:last-child { border-bottom: none; }
.imp-links-list li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  font-size: 13px;
  color: var(--primary);
  font-weight: 500;
}
.imp-links-list li a::before { content: '›'; font-size: 16px; color: var(--accent); font-weight: 900; }
.imp-links-list li a:hover { color: var(--accent); padding-left: 4px; }

/* Case Law Search Widget */
.case-search-form { display: flex; flex-direction: column; gap: 8px; }
.case-search-form input,
.case-search-form select {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--border);
  border-radius: 4px;
  font-size: 13px;
  background: var(--sidebar-bg);
  color: var(--text);
  outline: none;
}
.case-search-form button { width: 100%; }

/* Recent Case Laws */
.case-law-list li { padding: 8px 0; border-bottom: 1px solid var(--border); }
.case-law-list li:last-child { border-bottom: none; }
.case-law-list li a { font-size: 13px; color: var(--primary); display: block; line-height: 1.4; }
.case-law-list li .case-date { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
.case-law-list li a:hover { color: var(--accent); }

/* WordPress Default Widgets — Recent Posts, Categories, Archives fix */
#secondary .widget_recent_entries ul,
#secondary .widget_categories ul,
#secondary .widget_archive ul,
#secondary .widget_meta ul,
#secondary .widget_pages ul,
#secondary .widget_nav_menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#secondary .widget_recent_entries ul li {
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  line-height: 1.4;
}
#secondary .widget_recent_entries ul li:last-child { border-bottom: none; }
#secondary .widget_recent_entries ul li a {
  color: var(--primary);
  font-weight: 500;
  display: block;
  transition: color 0.2s, padding-left 0.2s;
}
#secondary .widget_recent_entries ul li a:hover { color: var(--accent); padding-left: 3px; }
#secondary .widget_recent_entries ul li .post-date {
  font-size: 11px;
  color: var(--text-muted);
  margin-top: 2px;
  display: block;
}
#secondary .widget_recent_comments ul li {
  padding: 7px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
  line-height: 1.4;
}
#secondary .widget_recent_comments ul li:last-child { border-bottom: none; }
#secondary .widget_categories ul li,
#secondary .widget_archive ul li {
  padding: 6px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
#secondary .widget_categories ul li:last-child,
#secondary .widget_archive ul li:last-child { border-bottom: none; }
#secondary .widget_categories ul li a,
#secondary .widget_archive ul li a {
  color: var(--primary);
  font-weight: 500;
}
#secondary .widget_categories ul li a:hover,
#secondary .widget_archive ul li a:hover { color: var(--accent); }
/* Widget title inside default WP widgets */
#secondary .widget > h2.widgettitle,
#secondary .widget > h3.widget-title,
#secondary .widget .wp-block-heading {
  background: var(--primary);
  color: #fff;
  padding: 9px 14px;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-heading);
  margin: 0;
}

/* =========================================
   CLIENT CONTACT SECTION
   ========================================= */
.contact-section {
  background: linear-gradient(135deg, var(--primary-dark), var(--primary));
  color: #fff;
  border-radius: var(--radius);
  padding: 28px 24px;
  margin-bottom: 20px;
  text-align: center;
}
.contact-section h2 { color: #fff; font-size: 20px; margin-bottom: 8px; }
.contact-section p { color: #a8c4e0; font-size: 13.5px; margin-bottom: 20px; }
.contact-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  text-align: left;
  max-width: 600px;
  margin: 0 auto;
}
.contact-form-grid .full { grid-column: 1 / -1; }
.contact-form-grid input,
.contact-form-grid textarea,
.contact-form-grid select {
  width: 100%;
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 4px;
  background: rgba(255,255,255,0.12);
  color: #fff;
  font-size: 13px;
  outline: none;
}
.contact-form-grid input::placeholder,
.contact-form-grid textarea::placeholder { color: rgba(255,255,255,0.5); }
.contact-form-grid textarea { resize: vertical; min-height: 90px; }
.btn-contact {
  padding: 10px 28px;
  background: var(--accent);
  color: #fff;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background var(--transition);
  margin-top: 4px;
}
.btn-contact:hover { background: var(--accent-light); }

/* =========================================
   PAGINATION
   ========================================= */
.pagination { display: flex; gap: 6px; justify-content: center; padding: 20px 0; flex-wrap: wrap; }
.pagination .page-numbers {
  padding: 7px 13px;
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: 13px;
  color: var(--primary);
  background: #fff;
  transition: background var(--transition), color var(--transition);
}
.pagination .page-numbers:hover,
.pagination .page-numbers.current {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}

/* =========================================
   FOOTER
   ========================================= */
#colophon {
  background: var(--primary-dark);
  color: #b0c4d8;
  margin-top: 30px;
}
.footer-widgets {
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 16px 16px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.footer-widget h3 { color: #fff; font-size: 15px; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 2px solid var(--accent); display: inline-block; }
.footer-widget ul li { margin-bottom: 7px; }
.footer-widget ul li a { color: #b0c4d8; font-size: 13px; }
.footer-widget ul li a:hover { color: var(--accent-light); }
.footer-widget p { font-size: 13px; line-height: 1.7; }
.footer-bottom {
  text-align: center;
  padding: 14px 16px;
  font-size: 12.5px;
  color: #7a94ab;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.footer-bottom a { color: #b0c4d8; }
.footer-bottom a:hover { color: var(--accent-light); }
.footer-links { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; margin-bottom: 6px; }
.footer-links a { color: #7a94ab; font-size: 12px; }
.footer-links a:hover { color: #fff; }

/* =========================================
   UTILITY PAGES (About, Privacy, etc.)
   ========================================= */
.page-content { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.page-content h1 { font-size: 26px; margin-bottom: 16px; border-bottom: 3px solid var(--accent); padding-bottom: 10px; }
.page-content h2 { font-size: 19px; margin: 20px 0 8px; color: var(--primary); }
.page-content p { margin-bottom: 12px; font-size: 14.5px; line-height: 1.8; }
.page-content ul { list-style: disc; padding-left: 20px; margin-bottom: 12px; }
.page-content ul li { margin-bottom: 6px; font-size: 14.5px; }

/* =========================================
   NOTICES & ALERTS
   ========================================= */
.notice {
  padding: 10px 14px;
  border-radius: 4px;
  font-size: 13px;
  margin-bottom: 14px;
  border-left: 4px solid;
}
.notice-info { background: #e3f2fd; border-color: #1565c0; color: #0d47a1; }
.notice-success { background: #e8f5e9; border-color: #2e7d32; color: #1b5e20; }
.notice-warning { background: #fff8e1; border-color: #f57f17; color: #e65100; }

/* =========================================
   SEARCH RESULTS
   ========================================= */
.search-results-header { font-size: 16px; margin-bottom: 16px; color: var(--primary-dark); }
.search-no-results { text-align: center; padding: 40px; color: var(--text-muted); }

/* =========================================
   BACK TO TOP
   ========================================= */
#back-to-top {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--transition), visibility var(--transition), background var(--transition);
  z-index: 9999;
  box-shadow: var(--shadow-md);
  text-decoration: none;
}
#back-to-top.show { opacity: 1; visibility: visible; }
#back-to-top:hover { background: var(--accent); color: #fff; }

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 900px) {
  #page-content-area { grid-template-columns: 1fr; }
  #secondary { order: 2; }
  .state-court-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
  .contact-form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .header-inner { flex-direction: column; align-items: flex-start; gap: 8px; }
  .header-ad { min-width: unset; width: 100%; }
  .menu-toggle { display: block; }
  .nav-inner {
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    padding: 6px 16px;
  }
  .main-navigation { width: 100%; }
  .main-navigation ul {
    display: none;
    flex-direction: column;
    background: var(--primary-dark);
    width: 100%;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 9999;
    box-shadow: var(--shadow-md);
  }
  .main-navigation ul.open { display: flex; }
  .main-navigation ul li ul { position: static; width: 100%; border: none; box-shadow: none; }
  .search-nav-form { display: none; }
  .hero-banner h1 { font-size: 18px; }
  .quick-links-grid { grid-template-columns: repeat(2, 1fr); }
  .single-post-title { font-size: 19px; }
  .footer-widgets { grid-template-columns: 1fr 1fr; }
  .site-title { font-size: 18px; }
}
@media (max-width: 400px) {
  .quick-links-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-widgets { grid-template-columns: 1fr; }
}

/* =========================================
   PRINT
   ========================================= */
@media print {
  #masthead, #site-navigation, #secondary, #colophon, .in-article-ad, #back-to-top, .breadcrumb-bar { display: none !important; }
  #page-content-area { display: block; max-width: 100%; }
  body { font-size: 12pt; }
}

/* =========================================
   CATEGORY WISE POSTS GRID (Homepage)
   ========================================= */
.cat-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.cat-post-item {
  background: var(--bg-white);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  transition: box-shadow var(--transition), transform var(--transition);
  display: flex;
  flex-direction: column;
}
.cat-post-item:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}
.cat-post-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--sidebar-bg);
}
.cat-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
  display: block;
}
.cat-post-item:hover .cat-post-thumb img {
  transform: scale(1.04);
}
.cat-post-thumb.no-thumb {
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
}
.no-thumb-icon {
  font-size: 40px;
  opacity: 0.5;
}
.cat-post-info {
  padding: 10px 12px 12px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cat-post-title {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 5px;
}
.cat-post-title a {
  color: var(--primary-dark);
}
.cat-post-title a:hover { color: var(--accent); }
.cat-post-meta {
  font-size: 11px;
  color: var(--text-muted);
  margin-bottom: 5px;
}
.cat-post-excerpt {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.5;
  flex: 1;
  margin-bottom: 8px;
}
.cat-read-more {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: var(--accent);
  padding: 4px 0;
  border-top: 1px solid var(--border);
  margin-top: auto;
}
.cat-read-more:hover { color: var(--primary); }

/* Section card header link */
.section-card-header a { color: #fff; }
.section-card-header a:hover { color: var(--accent-light); }

/* Responsive category grid */
@media (max-width: 900px) {
  .cat-posts-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .cat-posts-grid { grid-template-columns: 1fr; }
  .cat-post-thumb, .cat-post-thumb img { height: auto; }
}
