/*
Theme Name: ASMOM GeneratePress Child
Theme URI: https://www.asinglemother.org/
Description: A trust-first GeneratePress child theme for A Single Mother / ASMOM. Built for state-by-state assistance guides, Bing/AI traffic, readable resource pages, soft family-centered design, and no affiliate/referral framing.
Author: ASMOM
Template: generatepress
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: asmom-gp-child
*/

:root{
  --asmom-ink:#263041;
  --asmom-muted:#657083;
  --asmom-soft:#fff7f1;
  --asmom-paper:#fffaf6;
  --asmom-white:#ffffff;
  --asmom-plum:#51415f;
  --asmom-denim:#496c8f;
  --asmom-sky:#6f9fc4;
  --asmom-sage:#789f8b;
  --asmom-mint:#dff0ea;
  --asmom-blush:#f7d8cf;
  --asmom-rose:#d96b69;
  --asmom-clay:#c57a5c;
  --asmom-honey:#d7a455;
  --asmom-lavender:#8b7ab8;
  --asmom-blue:var(--asmom-denim);
  --asmom-teal:var(--asmom-sage);
  --asmom-green:#6f996d;
  --asmom-gold:var(--asmom-honey);
  --asmom-coral:var(--asmom-rose);
  --asmom-red:#b64d55;
  --asmom-purple:var(--asmom-lavender);
  --asmom-border:#eaded5;
  --asmom-shadow:0 16px 38px rgba(81,65,95,.12);
  --asmom-radius:22px;
  --asmom-hero-image:url('https://www.asinglemother.org/wp-content/uploads/asmomhero.webp');
}

body{
  color:var(--asmom-ink);
  background:#fff8f2;
  font-size:18px;
  line-height:1.7;
}

body .site-content,
body .inside-article{
  background:transparent;
}

body .entry-content a,
.asmom-page a{
  color:#416f96;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}

body .entry-content a:hover,
.asmom-page a:hover{
  color:#2f5878;
}

.asmom-page{
  font-family:inherit;
  color:var(--asmom-ink);
}

.asmom-wrap{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
}

.asmom-narrow{
  width:min(900px, calc(100% - 32px));
  margin:0 auto;
}

.asmom-hero{
  margin:18px auto 28px;
  padding:38px clamp(20px,4vw,54px);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(247,216,207,.75), transparent 36%),
    linear-gradient(135deg,#fffaf6 0%,#f2f7f3 55%,#fff1ea 100%);
  border:1px solid var(--asmom-border);
  box-shadow:var(--asmom-shadow);
}

.asmom-hero h1,
.asmom-page h1{
  margin:0 0 16px;
  color:#2b3344;
  font-size:clamp(2.1rem,5vw,4.3rem);
  line-height:1.06;
  letter-spacing:-.035em;
  font-weight:800;
}

.asmom-hero .asmom-subtitle{
  max-width:840px;
  font-size:clamp(1.08rem,2vw,1.35rem);
  color:#3f4a5f;
  margin:0 0 18px;
}

.asmom-kicker{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.42rem .75rem;
  margin-bottom:14px;
  border-radius:999px;
  background:#fff0ea;
  border:1px solid #f0cfc5;
  color:#9d5144;
  font-weight:800;
  font-size:.88rem;
  letter-spacing:.03em;
  text-transform:uppercase;
}

.asmom-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.asmom-button,
.asmom-page .asmom-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.45rem;
  padding:13px 18px;
  border-radius:999px;
  background:var(--asmom-rose);
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;
  border:2px solid transparent;
  box-shadow:0 10px 20px rgba(217,107,105,.18);
}

.asmom-button:hover{
  background:#b85251;
  color:#fff!important;
}

.asmom-button.secondary{
  background:#fff;
  color:#496c8f!important;
  border-color:#d8e7ef;
  box-shadow:none;
}

.asmom-button.warning{
  background:var(--asmom-coral);
}

.asmom-grid{
  display:grid;
  gap:18px;
}

.asmom-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));}
.asmom-grid.three{grid-template-columns:repeat(3,minmax(0,1fr));}
.asmom-grid.four{grid-template-columns:repeat(4,minmax(0,1fr));}

.asmom-card,
.asmom-panel,
.asmom-note,
.asmom-warning,
.asmom-safe-box{
  background:var(--asmom-white);
  border:1px solid var(--asmom-border);
  border-radius:var(--asmom-radius);
  padding:22px;
  box-shadow:0 8px 22px rgba(23,32,51,.055);
}

.asmom-card h2,
.asmom-panel h2,
.asmom-page h2{
  margin:0 0 12px;
  color:#38415a;
  font-size:clamp(1.55rem,3vw,2.3rem);
  line-height:1.17;
  letter-spacing:-.02em;
}

