/*
Theme Name: Fonda Family History
Theme URI: https://fonda.org/
Author: Fonda Family History
Description: Custom theme for The Fonda Blog, visually synchronized with Fonda.org while preserving WordPress publishing, archives, search, and media.
Version: 1.3.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: fonda-history
*/

:root{
  --paper:#f3eee4;
  --paper2:#fbf8f1;
  --ink:#20262b;
  --muted:#626c74;
  --navy:#173653;
  --navy2:#0f2942;
  --navy3:#244d71;
  --rust:#98533b;
  --gold:#d9c4a0;
  --rule:#d7cdbd;
  --shadow:0 12px 28px rgba(20,38,54,.10);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper2);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}
a{color:var(--navy3);text-decoration-thickness:1px;text-underline-offset:3px}
img{max-width:100%;height:auto}
.container{width:min(calc(100% - 34px),var(--max));margin-inline:auto}
.narrow{max-width:820px}

/* Shared Fonda.org chrome */
.notice{background:#f4e8cd;border-bottom:1px solid #dfcea8;font-size:.78rem;padding:6px 0;color:#65502d}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,241,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule)}
.header-row{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy2);text-decoration:none}
.brand-mark{width:36px;height:36px;display:block;object-fit:contain;flex:0 0 auto}
.brand strong{font-family:Georgia,serif;font-size:1.16rem;color:var(--navy2)}
.brand small{display:block;color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}
#site-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
#site-nav a{display:block;color:var(--navy3);padding:0;text-decoration:none;font-size:.9rem;font-weight:700}
#site-nav a:hover,#site-nav a:focus{color:var(--navy2);text-decoration:none}
.menu-toggle{display:none;border:1px solid var(--rule);background:transparent;padding:8px 10px;border-radius:6px;color:var(--navy2)}

/* Blog and page heroes */
.blog-hero{background:linear-gradient(120deg,var(--navy2),var(--navy));color:#fff;padding:58px 0 52px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:800;color:var(--rust)}
.blog-hero .eyebrow{color:var(--gold)}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.1;margin-top:0}
h1{font-size:clamp(2.55rem,5.3vw,4.9rem);max-width:900px;margin-bottom:16px}
h2{font-size:clamp(1.85rem,3vw,2.7rem)}
h3{font-size:1.34rem}
.lede{font-size:1.12rem;max-width:790px;color:inherit;opacity:.9}
.page-hero{background:var(--paper);border-bottom:1px solid var(--rule);padding:40px 0 34px}
.page-hero .eyebrow{color:var(--rust)}
.page-hero h1{color:var(--navy2);font-size:clamp(2.45rem,4.5vw,4.2rem);margin-bottom:8px}
.page-hero .lede{color:var(--muted);margin-bottom:0}
.breadcrumbs{font-size:.78rem;color:var(--muted);margin-bottom:13px}
.breadcrumbs a{color:inherit}

/* Blog layout */
section{padding:48px 0}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:42px;align-items:start}
.aside{position:sticky;top:84px}
.info-box,.widget,.widget_block{background:var(--paper);border:1px solid var(--rule);padding:16px;border-radius:7px;margin-bottom:12px;color:var(--ink)}
.info-box h3,.widget-title,.widget h2,.widget h3,.widget .wp-block-heading{font-size:1.05rem;margin-bottom:8px;color:var(--navy2)}
.info-box p,.widget p,.widget li{font-size:.88rem;line-height:1.45}
.widget ul{padding-left:1.15rem}
.widget input,.widget select,.widget button{max-width:100%}

