.municipal-sitemap-container {
max-width: 1200px;
margin: 0 auto;
padding: 30px 20px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.municipal-sitemap-header {
text-align: center;
margin-bottom: 40px;
padding-bottom: 20px;
border-bottom: 1px solid #e0e0e0;
}
.municipal-sitemap-title {
font-size: 32px;
color: #333;
margin-bottom: 10px;
}
.municipal-sitemap-description {
color: #666;
font-size: 16px;
}
.municipal-sitemap-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 30px;
margin-bottom: 40px;
}
.municipal-sitemap-section {
background: white;
padding: 25px;
border: 1px solid #e0e0e0;
border-radius: 8px;
}
.municipal-sitemap-section-title {
font-size: 20px;
color: #2c3e50;
margin-bottom: 20px;
padding-bottom: 10px;
border-bottom: 2px solid #3498db;
}
.municipal-sitemap-notice {
background: #fff8e5;
padding: 12px;
border-left: 4px solid #ffb300;
border-radius: 4px;
margin: 10px 0;
}
.municipal-sitemap-menu {
list-style: none;
padding: 0;
margin: 0;
}
.municipal-sitemap-menu > li {
margin-bottom: 12px;
}
.municipal-sitemap-menu > li > a {
display: block;
padding: 10px 0;
color: #333;
text-decoration: none;
font-weight: 600;
border-bottom: 1px solid #f0f0f0;
}
.municipal-sitemap-menu > li > a:hover {
color: #3498db;
padding-left: 8px;
}
.municipal-sitemap-submenu {
list-style: none;
padding-left: 20px;
margin: 8px 0 0 15px;
border-left: 2px solid #e8e8e8;
}
.municipal-sitemap-submenu li {
margin-bottom: 6px;
}
.municipal-sitemap-submenu a {
color: #666;
text-decoration: none;
font-size: 14px;
padding: 5px 0;
display: block;
}
.municipal-sitemap-submenu a:hover {
color: #3498db;
padding-left: 8px;
}
.municipal-sitemap-categories-container {
margin: 15px 0;
}
.municipal-sitemap-category {
margin-bottom: 25px;
padding-bottom: 20px;
border-bottom: 1px solid #eee;
}
.municipal-sitemap-category:last-child {
border-bottom: none;
}
.municipal-sitemap-category-header {
margin-bottom: 12px;
}
.municipal-sitemap-category-header h3 {
margin: 0;
font-size: 17px;
}
.municipal-sitemap-category-header a {
color: #333;
text-decoration: none;
}
.municipal-sitemap-category-header a:hover {
color: #3498db;
}
.municipal-sitemap-category-count {
color: #666;
font-size: 14px;
font-weight: normal;
}
.municipal-sitemap-category-posts {
list-style: none;
padding: 0;
margin: 0 0 10px 0;
}
.municipal-sitemap-category-posts li {
padding: 6px 0;
border-bottom: 1px dotted #eee;
}
.municipal-sitemap-category-posts li:last-child {
border-bottom: none;
}
.municipal-sitemap-category-posts a {
color: #555;
text-decoration: none;
font-size: 14px;
display: block;
}
.municipal-sitemap-category-posts a:hover {
color: #3498db;
}
.municipal-sitemap-post-date {
color: #888;
font-size: 12px;
display: inline-block;
width: 50px;
}
.municipal-sitemap-category-more {
margin-top: 10px;
}
.municipal-sitemap-category-more a {
color: #3498db;
text-decoration: none;
font-size: 13px;
}
.municipal-sitemap-category-more a:hover {
text-decoration: underline;
}
.municipal-sitemap-archives {
margin-top: 30px;
padding-top: 20px;
border-top: 1px solid #eee;
}
.municipal-sitemap-archives h3 {
font-size: 16px;
color: #444;
margin-bottom: 12px;
}
.municipal-sitemap-archive-list {
list-style: none;
padding: 0;
margin: 0;
column-count: 2;
}
.municipal-sitemap-archive-list li {
margin-bottom: 8px;
}
.municipal-sitemap-archive-list a {
color: #555;
text-decoration: none;
font-size: 14px;
}
.municipal-sitemap-archive-list a:hover {
color: #3498db;
}
.municipal-sitemap-search-box {
margin-top: 25px;
padding-top: 20px;
border-top: 1px solid #eee;
}
.municipal-sitemap-search-box h3 {
font-size: 16px;
margin-bottom: 12px;
color: #444;
}
.municipal-sitemap-search-box .search-form {
display: flex;
gap: 8px;
}
.municipal-sitemap-search-box .search-field {
flex: 1;
padding: 10px 12px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 14px;
}
.municipal-sitemap-search-box .search-submit {
background: #3498db;
color: white;
border: none;
padding: 10px 20px;
border-radius: 4px;
cursor: pointer;
font-size: 14px;
}
.municipal-sitemap-search-box .search-submit:hover {
background: #2980b9;
}
.municipal-sitemap-footer {
margin-top: 50px;
padding-top: 30px;
border-top: 2px solid #e0e0e0;
}
.municipal-sitemap-stats h3 {
text-align: center;
font-size: 20px;
color: #333;
margin-bottom: 25px;
}
.municipal-sitemap-stats-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 20px;
margin-bottom: 25px;
}
.municipal-sitemap-stat-item {
text-align: center;
padding: 20px;
background: #f8f9fa;
border-radius: 8px;
border: 1px solid #e9ecef;
}
.municipal-sitemap-stat-number {
font-size: 32px;
font-weight: bold;
color: #3498db;
margin-bottom: 5px;
}
.municipal-sitemap-stat-label {
color: #666;
font-size: 14px;
}
.municipal-sitemap-info {
text-align: center;
color: #888;
font-size: 14px;
margin-top: 20px;
}
.municipal-sitemap-excluded-notice {
color: #ff9800;
margin-top: 5px;
}
@media (max-width: 900px) {
	.municipal-sitemap-grid { grid-template-columns: 1fr; }
	.municipal-sitemap-stats-grid { grid-template-columns: repeat(2, 1fr); }
	.municipal-sitemap-archive-list { column-count: 1; }
}
@media (max-width: 600px) {
	.municipal-sitemap-container { padding: 20px 15px; }
	.municipal-sitemap-section { padding: 20px; }
	.municipal-sitemap-title { font-size: 28px; }
	.municipal-sitemap-stats-grid { grid-template-columns: 1fr; }
	.municipal-sitemap-search-box .search-form { flex-direction: column; }
}