/* ════════════════════════════════════════════════════════════════
   finta4clermont.com — Custom Styles v2
   Tech/civic: deep navy, electric blue, all sans-serif
   ════════════════════════════════════════════════════════════════ */
:root {
  --navy:         #0D1B2A;
  --navy-mid:     #1A2E44;
  --blue:         #1565C0;
  --blue-mid:     #1976D2;
  --blue-light:   #2196F3;
  --blue-accent:  #42A5F5;
  --blue-pale:    #E3F2FD;
  --white:        #FFFFFF;
  --gray-50:      #F8FAFC;
  --gray-100:     #EFF3F7;
  --gray-200:     #DDE4ED;
  --gray-400:     #94A3B8;
  --gray-600:     #4B6277;
  --text:         #0D1B2A;
  --text-muted:   #4B6277;
  --border:       #CBD5E1;
  --font-ui:      'Inter', 'DM Sans', system-ui, -apple-system, sans-serif;
  --radius:       6px;
  --radius-lg:    10px;
  --shadow:       0 1px 8px rgba(13,27,42,.08);
  --shadow-lg:    0 4px 20px rgba(13,27,42,.12);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-ui);font-size:1rem;line-height:1.7;color:var(--text);background:var(--gray-50);display:flex;flex-direction:column;min-height:100vh}
