/*
Theme Name: Beyond the Minutes

Author: Vestra Interactive
Description: Independent Maumelle City Council meeting recaps and public records. Not affiliated with the City of Maumelle.
Version: 2.0.0
Requires at least: 6.2
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maumelle-civic-news
Tags: blog, custom-logo, featured-images, accessibility-ready
*/
:root{--navy:#11263b;--blue:#164a69;--ink:#1d2b36;--muted:#5c6a76;--line:#dbe2e5;--paper:#f5f7f7;--white:#fff;--gold:#c99a47}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif}a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:#0c2c41}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:3px}img{max-width:100%;height:auto}figure{margin:0}.container{max-width:1180px;margin:auto;padding:0 24px}.topline{background:var(--navy);color:#d8e1e7;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.topline .container{display:flex;justify-content:space-between;gap:12px;padding-top:9px;padding-bottom:9px}.topline a{color:inherit}.masthead{background:#fff;border-bottom:1px solid var(--line)}.masthead-inner{display:flex;justify-content:space-between;align-items:center;gap:22px;padding-top:27px;padding-bottom:27px}.brand{display:flex;gap:15px;align-items:center;text-decoration:none;color:var(--navy)}.brand-badge{background:var(--navy);color:#fff;width:49px;height:49px;border-radius:5px;display:grid;place-items:center;font:800 24px Georgia,serif;flex-shrink:0}.brand-name{display:block;font:800 clamp(23px,3vw,34px)/1.05 Georgia,serif;letter-spacing:-.04em}.brand-sub{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}.mast-cta{font-size:13px;color:var(--muted);text-align:right}.mast-cta strong{display:block;color:var(--navy)}.navbar{background:var(--navy);color:white}.nav-inner{display:flex;align-items:center;justify-content:space-between}.nav-inner ul{display:flex;flex-wrap:wrap;list-style:none;padding:0;margin:0}.nav-inner a{display:block;padding:14px 16px;color:#fff;text-decoration:none;font-weight:700;font-size:13px}.nav-inner a:hover,.current-menu-item>a{background:#26465c}.search-btn{color:#fff;background:none;border:0;cursor:pointer;font-size:20px;padding:10px}.menu-toggle{display:none;background:none;color:white;border:1px solid #688398;padding:8px 12px;margin:8px 0;font-weight:700}.intro{padding:30px 0 20px}.eyebrow{color:var(--blue);font-weight:850;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.intro h1{margin:5px 0 7px;font:800 clamp(31px,4vw,45px)/1.12 Georgia,serif;letter-spacing:-.04em;color:var(--navy)}.intro p{margin:0;color:var(--muted);max-width:700px}.news-layout{display:block;padding-bottom:55px}.feature{background:white;border:1px solid var(--line);border-top:4px solid var(--gold);padding:30px;margin-bottom:28px}.feature h2{font:800 clamp(25px,3vw,38px)/1.17 Georgia,serif;margin:11px 0;color:var(--navy);letter-spacing:-.035em}.feature h2 a,.post-card h3 a{text-decoration:none;color:inherit}.feature h2 a:hover,.post-card h3 a:hover{color:var(--blue)}.feature p{max-width:700px;color:var(--muted)}.meta{font-size:12px;color:var(--muted);margin:11px 0}.kicker{font-size:11px;letter-spacing:.1em;color:var(--blue);font-weight:800;text-transform:uppercase}.cover-image{display:block;aspect-ratio:16/8;object-fit:cover;width:100%;margin-bottom:19px}.cover-empty{aspect-ratio:16/7;background:linear-gradient(135deg,#173b51,#2c5d6c);display:grid;align-items:end;padding:25px;color:#e4eef0;margin-bottom:20px}.cover-empty span{font:700 26px Georgia,serif}.section-label{border-bottom:2px solid var(--navy);display:flex;justify-content:space-between;align-items:center;margin:0 0 17px;padding-bottom:9px;font-weight:800;color:var(--navy);font-size:18px}.section-label small{font:600 11px system-ui;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.post-card{background:white;border:1px solid var(--line);overflow:hidden}.post-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.post-card .card-body{padding:20px}.post-card h3{font:800 22px/1.24 Georgia,serif;letter-spacing:-.02em;color:var(--navy);margin:8px 0 10px}.post-card p{margin:0;color:var(--muted);font-size:14px}.image-fallback{aspect-ratio:16/9;background:linear-gradient(140deg,#d5e0df,#e9efec);display:flex;align-items:center;justify-content:center;color:#536f78;font-size:12px;letter-spacing:.18em;font-weight:800}.article{background:white;border:1px solid var(--line);padding:clamp(24px,4vw,52px)}.article h1{font:800 clamp(31px,4vw,46px)/1.15 Georgia,serif;color:var(--navy);letter-spacing:-.04em;margin:8px 0}.article .entry-content{font-size:17px;line-height:1.85}.entry-content h2,.entry-content h3{font-family:Georgia,serif;color:var(--navy)}.entry-content blockquote{border-left:4px solid var(--gold);margin-left:0;padding-left:20px}.entry-content img{height:auto}.article-hero{width:100%;max-height:500px;object-fit:cover;margin:20px 0}.archive-head{padding-bottom:20px}.archive-head h1{font:800 37px Georgia,serif;color:var(--navy)}.pagination{margin:25px 0}.pagination .page-numbers{padding:9px 13px;background:white;border:1px solid var(--line);display:inline-block}.pagination .current{background:var(--navy);color:white}.wp-block-image img{height:auto}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto}.search-form{display:flex;gap:5px}.search-form input{width:100%;min-width:0;border:1px solid #bdc9ce;padding:10px}.search-form button,.button-link{background:var(--blue);color:#fff;padding:10px 14px;border:0;cursor:pointer;text-decoration:none;font-weight:700;font-size:13px}.comment-list{padding-left:20px}.comment-body{border-bottom:1px solid var(--line);padding:12px 0}.comment-form input,.comment-form textarea{max-width:100%;border:1px solid var(--line);padding:10px}.comment-form textarea{width:100%}@media(max-width:850px){.mast-cta{display:none}}@media(max-width:600px){.container{padding-left:17px;padding-right:17px}.post-grid{grid-template-columns:1fr}.menu-toggle{display:block}.nav-inner{display:block}.nav-inner ul{display:none;flex-direction:column}.nav-inner.is-open ul{display:flex}.nav-inner a{padding:11px 15px}.brand-name{font-size:24px}.feature{padding:22px}.topline .container{display:block}.topline .container span:last-child{display:none}.article{padding:23px}}

/* v1.1: Sidebar-free meeting recap layout and four-column utility footer. */
.browse-link{margin-top:24px}
.site-footer{background:var(--navy);color:#dce6eb;padding:43px 0 0}
.site-footer a{color:#fff;text-underline-offset:3px}
.site-footer a:hover{color:#f0ca80}
.footer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-bottom:36px}
.footer-column{min-width:0}
.footer-column h2{margin:0 0 13px;font:800 18px/1.25 Georgia,serif;color:white}
.footer-column p,.footer-column li{font-size:13px;line-height:1.6;color:#d1dfe6}
.footer-column p{margin:0 0 13px}
.footer-column ul{list-style:none;padding:0;margin:0}
.footer-column li{margin:0 0 10px;overflow-wrap:anywhere}
.site-footer .search-form{display:flex;align-items:stretch;gap:6px;flex-wrap:wrap}
.site-footer .search-form input{background:#fff;color:#1d2b36;border:1px solid #aec0c9;min-width:0;flex:1 1 140px}
.site-footer .search-form button{background:var(--gold);color:var(--navy)}
.older-archives{margin-top:5px}
.older-archives summary{cursor:pointer;color:#f0ca80;font-size:13px;font-weight:700;list-style-position:inside}
.older-archives[open] summary{margin-bottom:11px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid #4b6372;padding:17px 0 22px}
.footer-bottom p{font-size:12px;color:#bdcbd3;margin:0}
.footer-bottom .design-credit{white-space:nowrap}
@media(max-width:900px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{display:block}.footer-bottom .design-credit{margin-top:10px}}

/* v1.2: publication-specific masthead with original, independent logo */
.masthead-inner{padding-top:13px;padding-bottom:13px;justify-content:center}
.header-identity{width:100%;display:flex;justify-content:center;min-width:0}
.brand-graphic{display:block;width:min(100%,720px);line-height:0}
.brand-graphic img{display:block;width:100%;height:auto;object-fit:contain}
.header-identity .custom-logo-link{display:block;max-width:720px;line-height:0}
.header-identity .custom-logo{display:block;max-width:100%;width:auto;height:auto;max-height:125px}
@media(max-width:600px){.masthead-inner{padding-top:12px;padding-bottom:12px}.brand-graphic{width:100%}.header-identity .custom-logo{max-height:95px}}

/* v1.3: Footer search input fills the column; smaller action centered below. */
.site-footer .footer-column .search-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
}
.site-footer .footer-column .search-form label {
  display: block;
  width: 100%;
  min-width: 0;
}
.site-footer .footer-column .search-form input[type="search"] {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 46px;
  flex: none;
  box-sizing: border-box;
  border-radius: 3px;
}
.site-footer .footer-column .search-form button,
.site-footer .footer-column .search-form input[type="submit"] {
  display: block;
  width: 58%;
  max-width: 185px;
  min-width: 100px;
  flex: none;
  align-self: center;
  padding: 10px 16px;
  text-align: center;
  border-radius: 3px;
}

/* v1.4: Wordmark-first desktop/tablet header with a dedicated compact mobile brand. */
.masthead-inner { display:flex; flex-direction:column; align-items:center; justify-content:center; padding-top:18px; padding-bottom:18px; gap:0; }
.header-identity { width:100%; display:flex; justify-content:center; min-width:0; }
.brand-graphic, .header-identity .custom-logo-link { display:block; width:min(100%,1080px); max-width:1080px; line-height:0; margin:0 auto; }
.brand-graphic img, .header-identity .custom-logo { display:block; width:100%; max-width:100%; height:auto; max-height:none; object-fit:contain; }
.mobile-brand { display:none; }
@media (max-width:1024px) {
  .brand-graphic, .header-identity .custom-logo-link { width:min(100%,900px); }
  .masthead-inner { padding-top:15px; padding-bottom:15px; }
}
@media (max-width:700px) {
  .topline { font-size:10px; letter-spacing:.035em; }
  .topline .container { display:flex; justify-content:center; text-align:center; padding-top:7px; padding-bottom:7px; }
  .topline .container span:last-child { display:none; }
  .masthead-inner { align-items:stretch; padding-top:13px; padding-bottom:13px; }
  .header-identity { display:none; }
  .mobile-brand { display:flex; gap:12px; align-items:center; color:var(--navy); text-decoration:none; width:100%; min-width:0; }
  .mobile-brand:hover { color:var(--navy); }
  .mobile-brand img { width:64px; height:64px; max-width:64px; flex:0 0 64px; object-fit:contain; }
  .mobile-brand-copy { min-width:0; display:block; }
  .mobile-brand-copy strong { display:block; font:800 clamp(21px,5.3vw,30px)/1.08 Georgia,serif; letter-spacing:-.035em; }
  .mobile-brand-copy small { display:block; margin-top:5px; font-size:clamp(10px,2.7vw,12px); line-height:1.3; color:#375268; }
  .menu-toggle { min-height:42px; }
  .intro h1 { overflow-wrap:break-word; }
}
@media (max-width:380px) {
  .mobile-brand { gap:9px; }
  .mobile-brand img { width:54px; height:54px; flex-basis:54px; }
  .mobile-brand-copy strong { font-size:20px; }
  .mobile-brand-copy small { font-size:10px; }
}

/* v1.5: Accessible, predictable footer search and readable type. */
html { font-size: 112.5%; } /* 18px standard browser default */
body { font-size: 1rem; line-height: 1.75; }
.intro p { max-width: 840px; }
.article .entry-content { font-size: 1.08rem; line-height: 1.85; }
.post-card p { font-size: .94rem; }
.meta, .kicker, .eyebrow, .section-label small { font-size: .82rem; }
.nav-inner a { font-size: .89rem; }
.topline { font-size: .74rem; }
.footer-column h2 { font-size: 1.18rem; }
.footer-column p, .footer-column li, .older-archives summary { font-size: .9rem; }
.footer-bottom p { font-size: .8rem; }
.site-footer .footer-column .btm-footer-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  width: 100%;
  margin: 0;
  padding: 0;
}
.site-footer .footer-column .btm-footer-search input[type="search"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: none;
  height: auto;
  min-height: 52px;
  padding: 12px 14px;
  border: 1px solid #a2b7c5;
  border-radius: 6px;
  background: #fff;
  color: #11263b;
  font: inherit;
  font-size: 1rem;
  line-height: 1.35;
  box-shadow: none;
}
.site-footer .footer-column .btm-footer-search input[type="search"]::placeholder { color: #526678; opacity: 1; }
.site-footer .footer-column .btm-footer-search button[type="submit"] {
  display: block;
  justify-self: center;
  width: min(100%, 190px);
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid #e1b25e;
  border-radius: 6px;
  background: #c99a47;
  color: #11263b;
  font: inherit;
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.3;
  cursor: pointer;
  transition: background-color .18s ease;
}
.site-footer .footer-column .btm-footer-search button[type="submit"]:hover { background: #e2b55f; }
.site-footer .footer-column .btm-footer-search button[type="submit"]:focus-visible,
.site-footer .footer-column .btm-footer-search input[type="search"]:focus-visible { outline: 3px solid #87c7ff; outline-offset: 3px; }
@media(max-width:600px) {
  .site-footer .footer-column .btm-footer-search button[type="submit"] { width: min(70%, 220px); }
  .topline { font-size: .72rem; }
  .footer-grid { gap: 32px; }
}
/* Follow the device's OS appearance setting, without JavaScript or cookies. */
:root { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --navy: #11263b; /* preserve the publication's dark-navy identity */
    --blue: #80c8ef;
    --ink: #e9f0f6;
    --muted: #b8c8d2;
    --line: #3b5365;
    --paper: #0c1a28;
    --white: #192c3c;
  }
  body { background: var(--paper); color: var(--ink); }
  a { color: var(--blue); }
  a:hover { color: #b9e4ff; }
  .masthead { background: #fff; border-bottom-color: #dce3e7; } /* wordmark needs a light canvas */
  .navbar, .topline, .site-footer { background: #11263b; }
  .intro h1, .archive-head h1, .article h1, .section-label,
  .entry-content h2, .entry-content h3, .feature h2, .post-card h3 { color: #f2f6fa; }
  .feature, .post-card, .article { background: #192c3c; border-color: #3b5365; }
  .feature { border-top-color: #c99a47; }
  .feature p, .post-card p, .intro p, .meta { color: #b8c8d2; }
  .feature h2 a, .post-card h3 a { color: inherit; }
  .feature h2 a:hover, .post-card h3 a:hover { color: #80c8ef; }
  .section-label { border-bottom-color: #7595ad; }
  .section-label small { color: #b8c8d2; }
  .eyebrow, .kicker { color: #8ed1f4; }
  .image-fallback { background: linear-gradient(140deg,#294456,#385766); color: #e1f1f8; }
  .cover-empty { background: linear-gradient(135deg,#244156,#38677c); }
  .pagination .page-numbers { background: #22394a; color: #e9f0f6; border-color: #425c6c; }
  .pagination .current { background: #5e9bbc; color: #071827; }
  .comment-body, .comment-form input, .comment-form textarea { border-color: #3b5365; }
  .comment-form input, .comment-form textarea, .search-form input { background:#213849; color:#f2f6fa; }
  .site-footer .btm-footer-search input[type="search"] { background: #fff; color: #11263b; }
  .site-footer a { color: #fff; }
  .footer-bottom p, .footer-column p, .footer-column li { color: #d1dfe6; }
  .mobile-brand { color: #11263b; }
  .mobile-brand-copy small { color: #375268; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btm-footer-search button { transition: none !important; }
}

/* v1.7: Optional shortcode-driven ad placement above the footer. */
.btm-promo-band { padding: 30px 0; background: var(--paper); }
.btm-promo-inner { background: var(--white); border: 1px solid var(--line); border-radius: 10px; padding: clamp(18px, 3vw, 28px); box-shadow: 0 6px 24px rgba(17,38,59,.08); }
.btm-promo-label { color: var(--muted); font-size: .75rem; font-weight: 750; text-transform: uppercase; letter-spacing: .11em; margin: 0 0 14px; }
.btm-promo-content { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.btm-promo-content img { max-width:100%; height:auto; }
.btm-promo-content iframe { max-width:100%; }
.btm-promo-content p:last-child { margin-bottom:0; }
@media (max-width:600px) {
 .btm-promo-band { padding:18px 0; }
 .btm-promo-inner { padding:18px; }
}
/* The footer search should remain usable without theme/WordPress form defaults overriding it. */
.site-footer .btm-footer-search { width:100%; max-width:100%; }
.site-footer .btm-footer-search input[type=search] { width:100% !important; max-width:100% !important; min-width:0; }
.site-footer .btm-footer-search button[type=submit] { justify-self:center; width:min(66%,190px) !important; max-width:190px !important; }

/* v1.8: Administrator-only status when configured ad shortcode produces no visible output. */
.btm-ad-diagnostic { font-size: 1rem; line-height: 1.6; color: var(--ink); margin: 0; }

/* v2.0: Content-first homepage, cleaner masthead and responsive breathing room. */
.masthead-inner { padding-top: 12px; padding-bottom: 12px; }
.nav-inner a { padding-top: 11px; padding-bottom: 11px; }
.btm-home-main { padding-top: 54px; }
.btm-home-main .section-label { margin-bottom: 24px; padding-bottom: 13px; }
.btm-home-main .feature { margin-bottom: 54px; }
.btm-home-main .post-grid { margin-top: 0; }
.btm-home-main .browse-link { margin-top: 30px; }
@media(max-width:1024px) {
  .masthead-inner { padding-top: 12px; padding-bottom: 12px; }
  .btm-home-main { padding-top: 44px; }
}
@media(max-width:700px) {
  .masthead-inner { padding-top: 12px; padding-bottom: 12px; }
  .btm-home-main { padding-top: 30px; }
  .btm-home-main .section-label { margin-bottom: 18px; }
  .btm-home-main .feature { margin-bottom: 40px; }
}
@media(max-width:380px) {
  .btm-home-main { padding-top: 26px; }
}