.asmom-card h3,
.asmom-panel h3,
.asmom-page h3{
  margin:0 0 9px;
  color:#394158;
  font-size:clamp(1.18rem,2.2vw,1.55rem);
  line-height:1.25;
}

.asmom-card p:last-child,
.asmom-panel p:last-child,
.asmom-note p:last-child,
.asmom-warning p:last-child{margin-bottom:0;}

.asmom-card.teal{border-top:7px solid var(--asmom-teal);}
.asmom-card.blue{border-top:7px solid var(--asmom-blue);}
.asmom-card.green{border-top:7px solid var(--asmom-green);}
.asmom-card.gold{border-top:7px solid var(--asmom-gold);}
.asmom-card.coral{border-top:7px solid var(--asmom-coral);}
.asmom-card.purple{border-top:7px solid var(--asmom-purple);}

.asmom-panel{
  margin:26px 0;
  padding:clamp(22px,4vw,34px);
}

.asmom-panel.soft{
  background:linear-gradient(135deg,#fffaf6,#f2f8f4);
}

.asmom-warning{
  background:#fff1ec;
  border-color:#f1c9bd;
  border-left:8px solid var(--asmom-coral);
}

.asmom-note{
  background:#f2fbf6;
  border-color:#d3eadf;
  border-left:8px solid var(--asmom-teal);
}

.asmom-safe-box{
  background:#fff7f5;
  border-color:#efbeb6;
  border-left:8px solid var(--asmom-red);
}

.asmom-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:16px 0 0;
}

.asmom-pill,
.asmom-pill-row a{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:8px 12px;
  background:#f8f1f7;
  color:#426b8d!important;
  text-decoration:none!important;
  font-weight:800;
  font-size:.94rem;
  border:1px solid #d8e5ee;
}

.asmom-table-wrap{
  overflow-x:auto;
  margin:18px 0;
  border-radius:16px;
  border:1px solid var(--asmom-border);
  background:#fff;
}

.asmom-page table,
.asmom-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
  margin:0;
}

.asmom-page th,
.asmom-page td,
.asmom-table th,
.asmom-table td{
  padding:14px 16px;
  border-bottom:1px solid #eee5db;
  vertical-align:top;
  text-align:left;
}

.asmom-page th,
.asmom-table th{
  background:#f8f1f7;
  color:#3c3651;
  font-weight:800;
}

.asmom-page tr:last-child td,
.asmom-table tr:last-child td{border-bottom:0;}

.asmom-state-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:18px;
}

.asmom-state-grid a{
  display:block;
  padding:12px 13px;
  border-radius:14px;
  background:#fff;
  border:1px solid #e2d8cd;
  text-decoration:none!important;
  font-weight:800;
  color:#496c8f!important;
}

.asmom-state-grid a:hover{
  background:#f3faf5;
  border-color:#b9d8c5;
}

.asmom-topic-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:16px 0;
}

.asmom-topic-list a{
  display:block;
  padding:13px 15px;
  background:#fff;
  border:1px solid var(--asmom-border);
  border-radius:14px;
  font-weight:800;
  text-decoration:none!important;
}

.asmom-byline{
  color:var(--asmom-muted);
  font-size:.98rem;
  margin:0 0 18px;
}

.asmom-toc{
  background:#fff;
  border:1px solid var(--asmom-border);
  border-radius:var(--asmom-radius);
  padding:20px 24px;
  margin:24px 0;
}

.asmom-toc strong{
  display:block;
  margin-bottom:8px;
  font-size:1.1rem;
}

.asmom-toc ol{
  margin:0;
  padding-left:22px;
}

.asmom-trust-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:22px;
}

.asmom-trust-strip div{
  padding:14px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(225,214,202,.9);
  font-weight:800;
}


.asmom-footer-cta{
  margin:34px 0 0;
  padding:28px;
  border-radius:26px;
  background:linear-gradient(135deg,#51415f,#789f8b);
  color:#fff;
}

.asmom-footer-cta h2,
.asmom-footer-cta h3,
.asmom-footer-cta p{color:#fff;}
.asmom-footer-cta a{color:#fff!important;}

.asmom-checklist li,
.asmom-page li{margin-bottom:.55rem;}

.asmom-small{font-size:.95rem;color:var(--asmom-muted);}



/* Custom ASMOM header and footer */
.asmom-site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,250,246,.94);
  backdrop-filter:saturate(150%) blur(12px);
  border-bottom:1px solid rgba(234,222,213,.9);
  box-shadow:0 8px 24px rgba(81,65,95,.06);
}

.admin-bar .asmom-site-header{top:32px;}

.asmom-header-inner{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.asmom-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  text-decoration:none!important;
  color:var(--asmom-ink)!important;
}

.asmom-brand-mark{
  width:46px;
  height:46px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--asmom-rose),var(--asmom-honey));
  color:#fff;
  font-weight:900;
  font-size:1.45rem;
  box-shadow:0 10px 24px rgba(217,107,105,.2);
}