h1,h2,h3,h4,h5,h6{font-family:var(--font-ui);font-weight:700;line-height:1.2;color:var(--navy);letter-spacing:-.02em}
a{color:var(--blue-mid);text-decoration:none;transition:color .15s}
a:hover{color:var(--blue-light)}
img{max-width:100%;height:auto}
.site-nav{background:var(--navy);padding:.8rem 0;position:sticky;top:0;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.3)}
.site-nav .navbar-brand{display:flex;flex-direction:column;line-height:1.2}
.brand-name{font-size:1.05rem;font-weight:700;color:var(--white);letter-spacing:-.01em}
.brand-sub{font-size:.68rem;color:var(--blue-accent);letter-spacing:.06em;text-transform:uppercase;font-weight:500}
.site-nav .nav-link{font-size:.82rem;font-weight:500;color:rgba(255,255,255,.72)!important;letter-spacing:.04em;padding:.4rem .9rem!important;border-radius:var(--radius);transition:color .15s,background .15s}
.site-nav .nav-link:hover{color:var(--white)!important;background:rgba(255,255,255,.09)}
.navbar-toggler{border-color:rgba(255,255,255,.3)}
.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C255%2C255%2C.8%29' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}
.site-hero{position:relative;height:320px;background-image:url('/assets/img/header.jpg');background-size:cover;background-position:center 55%;background-color:var(--navy);display:flex;align-items:flex-end}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,27,42,.7) 0%,rgba(21,101,192,.45) 60%,rgba(13,27,42,.8) 100%)}
.hero-overlay::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px}
.hero-content{position:relative;padding-bottom:2.5rem;z-index:1}
.hero-title{font-size:clamp(1.75rem,5vw,2.6rem);font-weight:800;color:var(--white);margin:0;letter-spacing:-.03em;text-shadow:0 2px 16px rgba(0,0,0,.4)}
.hero-sub{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-accent);margin:.5rem 0 0;font-weight:500}
@media(max-width:767px){.site-hero{height:210px}.hero-content{padding-bottom:1.5rem}}
.main-content{flex:1;padding:2rem 0 3.5rem}
.sidebar-widget{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}
.sidebar-widget h5{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-400);border-bottom:1px solid var(--gray-200);padding-bottom:.6rem;margin-bottom:.9rem}
.sidebar-widget ul{list-style:none;padding:0;margin:0}
.sidebar-widget ul li{padding:.3rem 0;border-bottom:1px solid var(--gray-100);font-size:.88rem;display:flex;justify-content:space-between;align-items:center}
.sidebar-widget ul li:last-child{border-bottom:none}
.sidebar-widget ul li a{color:var(--navy);font-weight:500}
.sidebar-widget ul li a:hover{color:var(--blue-mid)}
.sidebar-widget .badge-count{background:var(--blue-pale);color:var(--blue-mid);font-size:.68rem;font-weight:600;padding:.1rem .5rem;border-radius:20px}
.post-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem 1.75rem;margin-bottom:1.25rem;box-shadow:var(--shadow);transition:box-shadow .2s,transform .2s,border-color .2s}
.post-card:hover{box-shadow:var(--shadow-lg);border-color:var(--blue-accent);transform:translateY(-2px)}
.post-card-meta{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-mid);margin-bottom:.5rem;font-weight:600;display:flex;align-items:center;gap:.4rem}
.post-card-meta::before{content:'';display:inline-block;width:3px;height:14px;background:var(--blue-light);border-radius:2px}
.post-card-title{font-size:1.2rem;font-weight:700;margin:0 0 .6rem;letter-spacing:-.02em}
.post-card-title a{color:var(--navy)}
.post-card-title a:hover{color:var(--blue-mid)}
.post-card-excerpt{color:var(--text-muted);font-size:.93rem;margin:0 0 1rem;line-height:1.65}
.btn-read-more{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue-mid);background:var(--blue-pale);padding:.35rem .9rem;border-radius:var(--radius);display:inline-flex;align-items:center;gap:.3rem;transition:all .15s;border:1px solid transparent}
.btn-read-more:hover{background:var(--blue-mid);color:var(--white)}
.post-full{background:var(--white);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2.25rem;box-shadow:var(--shadow)}
.post-full h1{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:1rem}
.post-body{font-size:1rem;line-height:1.7;color:#1e293b}
.post-body p{margin-bottom:.65em}
.post-body h2{font-size:1.4rem;margin-top:0;margin-bottom:.3em}.post-body h3{font-size:1.1rem;margin-top:.3em;margin-bottom:.25em}
.post-body ul,.post-body ol{margin-bottom:.4em}.post-body li{line-height:1.45;margin-bottom:.15em}.post-body li p{margin-bottom:0}.post-body blockquote{border-left:3px solid var(--blue-light);padding-left:1.1rem;color:var(--text-muted);margin:.85em 0}.post-body img{border-radius:var(--radius-lg);max-width:100%;height:auto;margin-bottom:.85em}
.back-link{font-size:.75rem;font-weight:700;color:var(--text-muted);display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.05em}
.back-link:hover{color:var(--blue-mid)}
.pagination-wrap{margin-top:2rem;display:flex;justify-content:center}
.pagination .page-link{font-size:.82rem;font-weight:600;color:var(--blue-mid);border-color:var(--border);background:var(--white);padding:.42rem .85rem}
.pagination .page-item.active .page-link{background:var(--blue);border-color:var(--blue);color:var(--white)}
.pagination .page-link:hover{background:var(--blue-pale);color:var(--blue);border-color:var(--blue-accent)}
.page-header-bar{background:var(--navy);padding:1.75rem 0 1.5rem;border-bottom:2px solid var(--blue)}
.page-header-bar h1{color:var(--white);font-size:1.7rem;margin:0 0 .2rem}
.page-header-bar p{color:var(--blue-accent);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;margin:0}
.archive-section{margin-bottom:2rem}
.archive-section-heading{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-mid);border-bottom:2px solid var(--blue-pale);padding-bottom:.5rem;margin-bottom:.9rem}
.archive-post-row{display:flex;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--gray-100);align-items:baseline;font-size:.92rem}
.archive-post-date{font-size:.72rem;color:var(--gray-400);white-space:nowrap;min-width:52px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.archive-post-title a{color:var(--navy);font-weight:500}
.archive-post-title a:hover{color:var(--blue-mid)}
.section-home{padding:2.5rem 0;border-top:1px solid var(--gray-200)}
.section-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-mid);margin-bottom:.3rem}
.section-heading{font-size:1.5rem;margin-bottom:.75rem}
.blue-bar{width:36px;height:3px;background:var(--blue-light);border-radius:2px;margin-bottom:1rem}
.contact-method{display:flex;align-items:center;gap:.6rem;font-size:.92rem;margin-bottom:.55rem}
.contact-method i{color:var(--blue-mid);font-size:1rem}
.admin-bar{background:var(--blue);color:var(--white);font-size:.75rem;font-weight:600;padding:.38rem 0;text-align:center;letter-spacing:.03em}
.admin-bar a{color:rgba(255,255,255,.85);font-weight:700;margin:0 .75rem;text-decoration:underline}
.admin-bar a:hover{color:var(--white)}
.site-footer{background:var(--navy);color:rgba(255,255,255,.6);padding:2rem 0;font-size:.84rem;border-top:2px solid var(--blue)}
.footer-name{font-size:1rem;font-weight:700;color:var(--white);margin:0 0 .2rem;letter-spacing:-.01em}
.footer-tagline{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-accent);margin:0;font-weight:500}
.footer-links{display:flex;flex-wrap:wrap;gap:.2rem 1.1rem;justify-content:flex-end}
@media(max-width:767px){.footer-links{justify-content:flex-start;margin-top:.5rem}}
.footer-links a{color:rgba(255,255,255,.55);font-size:.8rem;font-weight:500}
.footer-links a:hover{color:var(--blue-accent)}
.footer-copy{font-size:.72rem;color:rgba(255,255,255,.3);margin:.35rem 0 0}
@media(max-width:767px){.post-full{padding:1.25rem}.post-card{padding:1.1rem 1.25rem}}

