/*
Theme Name: BNGH Child
Theme URI: https://babynamegeneratorhub.com
Description: Child theme of GeneratePress for BabyNameGeneratorHub.com. Visual presentation layer; all application logic lives in the bngh-core plugin.
Author: Baby Name Generator Hub
Template: generatepress
Version: 0.1.0
License: GNU General Public License v2 or later
Text Domain: bngh
*/

/* Design tokens from approved prototype v9 */
:root{
	--ink:#17233d;
	--muted:#63708a;
	--line:#e4e8f1;
	--accent:#6659d9;
	--accent2:#8b80ee;
	--soft:#f7f7fc;
	--lav:#f1efff;
	--white:#fff;
	--green:#2f7d62;
	--shadow:0 18px 50px rgba(33,42,72,.10);
	--radius:20px;
}

@font-face{
	font-family:'Inter var';
	font-style:normal;
	font-weight:100 900;
	font-display:swap;
	src:url('assets/fonts/inter-var.woff2') format('woff2');
}

html{scroll-behavior:smooth}
body{font-family:'Inter var',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.5;font-size:16px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4{letter-spacing:-.03em;line-height:1.15;color:var(--ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}

/* Header */
.top{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{height:70px;display:flex;align-items:center;gap:28px}
.logo{font-weight:800;letter-spacing:-.04em;font-size:21px;white-space:nowrap}
.logo span{color:var(--accent)}
.links{display:flex;align-items:center;gap:22px;margin-left:auto;font-size:14px;color:#3d4961}
.links a:hover,.links a[aria-current="page"]{color:var(--accent)}
.navbtn{border:0;background:var(--accent);color:#fff;padding:11px 17px;border-radius:12px;font-weight:700;cursor:pointer;min-height:44px}
.navbtn:hover{background:#584cc6}
.menu{display:none;border:1px solid var(--line);background:#fff;border-radius:10px;width:42px;height:42px;cursor:pointer;font-size:18px;line-height:1}
.mobilepanel{display:none}
.mobilepanel.open{display:block;position:absolute;top:70px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:14px 20px;box-shadow:var(--shadow)}
.mobilepanel a{display:block;padding:11px 0;border-bottom:1px solid #f0f1f5}
.mobilepanel a:last-child{border-bottom:0}

/* Hero */
.hero{background:linear-gradient(180deg,#f7f6ff 0,#fbfbfe 75%,#fff 100%);padding:52px 0 42px;text-align:center}
.trust{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid #ddd9ff;color:#5046b5;border-radius:999px;padding:7px 12px;font-size:13px;font-weight:700}
.trust:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e7e4ff}
.hero h1{font-size:clamp(38px,5vw,64px);line-height:1.02;letter-spacing:-.055em;margin:20px auto 14px;max-width:850px}
.hero .herosub{max-width:680px;margin:0 auto;color:var(--muted);font-size:18px}

/* Generator card (plugin markup, theme styling) */
.bngh-gen-card{width:min(820px,100%);margin:30px auto 0;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:22px;text-align:left}
.bngh-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:#f4f5f9;border-radius:13px;padding:5px;margin-bottom:20px}
.bngh-tab{border:0;background:transparent;border-radius:10px;padding:11px 8px;color:#5a6477;font-weight:700;cursor:pointer;min-height:44px}
.bngh-tab.is-active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(30,40,70,.08)}
.bngh-panel{display:none}
.bngh-panel.is-active{display:block}
.bngh-field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bngh-field label,.bngh-field legend{display:block;font-size:13px;font-weight:750;margin:0 0 7px}
.bngh-input{border:1px solid #d9deea;border-radius:12px;padding:13px 14px;outline:none;background:#fff;min-height:44px}
.bngh-textarea{min-height:100px;resize:vertical}
.bngh-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #eceaff}
.bngh-choice-row{display:flex;gap:8px;margin-top:15px;flex-wrap:wrap}
.bngh-choice{border:1px solid #dfe3ec;background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;min-height:40px}
.bngh-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.bngh-chip{border:1px solid #dfe3ec;background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer;min-height:40px}
.bngh-chip.is-active,.bngh-choice input:checked + span{border-color:#a9a1f4;background:#f0eeff;color:#5046b5;font-weight:700}
.bngh-advanced{margin-top:16px;border:0;border-top:1px solid var(--line);border-radius:0;padding:14px 0 0;background:transparent}
.bngh-advanced summary{cursor:pointer;font-weight:750;color:#45506a}
.bngh-adv-grid{grid-template-columns:repeat(3,1fr);gap:10px}
.bngh-actions{margin-top:18px}
.bngh-btn-primary{width:100%;border:0;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;padding:14px 18px;cursor:pointer;box-shadow:0 10px 22px rgba(102,89,217,.22)}
.bngh-btn-primary:hover{filter:brightness(1.05)}
.bngh-form-note{text-align:center;color:#7a8498;font-size:12px;margin:10px 0 0}

/* Results: each name is a full width row, not a grid column. */
.bngh-results{width:min(1040px,100%);margin:28px auto 0;text-align:left}
.bngh-results-grid{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.bngh-result{background:#fff;border:1px solid var(--line);border-radius:16px;padding:17px 20px;box-shadow:none;min-height:0;display:grid;grid-template-columns:220px 1fr;column-gap:22px;row-gap:4px;grid-template-areas:"head body" "actions actions";align-items:start}
.bngh-result-head{grid-area:head;min-width:0}
.bngh-result-name{font-size:22px;margin:2px 0 4px}
.bngh-badge{font-size:11px;padding:4px 8px;border-radius:999px;margin:0}
.bngh-badge-verified{background:#e8f4ee;color:var(--green);font-weight:800;display:inline-flex;align-items:center;gap:5px}
.bngh-badge-verified:before{content:"✓"}
.bngh-badge-creative{background:#f4ecfd;color:#5546a5;font-weight:800}
.bngh-result-meta{color:#667085;font-size:13px;margin:0}
.bngh-result-body{grid-area:body;min-width:0}
.bngh-result-body p{font-size:13px;color:#58647a;margin:.25rem 0}
.bngh-result-actions{grid-area:actions;display:flex;gap:7px;margin-top:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.bngh-mini-btn{border:1px solid var(--line);background:#fff;border-radius:9px;padding:7px 9px;font-size:12px;min-height:38px}
.bngh-mini-btn:hover{background:var(--soft)}
@media(max-width:700px){
	.bngh-result{grid-template-columns:1fr;grid-template-areas:"head" "body" "actions"}
}

/* Sections */
.section{padding:68px 0}
.section.soft{background:var(--soft)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-size:12px;font-weight:800;text-align:center}
.section h2{text-align:center;font-size:clamp(29px,4vw,42px);letter-spacing:-.04em;margin:7px 0 10px}
.lead{text-align:center;max-width:680px;margin:0 auto 30px;color:var(--muted)}
.bngh-explore-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;list-style:none;margin:0;padding:0}
.bngh-explore-card,.grid4 .card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;min-height:160px;transition:.2s;display:block}
.bngh-explore-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,40,70,.08)}
.icon{width:42px;height:42px;border-radius:12px;background:var(--lav);display:grid;place-items:center;font-size:20px;margin-bottom:14px}
.bngh-explore-card h3,.card h3{margin:0 0 7px;font-size:17px}
.bngh-explore-card p,.card p{margin:0;color:var(--muted);font-size:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.culture{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:850px;margin:0 auto}
.culture a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 15px;font-size:14px}
.culture a:hover{border-color:#a9a1f4;background:var(--lav)}
.bngh-trend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.bngh-trend-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;align-items:center;gap:12px;text-align:left}
.bngh-trend-rank{font-size:28px;color:#c5c9d5;font-weight:800}
.bngh-trend-item .bngh-dir-name{font-weight:800;font-size:18px}
.verified-note{display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px;font-weight:800}
.verified-note:before{content:"✓"}
.trustbox{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center;background:#17233d;color:#fff;border-radius:26px;padding:38px;margin-bottom:30px}
.trustbox h2{text-align:left;margin:8px 0 12px}
.trustbox p{color:#cbd3e3}
.trustbox .eyebrow{color:#bdb7ff;text-align:left}
.checks{display:grid;gap:11px}
.check{display:flex;gap:10px;align-items:flex-start;color:#e7ebf3;font-size:15px}
.check b{color:#dcd8ff}
.trustbox .bngh-btn{background:#fff;color:#5147b4;border:0;box-shadow:none}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;margin:0;padding:0}
.step{text-align:center}
.step .num{width:42px;height:42px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#fff;font-weight:800}
.step h3{margin:0 0 6px}
.step p{color:var(--muted);margin:0}
.faq{max-width:800px;margin:auto}
.faq details{border-bottom:1px solid var(--line);padding:16px 2px}
.faq summary{font-weight:750;cursor:pointer}
.faq p{color:var(--muted);margin:.6rem 0 0}
.final{padding:58px 0;background:linear-gradient(135deg,#6558d8,#8478ec);color:#fff;text-align:center}
.final h2{font-size:38px;margin:0 0 8px;color:#fff}
.final p{margin:0 auto 20px;max-width:600px;color:#eeeaff}
.final .bngh-btn{border:0;background:#fff;color:#5147b4;border-radius:12px;padding:13px 20px;font-weight:800;box-shadow:none}

/* Footer */
.footer{padding:34px 0;border-top:1px solid var(--line);font-size:13px;color:#7a8498;background:#fff}
.footerrow{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.footercols{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:28px}
.footercols h3{font-size:14px;margin:0 0 10px;color:var(--ink)}
.footercols ul{list-style:none;margin:0;padding:0}
.footercols li{margin:0 0 8px}
.footercols a{color:#7a8498;font-size:14px}
.footercols a:hover{color:var(--accent)}

/* Generic content pages */
.bngh-app .bngh-crumbs{margin-top:1rem}
.entry-content{max-width:760px;margin:0 auto}
.site-main{padding:0 0 60px}
.bngh-404,.bngh-name-detail{max-width:820px;margin:0 auto;padding-top:1.5rem}

/* Directory grids */
.bngh-dir-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid;gap:.8rem;list-style:none;margin:1rem 0;padding:0}
.bngh-dir-item{border:1px solid var(--line);border-radius:14px;background:#fff}
.bngh-dir-item a{display:flex;flex-direction:column;gap:.2rem;padding:.85rem 1rem}

/* Responsive */
@media(max-width:980px){
	.links{display:none}
	.menu{display:block;margin-left:auto}
	.bngh-explore-grid,.grid4{grid-template-columns:repeat(2,1fr)}
	.grid3{grid-template-columns:repeat(2,1fr)}
	.trustbox{grid-template-columns:1fr}
}
@media(max-width:640px){
	.wrap{width:min(100% - 28px,1180px)}
	.hero{padding:34px 0 30px}
	.hero .herosub{font-size:16px}
	.bngh-gen-card{padding:15px;border-radius:18px;margin-top:22px}
	.bngh-tabs{grid-template-columns:1fr}
	.bngh-field-row,.bngh-adv-grid,.bngh-explore-grid,.grid4,.grid3,.steps,.footercols{grid-template-columns:1fr}
	.section{padding:48px 0}
	.trustbox{padding:26px 20px}
	.nav{height:62px}
	.mobilepanel.open{top:62px}
	.logo{font-size:18px}
	.final h2{font-size:30px}
}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*{transition:none!important;animation:none!important}
}
