
/* Ellis County Sheriff's Office — Site Stylesheet */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --green-dark:  #2d4a1e;
  --green-mid:   #3d6128;
  --green-light: #4e7a32;
  --gold:        #c8a84b;
  --gold-light:  #e8c96a;
  --text:        #222;
  --bg:          #f5f5f0;
  --white:       #fff;
  --sidebar-bg:  #eef2e8;
  --border:      #c0c8b0;
}

body { font-family: Arial, Helvetica, sans-serif; font-size: 14px; color: var(--text); background: var(--bg); }
a { color: var(--green-dark); text-decoration: none; }
a:hover { text-decoration: underline; color: var(--green-light); }

/* HEADER */
.site-header { background: var(--green-dark); border-bottom: 4px solid var(--gold); }
.header-inner { max-width: 1100px; margin: 0 auto; display: flex; align-items: center; gap: 20px; padding: 10px 16px; }
.logo-link img { height: 90px; width: auto; display: block; }
.header-contact { color: var(--white); }
.header-contact span { display: block; font-size: 13px; }
.header-contact span:first-child { font-size: 18px; font-weight: bold; letter-spacing: 1px; color: var(--gold-light); }
.header-contact a { color: var(--gold-light); font-weight: bold; }

/* TOP BAR */
.top-bar { background: var(--green-mid); border-bottom: 2px solid var(--gold); }
.top-bar-inner { max-width: 1100px; margin: 0 auto; display: flex; gap: 20px; padding: 6px 16px; justify-content: flex-end; }
.top-bar-inner a { color: var(--white); font-size: 13px; }
.top-bar-inner a:hover { color: var(--gold-light); }
.warrant-link { background: #8b1a1a; color: var(--white) !important; padding: 3px 10px; border-radius: 3px; font-weight: bold; }
.warrant-link:hover { background: #a52020; }

/* BODY WRAP */
.body-wrap { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 200px 1fr 220px; gap: 0; padding: 0; min-height: 500px; }

/* LEFT SIDEBAR */
.sidebar-nav { background: var(--sidebar-bg); border-right: 1px solid var(--border); padding: 12px 0; }
.nav-section { margin-bottom: 4px; }
.nav-section h3 { background: var(--green-dark); color: var(--gold-light); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px; padding: 6px 12px; margin: 0; }
.nav-section ul { list-style: none; }
.nav-section ul li a { display: block; padding: 5px 12px; font-size: 13px; color: var(--green-dark); border-bottom: 1px solid #dde4d0; }
.nav-section ul li a:hover, .nav-section ul li.active a { background: var(--green-dark); color: var(--white); text-decoration: none; }
.warrant-nav h3 { background: #8b1a1a; color: var(--white); }
.warrant-nav ul li a { color: #8b1a1a; font-weight: bold; }
.warrant-nav ul li a:hover { background: #8b1a1a; color: var(--white); }

/* MAIN CONTENT */
.main-content { padding: 20px 24px; background: var(--white); border-right: 1px solid var(--border); }
.main-content h1 { font-size: 22px; color: var(--green-dark); border-bottom: 2px solid var(--gold); padding-bottom: 8px; margin-bottom: 16px; }
.main-content h2 { font-size: 17px; color: var(--green-dark); margin: 18px 0 8px; }
.main-content h3 { font-size: 15px; color: var(--green-mid); margin: 14px 0 6px; }
.main-content p { margin-bottom: 10px; line-height: 1.6; }
.main-content ul, .main-content ol { margin: 8px 0 12px 20px; line-height: 1.7; }
.main-content table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 13px; }
.main-content table th { background: var(--green-dark); color: var(--white); padding: 8px; text-align: left; }
.main-content table td { padding: 7px 8px; border: 1px solid var(--border); }
.main-content table tr:nth-child(even) td { background: #f0f4ea; }
.notice { background: #fef9e7; border-left: 4px solid var(--gold); padding: 10px 14px; margin: 12px 0; font-size: 13px; }
.emergency-notice { background: #fdf2f2; border-left: 4px solid #8b1a1a; padding: 10px 14px; margin: 12px 0; font-weight: bold; color: #8b1a1a; }
.hero-img { width: 100%; max-height: 260px; object-fit: cover; margin-bottom: 16px; border: 2px solid var(--border); }
.breadcrumbs { font-size: 12px; color: #666; margin-bottom: 12px; }
.breadcrumbs a { color: var(--green-mid); }

/* RIGHT SIDEBAR */
.right-sidebar { background: var(--sidebar-bg); padding: 12px 10px; }
.sidebar-box { background: var(--white); border: 1px solid var(--border); margin-bottom: 12px; }
.sidebar-box h4 { background: var(--green-dark); color: var(--gold-light); font-size: 12px; text-transform: uppercase; padding: 6px 10px; }
.sidebar-box ul { list-style: none; padding: 6px 10px; }
.sidebar-box ul li { border-bottom: 1px solid #eee; }
.sidebar-box ul li a { display: block; padding: 4px 0; font-size: 12px; color: var(--green-dark); }
.sidebar-box ul li a:hover { color: var(--green-light); }
.sidebar-box p { padding: 6px 10px; font-size: 12px; line-height: 1.5; }
.sidebar-box img { width: 100%; height: auto; display: block; }
.contact-box p { padding: 6px 10px; font-size: 12px; line-height: 1.6; }
.contact-box a { color: var(--green-dark); font-weight: bold; }

/* FOOTER */
.site-footer { background: var(--green-dark); color: #ccc; border-top: 4px solid var(--gold); }
.footer-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 24px 16px; }
.footer-col h4 { color: var(--gold-light); font-size: 13px; text-transform: uppercase; margin-bottom: 10px; border-bottom: 1px solid var(--green-light); padding-bottom: 4px; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 4px; }
.footer-col ul li a, .footer-col a { color: #ccc; font-size: 13px; }
.footer-col ul li a:hover, .footer-col a:hover { color: var(--gold-light); }
.footer-col p { font-size: 12px; line-height: 1.6; margin-bottom: 6px; }
.footer-bottom { background: #1a2e10; text-align: center; padding: 10px 16px; font-size: 12px; color: #aaa; }
.footer-bottom a { color: var(--gold-light); }

/* MOBILE */
@media (max-width: 800px) {
  .body-wrap { grid-template-columns: 1fr; }
  .sidebar-nav { display: none; }
  .sidebar-nav.open { display: block; }
  .right-sidebar { border-top: 2px solid var(--border); }
  .footer-inner { grid-template-columns: 1fr 1fr; }
  .header-inner { flex-direction: column; align-items: flex-start; }
  .mobile-nav-toggle { display: block !important; background: var(--green-mid); color: var(--white); border: none; padding: 8px 16px; font-size: 15px; cursor: pointer; width: 100%; text-align: left; }
}
@media (min-width: 801px) { .mobile-nav-toggle { display: none; } }
@media (max-width: 500px) { .footer-inner { grid-template-columns: 1fr; } }
