/*
 * Love Wetumka – additions to the City Hall theme stylesheet.
 * Uses the theme's palette: blue #013b93, red #b00000, gold #f0c030, ink #111.
 * Includes styles for WordPress block markup found in migrated articles.
 */

.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: #111; display: block; height: auto; left: 5px; padding: 15px 23px 14px; top: 5px; width: auto; z-index: 100000; }

/* Header search */
.page-header-left #site-header-extra { justify-content: center; }
.site-header-search { display: inline-flex; gap: 0; align-self: flex-end; }
.site-header-search input[type="search"] { border: 1px solid #ccc; border-right: 0; font: inherit; font-size: 14px; padding: 8px 10px; width: 210px; }
.site-header-search button { background: #013b93; border: 0; color: #fff; cursor: pointer; font: inherit; font-size: 14px; font-weight: 600; padding: 8px 14px; }
.site-header-search button:hover, .site-header-search button:focus { background: #b00000; }
@media screen and (max-width: 768px) { .site-header-search { align-self: center; } }

/* Notices */
.site-notice { border-left: 4px solid #013b93; background: #eef3fb; margin: 0 0 1.5rem; padding: 12px 16px; font-size: 0.9375em; }
.site-notice-success { border-color: #2e7d32; background: #edf7ee; }
.site-notice-error, .site-notice-danger { border-color: #b00000; background: #fbeeee; }
.site-notice-warning { border-color: #f0c030; background: #fdf8e6; }

/* Announcements */
.home-announcements { margin: 0 0 2.5rem; }
.announcement { border-left: 4px solid #013b93; background: #f5f7fa; padding: 10px 14px; margin-bottom: 10px; font-size: 0.9375em; line-height: 1.5; }
.announcement-important { border-color: #f0c030; background: #fdf8e6; }
.announcement-urgent { border-color: #b00000; background: #fbeeee; }
.announcement a { text-decoration: underline; font-weight: 600; }
.widget .announcement { font-size: 1em; }
.widget .announcement div { margin: 4px 0; }

/* Sidebar widgets */
.widget-title { font-weight: 700; text-transform: uppercase; font-size: 1em; letter-spacing: .02em; }
.site-column-main .widget-title { margin: 0 0 1.5rem; }
.home-featured + .widget-title, .home-events .widget-title { border-top: 4px solid #111; padding-top: 14px; }
.widget-event-list { list-style: none; margin: 0 0 1rem; padding: 0; }
.widget-event-list li { border-bottom: 1px solid #e5e5e5; padding: 8px 0; line-height: 1.4; }
.widget-event-date { display: block; color: #b00000; font-size: 0.8125em; font-weight: 700; text-transform: uppercase; }

/* Featured stories */
.home-featured { margin-bottom: 3rem; }
.featured-story { display: flex; gap: 24px; border-bottom: 1px solid #ddd; padding-bottom: 20px; margin-bottom: 20px; }
.featured-story-image { flex: 0 0 180px; }
.featured-story-image img { width: 100%; height: auto; display: block; }
.featured-story-lead { flex-direction: column; gap: 14px; }
.featured-story-lead .featured-story-image { flex-basis: auto; }
.featured-story-lead .entry-title { font-size: 1.75em; line-height: 1.25; margin: 0 0 .75rem; }
.featured-story .entry-title { font-size: 1.25em; line-height: 1.35; margin: 0 0 .5rem; }
.featured-story .entry-excerpt { margin: 0 0 .5rem; font-size: .9375em; line-height: 1.55; }
.featured-story .entry-descriptor { font-size: .8125em; color: #666; margin: 0; }
@media screen and (max-width: 480px) { .featured-story { flex-direction: column; } .featured-story-image { flex-basis: auto; } }

.site-archive-posts { list-style: none; margin: 0 0 2rem; padding: 0; }
.site-archive-posts .entry-thumbnail img { display: block; height: auto; max-width: 140px; }

/* Article content: WordPress block compatibility */
.entry-content { line-height: 1.75; }
.entry-content img { height: auto; max-width: 100%; }
.entry-content figure { margin: 0 0 1.5rem; }
.entry-content figcaption, .wp-element-caption, .featured-image-caption { color: #555; font-size: .8125em; line-height: 1.45; margin-top: .5rem; text-align: center; }
.featured-image-caption { margin: -1.5rem 0 2rem; text-align: start; }
.wp-block-gallery { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 1.5rem; padding: 0; }
.wp-block-gallery > figure, .wp-block-gallery .wp-block-image { flex: 1 1 calc(50% - 12px); margin: 0; position: relative; }
.wp-block-gallery.columns-1 > figure { flex-basis: 100%; }
.wp-block-gallery.columns-3 > figure { flex-basis: calc(33.333% - 12px); }
.wp-block-gallery.is-cropped figure img { height: 100%; object-fit: cover; width: 100%; aspect-ratio: 4 / 3; }
.wp-block-gallery figure img { display: block; width: 100%; }
.wp-block-image { margin: 0 0 1.5rem; }
.wp-block-image img { display: block; }
.wp-block-image.aligncenter, .aligncenter { margin-left: auto; margin-right: auto; text-align: center; }
.alignleft { float: left; margin: .3em 1.5em 1em 0; }
.alignright { float: right; margin: .3em 0 1em 1.5em; }
.entry-content::after { clear: both; content: ""; display: table; }
.wp-block-quote, .entry-content blockquote { border-left: 4px solid #013b93; margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; font-style: italic; }
.entry-content iframe { max-width: 100%; }
.entry-content .video-embed, .wp-block-embed__wrapper { position: relative; padding-top: 56.25%; }
.entry-content .video-embed iframe, .wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.entry-content table { border-collapse: collapse; width: 100%; margin-bottom: 1.5rem; }
.entry-content td, .entry-content th { border: 1px solid #ddd; padding: 6px 10px; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }

.entry-tags { font-size: .875em; margin: 2rem 0 0; }
.entry-tags a { text-decoration: underline; }

/* Share / print bar */
.entry-actions-bar { align-items: center; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; display: flex; flex-wrap: wrap; gap: 8px 14px; font-size: .875em; margin: 2rem 0; padding: 12px 0; }
.share-label { font-weight: 700; text-transform: uppercase; }
.share-link, .print-link { background: none; border: 0; color: #013b93; cursor: pointer; font: inherit; padding: 0; text-decoration: underline; }
.share-link:hover, .print-link:hover { color: #b00000; }
.entry-actions-print { margin-left: auto; display: flex; gap: 14px; }
.entry-actions-print .print-link { font-weight: 600; }

.post-navigation { display: flex; gap: 30px; justify-content: space-between; margin: 0 0 2rem; font-size: .9375em; line-height: 1.4; }
.post-navigation span { color: #666; display: block; font-size: .8125em; text-transform: uppercase; }
.post-navigation .nav-next { margin-left: auto; text-align: right; }

/* Comments */
.comment-list, .comment-list .children { list-style: none; margin: 0; padding: 0; }
.comment-list .children { margin-left: 40px; }
.comment-body { display: flex; gap: 20px; margin-bottom: 2rem; }
.comment-author img { border-radius: 50%; }
.comment-meta { flex: 0 0 auto; }
.comment-body { flex-wrap: wrap; }
.comment-content { flex-basis: 100%; }
.comment-content p { margin: 0 0 1rem; }
.comment-meta .fn { font-style: normal; font-weight: 700; }
.comment-metadata { font-size: .8125em; }
.comment-tools { font-size: .8125em; }
.comment-form p { margin: 0 0 1rem; }
.comment-form label { display: block; font-weight: 600; margin-bottom: 4px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea { border: 1px solid #ccc; font: inherit; padding: 8px 10px; width: 100%; max-width: 100%; }
.comment-form textarea { max-width: 100%; }
.comment-form-cookies-consent label { display: inline; font-weight: 400; }
.comment-form .submit { background: #013b93; border: 0; color: #fff; cursor: pointer; font: inherit; font-weight: 600; padding: 10px 22px; }
.comment-form .submit:hover, .comment-form .submit:focus { background: #b00000; }
.comment-form-hp { position: absolute !important; left: -9999px; height: 1px; overflow: hidden; }
.field-error { color: #b00000; display: block; font-size: .8125em; margin-top: 4px; }
.required { color: #b00000; }

/* Pagination */
.site-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 6px; margin: 2rem 0; }
.site-pagination .page-numbers { border: 1px solid #ddd; display: inline-block; font-size: .875em; padding: 4px 12px; }
.site-pagination .current { background: #013b93; border-color: #013b93; color: #fff; }

/* Search */
.search-form-large { display: flex; margin: 0 0 2rem; max-width: 520px; }
.search-form-large input { border: 1px solid #ccc; flex: 1; font: inherit; padding: 10px 12px; }
.search-form-large button { background: #013b93; border: 0; color: #fff; cursor: pointer; font: inherit; font-weight: 600; padding: 0 18px; }
.search-count { color: #666; font-size: .875em; }

/* Events */
.events-tabs { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 2rem; border-bottom: 3px solid #111; }
.events-tabs a { color: #111; font-size: .875em; font-weight: 600; padding: 10px 16px; text-transform: uppercase; }
.events-tabs a.is-active { background: #111; color: #fff; }
.events-tabs .events-ical { margin-left: auto; text-transform: none; font-weight: 400; text-decoration: underline; color: #013b93; }
.event-list { list-style: none; margin: 0 0 2rem; padding: 0; }
.event-list-item { border-bottom: 1px solid #ddd; display: flex; gap: 20px; padding: 18px 0; }
.event-list-item.is-featured { background: #fdf8e6; padding-left: 12px; padding-right: 12px; }
.event-date-badge { background: #013b93; color: #fff; flex: 0 0 64px; height: fit-content; line-height: 1.1; padding: 8px 4px; text-align: center; }
.event-date-badge span { display: block; }
.event-date-badge .m { font-size: .75em; font-weight: 700; text-transform: uppercase; }
.event-date-badge .d { font-size: 1.75em; font-weight: 700; }
.event-date-badge .y { font-size: .6875em; opacity: .85; }
.event-list-body { flex: 1; }
.event-list-thumb img { display: block; height: auto; }
.event-title { font-size: 1.25em; line-height: 1.35; margin: 0 0 .35rem; }
.event-list-compact .event-title { font-size: 1.0625em; }
.event-when, .event-where, .event-summary { font-size: .875em; line-height: 1.5; margin: 0 0 .25rem; }
.event-when { color: #b00000; font-weight: 600; }
.event-featured-badge { background: #f0c030; color: #111; font-size: .625em; font-weight: 700; padding: 2px 6px; text-transform: uppercase; vertical-align: middle; }
.event-back { font-size: .875em; margin: 0 0 1rem; }
.event-image img { display: block; height: auto; max-width: 100%; }
.event-details { border-top: 4px solid #111; display: grid; gap: 30px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin: 2.5rem 0 1rem; padding-top: 1rem; }
.event-details h2 { font-size: 1em; text-transform: uppercase; margin: 0 0 .75rem; }
.event-details p, .event-details dl { font-size: .9375em; line-height: 1.5; margin: 0 0 .5rem; }
.event-details dt { font-weight: 700; }
.event-details dd { margin: 0 0 .75rem; }
.button, .event-register { background: #013b93; color: #fff !important; display: inline-block; font-weight: 600; padding: 8px 18px; text-decoration: none !important; }
.button:hover, .event-register:hover { background: #b00000; }
.event-ical { font-size: .875em; }
.calendar-header { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.calendar-header h2 { font-size: 1.5em; margin: 0; }
.calendar-nav { font-size: .875em; font-weight: 600; }
.events-calendar { border-collapse: collapse; table-layout: fixed; width: 100%; }
.events-calendar th { background: #111; color: #fff; font-size: .75em; padding: 6px; text-transform: uppercase; }
.events-calendar td { border: 1px solid #ddd; height: 100px; padding: 4px; vertical-align: top; }
.events-calendar td.other-month { background: #f7f7f7; color: #aaa; }
.events-calendar td.today { background: #fdf8e6; }
.events-calendar .day-number { display: block; font-size: .75em; font-weight: 700; }
.calendar-event { background: #013b93; color: #fff !important; display: block; font-size: .6875em; line-height: 1.3; margin-top: 3px; overflow: hidden; padding: 2px 4px; }
.calendar-event.is-featured { background: #b00000; }
.calendar-event .t { font-weight: 700; margin-right: 3px; }
@media screen and (max-width: 640px) {
	.events-calendar td { height: 64px; }
	.calendar-event { font-size: 0; height: 8px; padding: 0; }
	.event-list-thumb { display: none; }
}

/* Footer */
.site-social-links { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; list-style: none; margin: 0 0 1rem; padding: 0; }
.site-social-links a { color: inherit; text-decoration: underline; }
.site-credit a { color: inherit; text-decoration: underline; }
.child-pages { margin-top: 2rem; }

@media print {
	#site-masthead, #site-footer, .site-column-aside, .entry-actions-bar, .post-navigation, #respond, .comment-tools, .site-header-search { display: none !important; }
	.site-wrapper-frame { padding: 0; width: auto; }
}