/* ── Mobile Sidebar Accordion ───────────────────────────────── */
.sidebar-accordion-wrap {
  width: 100%;
}
.sidebar-acc-item {
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  margin-bottom: 6px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.sidebar-acc-item + .sidebar-acc-item {
  margin-top: 0;
}
.sidebar-acc-btn {
  font-family: var(--font-ui);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gray-400) !important;
  background: var(--white) !important;
  padding: .75rem 1rem;
  border-radius: var(--radius-lg) !important;
  box-shadow: none !important;
}
.sidebar-acc-btn:not(.collapsed) {
  color: var(--blue-mid) !important;
  background: var(--blue-pale) !important;
}
.sidebar-acc-btn::after {
  filter: none;
  opacity: .5;
}
.sidebar-acc-btn:not(.collapsed)::after {
  opacity: 1;
}
.sidebar-acc-body {
  padding: .5rem .75rem .75rem;
  background: var(--white);
}
.sidebar-acc-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar-acc-list li {
  padding: .3rem 0;
  border-bottom: 1px solid var(--gray-100);
  font-size: .88rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
}
.sidebar-acc-list li:last-child { border-bottom: none; }
.sidebar-acc-list li a { color: var(--navy); }
.sidebar-acc-list li a:hover { color: var(--blue-mid); }

/* ── Post Attachments (download bar) ────────────────────────── */
.post-attachments {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--gray-200);
}
.attachments-heading {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gray-400);
  margin-bottom: .9rem;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.attachments-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.attachment-item {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--gray-50);
  border: 1px solid var(--gray-200);
  border-radius: var(--radius-lg);
  padding: .75rem 1rem;
  text-decoration: none;
  transition: background .15s, border-color .15s, box-shadow .15s;
}
.attachment-item:hover {
  background: var(--blue-pale);
  border-color: var(--blue-accent);
  box-shadow: 0 2px 8px rgba(21,101,192,.1);
}
.attachment-icon {
  font-size: 1.4rem;
  color: var(--blue-mid);
  flex-shrink: 0;
}
.attachment-info {
  flex: 1;
  min-width: 0;
}
.attachment-name {
  display: block;
  font-size: .9rem;
  font-weight: 600;
  color: var(--navy);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.attachment-item:hover .attachment-name { color: var(--blue); }
.attachment-meta {
  display: block;
  font-size: .72rem;
  color: var(--gray-400);
  margin-top: 1px;
  text-transform: uppercase;
  letter-spacing: .05em;
  font-weight: 600;
}
.attachment-dl {
  font-size: 1rem;
  color: var(--gray-400);
  flex-shrink: 0;
  transition: color .15s;
}
.attachment-item:hover .attachment-dl { color: var(--blue-mid); }

@media (max-width: 767px) {
  .attachment-item { padding: .65rem .85rem; }
  .attachment-icon { font-size: 1.2rem; }
}