.asmom-brand-copy{display:flex;flex-direction:column;line-height:1.1;}
.asmom-brand-copy strong{font-size:1.15rem;letter-spacing:-.02em;}
.asmom-brand-copy small{color:var(--asmom-muted);font-weight:800;font-size:.78rem;margin-top:4px;}

.asmom-menu{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}

.asmom-menu a{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:8px 12px;
  border-radius:999px;
  color:#35445a!important;
  text-decoration:none!important;
  font-weight:850;
  font-size:.96rem;
}

.asmom-menu a:hover,
.asmom-menu .current-menu-item > a{
  background:#fff0ea;
  color:#9d5144!important;
}

.asmom-front-page .asmom-hero{
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background-image:
    linear-gradient(90deg, rgba(255,250,246,.98) 0%, rgba(255,250,246,.95) 34%, rgba(255,250,246,.72) 54%, rgba(255,250,246,.20) 78%),
    var(--asmom-hero-image);
  background-size:cover;
  background-position:center center;
  border:0;
  overflow:hidden;
}

.asmom-front-page .asmom-hero h1,
.asmom-front-page .asmom-hero .asmom-subtitle,
.asmom-front-page .asmom-hero .asmom-actions,
.asmom-front-page .asmom-hero .asmom-trust-strip{
  max-width:650px;
}

.asmom-front-page .asmom-trust-strip{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.asmom-site-footer{
  margin-top:48px;
  background:linear-gradient(135deg,#43374f,#526b70 58%,#789f8b);
  color:#fff;
}

.asmom-footer-inner{
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:42px 0 30px;
  display:grid;
  grid-template-columns:1.5fr .85fr .85fr 1fr;
  gap:28px;
}

.asmom-footer-logo{
  font-size:1.6rem;
  font-weight:900;
  letter-spacing:-.03em;
  margin-bottom:10px;
}

.asmom-site-footer h2{
  color:#fff;
  font-size:1.1rem;
  margin:0 0 12px;
}

.asmom-site-footer p,
.asmom-site-footer li{
  color:rgba(255,255,255,.88);
  font-size:.97rem;
}

.asmom-footer-small{font-size:.9rem!important;color:rgba(255,255,255,.76)!important;}
.asmom-site-footer ul{margin:0;padding:0;list-style:none;}
.asmom-site-footer li{margin:0 0 8px;}
.asmom-site-footer a{color:#fff!important;text-decoration-thickness:2px;text-underline-offset:3px;}

.asmom-footer-bottom{
  border-top:1px solid rgba(255,255,255,.18);
  padding:16px;
  text-align:center;
}

.asmom-footer-bottom p{margin:0;color:rgba(255,255,255,.82);font-size:.92rem;}

@media (max-width:900px){
  .asmom-grid.two,
  .asmom-grid.three,
  .asmom-grid.four,
  .asmom-trust-strip{grid-template-columns:1fr 1fr;}
  .asmom-header-inner{align-items:flex-start;flex-direction:column;padding:14px 0;}
  .asmom-main-nav{width:100%;}
  .asmom-menu{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;}
  .asmom-footer-inner{grid-template-columns:1fr 1fr;}
  .admin-bar .asmom-site-header{top:46px;}
  .asmom-state-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:640px){
  body{font-size:17px;}
  .asmom-grid.two,
  .asmom-grid.three,
  .asmom-grid.four,
  .asmom-topic-list,
  .asmom-trust-strip{grid-template-columns:1fr;}
  .asmom-state-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .asmom-hero{padding:26px 18px;border-radius:22px;}
  .asmom-front-page .asmom-hero{min-height:580px;background-image:linear-gradient(180deg, rgba(255,250,246,.98) 0%, rgba(255,250,246,.9) 48%, rgba(255,250,246,.55) 100%), var(--asmom-hero-image);background-position:center top;}
  .asmom-front-page .asmom-trust-strip{grid-template-columns:1fr;}
  .asmom-footer-inner{grid-template-columns:1fr;}
  .asmom-brand-copy small{font-size:.74rem;}
  .asmom-card,.asmom-panel,.asmom-note,.asmom-warning,.asmom-safe-box{padding:18px;}
  .asmom-actions .asmom-button{width:100%;}
}