/* Post directory cards. Featured Image wins; otherwise first embedded image is used. */
.post-list{display:grid;gap:14px}
.post-card{background:#fff;border:1px solid var(--rule);border-radius:7px;overflow:hidden;box-shadow:0 5px 18px rgba(41,44,41,.035)}
.post-card-copy{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.post-meta{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:700}
.post-card h2{font-size:1.5rem;margin:5px 0 8px}
.post-card h2 a{text-decoration:none;color:var(--navy2)}
.post-excerpt{color:var(--muted);font-size:.93rem}
.post-excerpt p{margin:.4rem 0 .75rem}
.read-more{font-weight:800;text-decoration:none;font-size:.88rem;color:var(--navy3)}
.post-card.post-card--text-only{display:grid;grid-template-columns:minmax(0,1fr);text-align:center}
.post-card.post-card--text-only .post-card-copy{width:100%;padding:14px 24px}
.post-card.post-card--text-only .post-meta{margin-bottom:3px}
.post-card.post-card--text-only h2{margin:3px 0 6px}
.post-card.post-card--text-only .post-excerpt{width:100%;max-width:none;margin-inline:auto}
.post-card.post-card--text-only .post-excerpt p{margin:.25rem 0 .55rem}
.post-card.post-card--text-only .read-more{display:inline-block}
.post-card.post-card--with-top-image{display:grid;grid-template-columns:minmax(150px,32%) minmax(0,1fr);text-align:left;align-items:stretch}
.post-card.post-card--with-top-image .post-card-thumb{display:flex;align-items:center;justify-content:center;min-width:0;padding:12px;background:var(--paper);border-right:1px solid var(--rule);text-decoration:none}
.post-card.post-card--with-top-image .post-card-thumb img{display:block;width:auto;height:auto;max-width:100%;max-height:210px;object-fit:contain}
.post-card.post-card--with-top-image .post-card-copy{display:block;min-width:0;width:100%;padding:14px 20px 15px;color:var(--ink);overflow:visible;visibility:visible;opacity:1}
.post-card.post-card--with-top-image .post-meta{margin-bottom:3px}
.post-card.post-card--with-top-image h2{margin:3px 0 6px}
.post-card.post-card--with-top-image .post-excerpt{display:block;width:100%;max-width:none;color:var(--muted);visibility:visible;opacity:1}
.post-card.post-card--with-top-image .post-excerpt p{margin:.25rem 0 .5rem}
.post-card.post-card--with-top-image .read-more{display:inline-block}

/* Individual posts */
.article-body{font-family:Georgia,"Times New Roman",serif;font-size:1.035rem;line-height:1.58}
.article-body p{margin:0 0 1.05em}
.article-body h2{margin-top:1.55em;margin-bottom:.55em}
.article-body h3{margin-top:1.3em;margin-bottom:.45em}
.wp-article figure,.wp-article .wp-caption{max-width:100%}
.wp-article img{height:auto}
.wp-article iframe,.wp-article video{max-width:100%}
.wp-article figcaption,.wp-article .wp-caption-text{text-align:center;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:.78rem;line-height:1.45;color:var(--muted);margin-top:6px}
.featured-image{margin:0 0 24px;text-align:center}
.featured-image img{display:block;margin-inline:auto;border:1px solid var(--rule);border-radius:6px}
.post-byline{font-family:Inter,system-ui,sans-serif;font-size:.9rem}
.post-taxonomy{font-family:Inter,system-ui,sans-serif;border-top:1px solid var(--rule);margin-top:28px;padding-top:14px;font-size:.83rem}
.post-taxonomy p{margin:.35rem 0}
.post-navigation{font-family:Inter,system-ui,sans-serif;border-top:1px solid var(--rule);margin-top:20px;padding-top:18px}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:18px}
.post-navigation a{font-weight:700}

/* Sidebar/search/archive utilities */
.compact-taxonomy{padding-left:1.15rem;margin:.4rem 0}
.compact-taxonomy li{margin:.25rem 0;font-size:.84rem}
.compact-taxonomy .count{color:var(--muted)}
.small-link{font-size:.8rem;margin-bottom:0}
.blog-search-form{display:grid;grid-template-columns:1fr auto;gap:6px}
.blog-search-form input{width:100%;border:1px solid var(--rule);background:#fff;padding:9px 10px;border-radius:5px;font:inherit}
.blog-search-form button{border:0;border-radius:5px;background:var(--navy);color:#fff;padding:0 13px;font-weight:800}
.nav-links{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin:24px 0}
.page-numbers{border:1px solid var(--rule);background:#fff;padding:6px 10px;border-radius:5px;text-decoration:none}
.page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn{display:inline-block;padding:10px 15px;border-radius:5px;text-decoration:none;font-weight:800}
.btn-primary{background:#ead8b8;color:var(--navy2)}
.comments-area{font-family:Inter,system-ui,sans-serif;margin-top:30px;border-top:1px solid var(--rule);padding-top:20px}
.gallery{display:flex;flex-wrap:wrap;gap:10px}
.gallery-item{margin:0}
.ngg-galleryoverview,.ngg-albumoverview{max-width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Shared footer */
.site-footer{background:#0d263d;color:#e8edf2;padding:34px 0;margin-top:34px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:34px}
.site-footer a{color:#e8edf2}
.site-footer p{opacity:.78;font-size:.9rem}
.site-footer h3{margin-bottom:8px}
.fineprint{border-top:1px solid rgba(255,255,255,.15);margin-top:20px;padding-top:14px;font-size:.75rem;opacity:.68}

@media(max-width:980px){
  #site-nav{display:none}
  .menu-toggle{display:block}
  #site-nav.open{display:flex;position:absolute;top:60px;left:0;right:0;background:var(--paper2);padding:16px 17px;border-bottom:1px solid var(--rule);box-shadow:0 8px 18px rgba(20,38,54,.08);flex-direction:column;align-items:flex-start;gap:12px}
  #site-nav.open a{padding:5px 0}
  .header-row{min-height:60px}
  .article-grid{grid-template-columns:minmax(0,1fr) 250px;gap:28px}
}
@media(max-width:720px){
  body{line-height:1.58}
  .article-grid{grid-template-columns:1fr}
  .aside{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .info-box{margin-bottom:0}
  section{padding:42px 0}
  .page-hero{padding:32px 0 28px}
  .article-body{font-size:1.04rem}
  .post-card.post-card--with-top-image{grid-template-columns:minmax(130px,34%) minmax(0,1fr)}
  .post-card.post-card--with-top-image .post-card-thumb{padding:9px}
  .post-card.post-card--with-top-image .post-card-thumb img{max-height:180px}
  .post-card.post-card--with-top-image .post-card-copy{padding:13px 15px 14px}
  .footer-grid{grid-template-columns:1fr;gap:16px}
}
@media(max-width:520px){
  .container{width:min(calc(100% - 24px),var(--max))}
  .brand strong{font-size:1.03rem}.brand small{font-size:.61rem}.brand-mark{width:34px;height:34px}
  .blog-hero{padding:36px 0 34px}.blog-hero h1{font-size:clamp(2.35rem,12vw,3.45rem)}.lede{font-size:1.04rem}
  section{padding:38px 0}
  .page-hero{padding:26px 0 23px}.page-hero h1{font-size:clamp(2.3rem,11vw,3.4rem)}
  .article-grid{gap:24px}.article-body{font-size:1rem;line-height:1.64}
  .aside{grid-template-columns:1fr}.info-box{padding:15px}
  .post-card.post-card--text-only .post-card-copy{padding:13px 16px}
  .post-card.post-card--with-top-image{grid-template-columns:1fr;text-align:center}
  .post-card.post-card--with-top-image .post-card-thumb{border-right:0;border-bottom:1px solid var(--rule);padding:10px 14px}
  .post-card.post-card--with-top-image .post-card-thumb img{max-height:220px;max-width:100%}
  .post-card.post-card--with-top-image .post-card-copy{padding:12px 16px 13px}
  .post-navigation .nav-links{display:grid;grid-template-columns:1fr}
  .site-footer{padding:28px 0;margin-top:28px}
  .blog-search-form input,.blog-search-form button{min-height:44px}
}
