/* Genetic Energetics — App chrome for member pages (PEP, BFL, Library…).
   Gives WordPress app pages the GE dark/gold motif + our own menu bar,
   replacing the marketing theme. Motif tokens mirror ge-site/assets/site.css.
   All visual overrides are scoped under `.ge-app` so they beat the form's
   own inline light styles (2-class selector > the form's 1-class rules). */

.ge-app{
  --ink:#0b0a1a; --ink2:#14122e; --panel:#191636; --panel2:#211d45;
  --gold:#c9a96e; --gold-l:#e8c98a; --gold-d:#a8894f;
  --cream:#f4efe4; --txt:#eae6f4; --mut:#a9a3c4; --line:rgba(201,169,110,.22);
  --serif:"Cormorant Garamond","Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}

/* Reset the theme's page frame so nothing shows above our bar and there's
   no big top gap between the bar and the form heading. */
/* V3 (2026-07-19): the GE-BG-2 "medium" swirl backdrop behind the form.
   Literal #0b0a1a fallback (the --ink token isn't in scope on <body>, which
   is why the earliest version showed white around the card).
   Query-param previews: ?bg=solid (plain dark) · ?look=subtle (the quieter
   GE-BG-1 backdrop, former V2) · ?look=seethrough (see-through card). */
html,body.ge-app-body{margin:0;padding:0;
  background:#0b0a1a url("https://energeticmatch.com/downloads/GE-BG-1-subtle.png") no-repeat center center fixed;
  background-size:cover;}
body.ge-app-body.ge-bg-solid{background:#0b0a1a;}

/* --- comparison previews (query-param) --- */
/* ?look=subtle: the quieter GE-BG-1 backdrop (former V2). */
body.ge-app-body.ge-look-subtle{
  background-image:url("https://energeticmatch.com/downloads/GE-BG-1-subtle.png");}
/* ?look=seethrough: card a touch more see-through so the swirl shows through
   it. Blur keeps the form text legible over the texture. */
body.ge-app-body.ge-look-glass .gep-pep{
  background:linear-gradient(180deg,rgba(25,22,54,.58),rgba(20,18,45,.66));
  backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);}
body.ge-app-body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;color:#eae6f4;}
body.ge-app-body #page,body.ge-app-body .site,body.ge-app-body .site-content,
body.ge-app-body .entry-content,body.ge-app-body .content-area{max-width:none;margin:0;padding:0;}
.ge-app *{box-sizing:border-box;}

/* ---------- our menu bar ---------- */
.ge-app-bar{position:sticky;top:0;z-index:60;background:rgba(11,10,26,.92);
  backdrop-filter:blur(9px);border-bottom:1px solid var(--line);}
.ge-app-bar__inner{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;padding:.8rem 1.4rem;max-width:1280px;margin:0 auto;}
.ge-app-brand{font-family:var(--serif);font-size:1.24rem;letter-spacing:.14em;
  text-transform:uppercase;color:#fff;white-space:nowrap;line-height:1.05;}
.ge-app-brand small{display:block;font-family:var(--sans);letter-spacing:.2em;
  font-size:.5rem;color:var(--gold);margin-top:2px;text-transform:none;}
.ge-app-nav{display:flex;align-items:center;gap:1.3rem;}
.ge-app-nav a.link{color:rgba(255,255,255,.84);font-size:.82rem;letter-spacing:.06em;
  text-transform:uppercase;padding:.4rem 0;white-space:nowrap;}
.ge-app-nav a.link:hover{color:var(--gold-l);}
.ge-app-nav .cta{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:#1a1408;
  padding:.5rem 1rem;border-radius:6px;font-weight:600;letter-spacing:.02em;text-transform:none;
  font-size:.84rem;box-shadow:0 12px 30px -14px rgba(201,169,110,.8);}
.ge-app-nav .cta:hover{filter:brightness(1.06);color:#1a1408;}
.ge-app-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;
  border-radius:6px;padding:.35rem .6rem;font-size:1.15rem;cursor:pointer;line-height:1;}

/* ---------- page frame ---------- */
.ge-app-main{max-width:760px;margin:0 auto;padding:1.6rem 1.4rem 4rem;}

/* ---------- the PEP form as a centered GE card ---------- */
.ge-app .gep-pep{max-width:640px;margin:0 auto;background:linear-gradient(180deg,var(--panel),var(--ink2));
  border:1px solid var(--line);border-radius:16px;padding:2rem 1.9rem 2.2rem;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.8);}
.ge-app .gep-pep__page-h1{font-family:var(--serif);font-weight:500;color:#fff;
  font-size:clamp(1.7rem,3.6vw,2.2rem);text-align:center;margin:0 0 1.4rem;line-height:1.15;}

/* strip the form element's own light card — it now lives inside .gep-pep */
.ge-app .gep-form,.ge-app .gep-form--pep{background:transparent;border:0;padding:0;margin:0;max-width:none;}

/* fieldsets / grouped sections */
.ge-app .gep-form__person,.ge-app .gep-form__delivery,.ge-app .gep-form__mode,
.ge-app .gep-form__relationship-status{background:rgba(255,255,255,.03);
  border:1px solid var(--line);border-radius:10px;padding:1em 1.15em 1.2em;margin:0 0 1.1em;}
.ge-app .gep-form__person-title{color:var(--gold-l);font-weight:600;font-size:1.02em;padding:0;}
.ge-app legend.gep-form__person-title{margin-bottom:.4em;}

/* labels + hints */
.ge-app .gep-form__label{color:var(--gold);font-weight:600;letter-spacing:.02em;}
.ge-app .gep-form__hint{color:var(--mut);}

/* inputs, selects, and the DOB trio dropdowns (override inline #fff/#1f2937) */
.ge-app .gep-form__input,
.ge-app .gep-form__dob-select,
.ge-app .gep-form__dob-typed{width:100%;background:rgba(255,255,255,.05);
  border:1px solid var(--line);border-radius:8px;color:#fff;
  padding:.72em .85em;font:inherit;}
.ge-app .gep-form__dob-select{min-width:5.5rem;}
.ge-app .gep-form__dob-select option{color:#1f2937;} /* option list is drawn by the OS */
.ge-app .gep-form__input:focus,
.ge-app .gep-form__dob-select:focus,
.ge-app .gep-form__dob-typed:focus{outline:none;border-color:var(--gold);box-shadow:none;}
.ge-app .gep-form__input--frozen,.ge-app input[readonly]{background:rgba(255,255,255,.03);color:var(--mut);}
.ge-app .gep-form__input::placeholder,.ge-app .gep-form__dob-typed::placeholder{color:rgba(169,163,196,.7);}

/* keep browser autofill dark */
.ge-app input:-webkit-autofill,.ge-app input:-webkit-autofill:hover,
.ge-app input:-webkit-autofill:focus,.ge-app select:-webkit-autofill{
  -webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 40px #191636 inset;
  caret-color:#fff;transition:background-color 9999s ease-in-out 0s;}

/* radios */
.ge-app .gep-form__radio{color:var(--txt);}
.ge-app .gep-form__radio input[type="radio"]{accent-color:var(--gold);}

/* language selector — recolor from indigo to gold */
.ge-app .gep-pep__lang-block{background:rgba(255,255,255,.05);border:1.5px solid var(--line);color:var(--txt);}
.ge-app .gep-pep__lang-block:hover{border-color:var(--gold);}
.ge-app .gep-pep__lang-block--active{background:linear-gradient(135deg,var(--gold),var(--gold-l));
  color:#1a1408;border-color:var(--gold);font-weight:600;}

/* submit + continue buttons — gold */
.ge-app .gep-form__submit{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:#1a1408;
  font-weight:600;padding:.8em 1.6em;border-radius:8px;box-shadow:0 14px 34px -16px rgba(201,169,110,.75);}
.ge-app .gep-form__submit:hover,.ge-app .gep-form__submit:focus{filter:brightness(1.06);background:linear-gradient(135deg,var(--gold),var(--gold-l));}
.ge-app .gep-form__submit--secondary{background:transparent;color:var(--gold-l);
  border:1px solid var(--gold-d);box-shadow:none;}
.ge-app .gep-form__submit--secondary:hover{background:rgba(201,169,110,.1);}

/* review + success panels */
.ge-app .gep-pep__review-headline,.ge-app .gep-pep__success-headline{font-family:var(--serif);color:#fff;}
.ge-app .gep-pep__review-intro,.ge-app .gep-pep__success-body{color:var(--txt);}
.ge-app .gep-pep__review-list dt{color:var(--gold);}
.ge-app .gep-pep__review-list dd{color:#fff;}
.ge-app .gep-pep__success-block{background:rgba(255,255,255,.04);border:1.5px solid var(--line);color:var(--txt);}
.ge-app .gep-pep__success-block:hover{border-color:var(--gold);box-shadow:0 4px 12px rgba(201,169,110,.12);}
.ge-app .gep-pep__success-block-title{color:#fff;}
.ge-app .gep-pep__success-block-sub{color:var(--mut);}
.ge-app .gep-pep__view-report-btn{background:linear-gradient(135deg,var(--gold),var(--gold-l));color:#1a1408;
  box-shadow:0 4px 14px rgba(201,169,110,.4);animation:none;}
.ge-app .gep-pep__view-report-btn:hover{filter:brightness(1.06);}
.ge-app .gep-mail-notice{background:rgba(255,255,255,.03);border:1px solid var(--line);color:var(--txt);}
.ge-app .gep-mail-notice__details summary{color:var(--gold-l);}
.ge-app .gep-pep__status{color:#fff;}

/* ---------- BFL (MeNu) form + result ---------- */
/* artwork on a clean white card so the logo reads over the dark motif */
.ge-app .bfl-head{text-align:center;margin:0 auto 1.4rem;max-width:560px;}
.ge-app .bfl-logo{max-width:100%;height:auto;border-radius:12px;} /* white pad removed - logo is dark-native now */
/* BFL form: WIDER + shorter — the two people sit side by side; tighter,
   smaller fields + font so it doesn't run long down the page. */
.ge-app .gep-form--menu{max-width:720px;margin:0 auto;display:grid;
  grid-template-columns:1fr 1fr;gap:.2rem 1.6rem;align-items:start;}
.ge-app .gep-form--menu .gep-form__intro{grid-column:1 / -1;color:var(--mut);text-align:center;margin:0 0 .9rem;}
.ge-app .gep-form--menu .gep-form__actions{grid-column:1 / -1;text-align:center;margin-top:.5rem;}
/* min-width:0 forces the two columns to be truly EQUAL width (grid items
   otherwise refuse to shrink below their content, making one box wider). */
.ge-app .gep-form--menu .gep-form__person{margin:0;padding:.9em 1em 1em;min-width:0;}
.ge-app .gep-form--menu .gep-form__row{margin-bottom:.55rem;}
.ge-app .gep-form--menu .gep-form__label{font-size:.7rem;margin-bottom:.22rem;}
.ge-app .gep-form--menu .gep-form__input{padding:.48rem .65rem;font-size:.9rem;}
.ge-app .gep-form--menu .gep-form__submit{font-size:.95rem;padding:.6em 1.4em;}
/* Month/Day/Year date pickers */
.ge-app .gep-dob{display:flex;gap:.4rem;}
.ge-app .gep-dob__sel{flex:1;min-width:0;background:rgba(255,255,255,.05);border:1px solid var(--line);
  border-radius:8px;color:#fff;padding:.48rem .4rem;font-family:var(--sans);font-size:.85rem;}
.ge-app .gep-dob__sel[data-part="month"]{flex:1.5;}
.ge-app .gep-dob__sel option{color:#1f2937;}
.ge-app .gep-dob__sel:focus{outline:none;border-color:var(--gold);}
@media (max-width:600px){ .ge-app .gep-form--menu{grid-template-columns:1fr;} }
/* BFL result — a readable card in the GE motif (was dark-on-dark) */
.ge-app .gep-result--menu{max-width:720px;margin:0 auto;
  background:linear-gradient(180deg,var(--panel),var(--ink2));border:1px solid var(--line);
  border-radius:16px;padding:1.6rem 2rem 2rem;}
.ge-app .gep-result__people{text-align:center;color:var(--txt);margin:.4rem 0 1.4rem;}
.ge-app .gep-result__people p{margin:.15rem 0;font-size:1.02rem;}
.ge-app .gep-result__people strong{color:var(--gold-l);font-weight:600;}
.ge-app .gep-result__scores{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin:0 0 1.6rem;}
.ge-app .gep-result__score{flex:1 1 180px;max-width:240px;text-align:center;
  background:rgba(201,169,110,.12);border:1px solid var(--gold-d);border-radius:12px;padding:1rem;}
.ge-app .gep-result__score-label{display:block;color:var(--gold);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;}
.ge-app .gep-result__score-value{display:block;color:#fff;font-size:2.2rem;font-weight:700;font-family:var(--serif);line-height:1.1;}
.ge-app .gep-result__body{color:rgba(238,236,246,.92);line-height:1.7;}
.ge-app .gep-result__body p{margin:0 0 1rem;}
.ge-app .gep-result__body a{color:var(--gold-l);text-decoration:underline;}
.ge-app .gep-result__empty{color:var(--mut);font-style:italic;text-align:center;}

/* ---------- footer ---------- */
.ge-app-foot{border-top:1px solid var(--line);background:var(--ink);color:var(--mut);
  text-align:center;padding:1.8rem 1.4rem;font-size:.82rem;}
.ge-app-foot a{color:var(--gold);}

/* ---------- mobile ---------- */
@media (max-width:860px){
  .ge-app-toggle{display:inline-flex;}
  .ge-app-nav{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;
    gap:0;background:var(--ink2);border-bottom:1px solid var(--line);padding:.4rem 0;display:none;}
  .ge-app-nav.open{display:flex;}
  .ge-app-nav a.link{padding:.8rem 1.4rem;border-top:1px solid rgba(201,169,110,.1);}
  .ge-app-nav .cta{margin:.6rem 1.4rem;text-align:center;}
  .ge-app-bar__inner{position:relative;}
  .ge-app-main{padding:1.2rem 1rem 3rem;}
  .ge-app .gep-pep{padding:1.5rem 1.15rem 1.7rem;}
}
