/* === REPUBLIC OF COMPUTIA — SHARED STYLES === */
body {
  margin: 0; padding: 0;
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  font-size: 12px; color: #333;
  background-color: #d8dfe7;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4"><rect width="4" height="4" fill="%23d8dfe7"/><rect width="1" height="1" fill="%23cdd5de"/></svg>');
}
a { color: #003366; text-decoration: underline; }
a:hover { color: #cc0000; }
a:visited { color: #551a8b; }

.flag-stripe {
  height: 4px;
  background: linear-gradient(to right, #003399 0%, #003399 33%, #ffffff 33%, #ffffff 50%, #ffcc00 50%, #ffcc00 67%, #009933 67%, #009933 100%);
}
.skip-nav { background:#003366; color:#fff; font-size:10px; text-align:right; padding:2px 10px; }
.skip-nav a { color:#aaccee; font-size:10px; margin-left:8px; }
.utility-bar {
  background: linear-gradient(to bottom, #003366, #001a33);
  color:#ccc; font-size:10px; padding:4px 10px;
  display:flex; justify-content:space-between; align-items:center;
  border-bottom:2px solid #ffcc00;
}
.utility-bar a { color:#aaccff; font-size:10px; margin:0 6px; }
.utility-bar select { font-size:10px; padding:1px; }

.header {
  background: linear-gradient(to bottom, #0a3d6b 0%, #1a5a8a 30%, #0a3d6b 100%);
  border-bottom:3px solid #c8a415;
  padding:10px 20px; display:flex; align-items:center; min-height:100px;
}
.header-seal { width:90px; height:90px; margin-right:15px; flex-shrink:0; }
.seal-svg { width:90px; height:90px; }
.header-text { flex:1; }
.header-text h1 { color:#fff; font-size:22px; font-family:Georgia,serif; margin:0; text-shadow:1px 1px 2px rgba(0,0,0,.5); letter-spacing:1px; }
.header-text h2 { color:#ffdd44; font-size:13px; font-family:Georgia,serif; margin:2px 0 0; font-weight:normal; font-style:italic; }
.header-text p { color:#aaccee; font-size:10px; margin:4px 0 0; }
.header-search { text-align:right; }
.header-search input[type="text"] { width:160px; padding:3px 5px; font-size:11px; border:1px solid #888; }
.header-search input[type="submit"] { padding:3px 10px; font-size:11px; background:linear-gradient(to bottom,#f0f0f0,#ccc); border:1px solid #888; cursor:pointer; }
.header-search label { color:#ccc; font-size:10px; }

.main-nav {
  background: linear-gradient(to bottom, #1a5a8a 0%, #0e4a75 50%, #0a3d6b 100%);
  border-bottom:1px solid #003355; padding:0; display:flex; justify-content:center;
  box-shadow:0 2px 4px rgba(0,0,0,.3); flex-wrap:wrap;
}
.main-nav a {
  color:#fff; text-decoration:none; font-size:11px; font-weight:bold;
  padding:8px 14px; display:block;
  border-right:1px solid rgba(255,255,255,.15); border-left:1px solid rgba(0,0,0,.2);
}
.main-nav a:hover, .main-nav a.active {
  background: linear-gradient(to bottom, #ffcc00, #cc9900); color:#003366;
}

.ticker-bar { background:#fff4cc; border-bottom:1px solid #e0c040; border-top:1px solid #e0c040; padding:4px 10px; font-size:11px; color:#663300; overflow:hidden; }
.ticker-bar strong { color:#cc0000; }
.ticker-content { display:inline-block; white-space:nowrap; animation:ticker 30s linear infinite; }
@keyframes ticker { 0%{transform:translateX(100vw)} 100%{transform:translateX(-100%)} }

.breadcrumb { background:#eef2f7; border-bottom:1px solid #ccc; padding:5px 20px; font-size:10px; color:#666; }
.breadcrumb a { color:#003366; }

.content-wrapper { max-width:960px; margin:0 auto; display:flex; gap:0; padding:10px 0; }

.sidebar-left { width:200px; flex-shrink:0; padding-right:10px; }
.sidebar-box { background:#fff; border:1px solid #99aabb; margin-bottom:10px; box-shadow:1px 1px 3px rgba(0,0,0,.1); }
.sidebar-box h3 { background:linear-gradient(to bottom,#336699,#264d73); color:#fff; font-size:11px; padding:6px 10px; margin:0; border-bottom:2px solid #ffcc00; }
.sidebar-box ul { list-style:none; padding:0; margin:0; }
.sidebar-box ul li { border-bottom:1px solid #e5e5e5; }
.sidebar-box ul li a {
  display:block; padding:5px 10px 5px 18px; font-size:11px; color:#003366; text-decoration:none;
  background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="6" height="6" viewBox="0 0 6 6"><polygon points="0,0 6,3 0,6" fill="%23336699"/></svg>') no-repeat 6px center;
}
.sidebar-box ul li a:hover { background-color:#eef4ff; color:#cc0000; }
.sidebar-box .box-content { padding:8px 10px; font-size:11px; line-height:1.5; }
.quick-links-box { background:#fffff0; border:1px solid #cccc99; }
.quick-links-box h3 { background:linear-gradient(to bottom,#998833,#776622); }

.sidebar-right { width:180px; flex-shrink:0; padding-left:10px; }

.main-content { flex:1; min-width:0; }

.page-box { background:#fff; border:1px solid #99aabb; margin-bottom:10px; box-shadow:1px 1px 3px rgba(0,0,0,.1); overflow:hidden; }
.page-box-header { background:linear-gradient(to bottom,#336699,#264d73); color:#fff; font-size:13px; font-weight:bold; padding:6px 12px; border-bottom:2px solid #ffcc00; font-family:Georgia,serif; }
.page-box-body { padding:12px; font-size:12px; line-height:1.7; color:#333; }
.page-box-body h3 { color:#003366; font-family:Georgia,serif; font-size:14px; margin:0 0 8px; }
.page-box-body h4 { color:#003366; font-size:12px; margin:10px 0 4px; }
.page-box-body p { margin:0 0 8px; }
.page-box-body ul { padding-left:20px; margin:6px 0; }
.page-box-body ul li { margin-bottom:4px; font-size:11px; }

.page-tools { text-align:right; font-size:10px; padding:3px 12px; background:#f5f5f5; border-bottom:1px solid #e5e5e5; }
.page-tools a { margin-left:10px; color:#666; font-size:10px; }
.last-updated { font-size:9px; color:#999; text-align:right; padding:4px 12px; font-style:italic; }

.data-table { width:100%; border-collapse:collapse; font-size:11px; margin-top:5px; }
.data-table th { background:#336699; color:white; padding:5px 8px; text-align:left; }
.data-table td { padding:5px 8px; border-bottom:1px solid #ddd; }
.data-table tr:nth-child(even) td { background:#f0f4f8; }
.data-table tr:hover td { background:#e0e8f0; }
.data-table td:first-child { font-weight:bold; color:#003366; }

.two-col { display:flex; gap:10px; margin-bottom:10px; }
.two-col .col { flex:1; background:#fff; border:1px solid #99aabb; box-shadow:1px 1px 3px rgba(0,0,0,.1); }
.two-col .col h3 { background:linear-gradient(to bottom,#336699,#264d73); color:#fff; font-size:11px; padding:6px 10px; margin:0; border-bottom:2px solid #ffcc00; }
.two-col .col .col-content { padding:10px; font-size:11px; line-height:1.6; }

.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:10px; }
.service-item { text-align:center; padding:10px 5px; border:1px solid #ddd; background:linear-gradient(to bottom,#f8f8f8,#eee); font-size:10px; text-decoration:none; color:#003366; display:block; }
.service-item:hover { background:linear-gradient(to bottom,#eef4ff,#dde8f4); border-color:#88aacc; }
.service-icon { font-size:24px; display:block; margin-bottom:4px; }

.alert-box { background:#fff3f3; border:2px solid #cc0000; }
.alert-box h3 { background:linear-gradient(to bottom,#cc0000,#990000) !important; }
.alert-box .box-content { font-size:10px; color:#660000; }
.blink-text { animation:blink 1s step-start infinite; color:#cc0000; font-weight:bold; }
@keyframes blink { 50%{opacity:0} }

.badge-new { background:#cc0000; color:white; font-size:9px; padding:1px 4px; font-weight:bold; animation:blink 1.5s step-start infinite; }
.badge-updated { background:#ff8800; color:white; font-size:9px; padding:1px 4px; font-weight:bold; }

.visitor-counter { background:#000; color:#00ff00; font-family:'Courier New',monospace; font-size:13px; text-align:center; padding:8px; border:2px inset #444; margin-bottom:10px; letter-spacing:2px; }
.visitor-counter span { color:#aaa; font-size:9px; display:block; letter-spacing:0; }

.weather-widget { text-align:center; padding:5px; }
.weather-temp { font-size:16px; font-weight:bold; color:#003366; }

.poll-box .box-content label { display:block; margin:3px 0; font-size:11px; }
.poll-box .vote-btn { margin-top:6px; padding:3px 12px; font-size:10px; background:linear-gradient(to bottom,#f0f0f0,#ccc); border:1px solid #888; cursor:pointer; }

.minister-card { display:flex; gap:8px; padding:8px 10px; border-bottom:1px solid #e5e5e5; }
.minister-photo { width:45px; height:55px; background:linear-gradient(135deg,#ccc,#999); border:1px solid #888; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
.minister-info { font-size:10px; }
.minister-info strong { font-size:11px; color:#003366; display:block; }
.minister-info em { color:#666; font-size:10px; }

hr.section-line { border:none; border-top:1px solid #99aabb; margin:8px 0; }

.footer-top { background:linear-gradient(to bottom,#0a3d6b,#062d4f); border-top:3px solid #c8a415; color:#aabbcc; padding:15px 20px; font-size:10px; }
.footer-columns { max-width:960px; margin:0 auto; display:flex; gap:30px; }
.footer-col { flex:1; }
.footer-col h4 { color:#ffcc00; font-size:11px; margin:0 0 8px; border-bottom:1px solid #335577; padding-bottom:4px; }
.footer-col ul { list-style:none; padding:0; margin:0; }
.footer-col ul li { margin-bottom:3px; }
.footer-col ul li a { color:#88aacc; text-decoration:none; font-size:10px; }
.footer-col ul li a:hover { color:#ffcc00; }
.footer-bottom { background:#001a33; color:#667788; text-align:center; padding:10px; font-size:9px; border-top:1px solid #0a3d6b; }
.footer-bottom a { color:#8899aa; }
.ie-notice { font-size:9px; color:#556677; margin-top:5px; }
.badges { margin-top:8px; }
.badge { display:inline-block; background:#335577; color:#aabbcc; font-size:8px; padding:2px 6px; border:1px solid #446688; margin:2px; }

.info-banner { background:#fffbe6; border:1px solid #e0c040; border-left:4px solid #ffcc00; padding:10px 14px; margin-bottom:10px; font-size:11px; color:#553300; }
.form-group { margin-bottom:10px; }
.form-group label { display:block; font-size:11px; font-weight:bold; color:#003366; margin-bottom:3px; }
.form-group input[type=text], .form-group input[type=email], .form-group select, .form-group textarea { width:100%; padding:4px 6px; font-size:11px; border:1px solid #99aabb; box-sizing:border-box; }
.form-group textarea { height:80px; }
.submit-btn { background:linear-gradient(to bottom,#336699,#264d73); color:white; border:1px solid #1a3a5a; padding:6px 20px; font-size:11px; cursor:pointer; font-weight:bold; }
.submit-btn:hover { background:linear-gradient(to bottom,#ffcc00,#cc9900); color:#003366; }

.scroll-box { max-height:130px; overflow-y:scroll; padding:6px 10px; font-size:10px; line-height:1.6; }
