/*
Theme Name: Fly Like A Mother
Theme URI: https://www.flylikeamother.com
Author: Fly Like A Mother
Description: Custom theme for Fly Like A Mother. On activation it creates the Home, Train with Emily, FLAM Community, Watch & Listen, Shop, Support and About pages, the header menu, and sets the home page.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
License: All rights reserved
Text Domain: flylikeamother
*/
/* Sunset palette: brand navy + purple, warmed with the gold, rose, parchment and eggplant of the Phoenix sunset */
:root{
  --navy:#262262; --purple:#B042B7; --purple-ink:#8E2F95;
  --gold:#F5B35C; --amber:#E8923A; --rose:#A6697F; --eggplant:#3D2C3D;
  --bg:#FBF5E8; --surface:#FFFDF8; --tint:#F5EAD8;
  --ink:#2A1F33; --muted:#6B5C68; --line:#E7D8C2;
  --eyebrow:#A04E1C; --on-navy:#FBF5E8; --band:#3D2C3D;
  --sunset:linear-gradient(90deg,#F5B35C 0%,#E8923A 30%,#A6697F 65%,#B042B7 100%);
  --display:"Roboto",system-ui,-apple-system,"Segoe UI",sans-serif;
  --body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;
  --wrap:1120px;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#1B1320; --surface:#261B2C; --tint:#2F2235;
    --ink:#F7EEE3; --muted:#C2B2BD; --line:#44344B;
    --purple:#D173D6; --purple-ink:#E39BE7; --eyebrow:#F5B35C; --band:#140D18;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#1B1320; --surface:#261B2C; --tint:#2F2235;
  --ink:#F7EEE3; --muted:#C2B2BD; --line:#44344B;
  --purple:#D173D6; --purple-ink:#E39BE7; --eyebrow:#F5B35C; --band:#140D18;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.6;margin:0}
a{color:var(--purple-ink)}
h1,h2,h3{font-family:var(--display);font-weight:900;line-height:1.1;text-wrap:balance;margin:0}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem);color:var(--ink)}
h3{font-size:1.2rem;font-weight:700}
p{margin:0}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.eyebrow{font-family:var(--mono);font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow)}
.lede{color:var(--muted);max-width:62ch;font-size:1.05rem}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px;border-radius:4px}

/* preview note */
.note{background:var(--tint);color:var(--muted);font-size:.85rem;text-align:center;padding:8px 20px;border-bottom:1px solid var(--line)}

/* header */
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:20px;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex:none}
.brand .plate{padding:3px 6px;}
.brand img{height:48px;width:auto;display:block}
.brand span{font-family:var(--display);font-weight:900;font-size:1.05rem;letter-spacing:.01em}
nav.links{display:flex;gap:2px;margin-left:auto;flex-wrap:nowrap;white-space:nowrap}
nav.links a{color:var(--ink);text-decoration:none;font-size:.95rem;padding:8px 10px;border-radius:6px}
nav.links a:hover{background:var(--tint)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--body);font-weight:700;font-size:1rem;text-decoration:none;border-radius:999px;padding:12px 22px;border:2px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--purple);color:#fff}
:root[data-theme="dark"] .btn-primary{color:#1B0F20}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-small{padding:8px 16px;font-size:.92rem}
.top .btn{flex:none}

@media (max-width:420px){.brand span{display:none}}

/* hero */
.hero{position:relative;color:#fff;background:#140f25}
.hero .photo{position:absolute;inset:0;background:url("assets/hero.jpg") center 60%/cover no-repeat}
.hero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,40,.15) 0%,rgba(20,15,40,.55) 55%,rgba(20,15,40,.92) 100%)}
.hero .wrap{position:relative;padding-block:72px 44px;display:grid;gap:22px}
.hero .hero-emblem{width:170px;height:auto;filter:drop-shadow(0 10px 30px rgba(0,0,0,.45))}
@media (min-width:821px){
  .hero .wrap{grid-template-columns:minmax(0,1fr) auto;column-gap:48px;padding-block:96px 44px}
  .hero .wrap>*{grid-column:1}
  .hero .hero-emblem{grid-column:2;grid-row:1 / 6;width:min(340px,30vw);align-self:center}
  .hero .strip{grid-column:1 / -1}
}
.hero h1{font-size:clamp(2.4rem,6.4vw,4.8rem);max-width:15ch;letter-spacing:-.01em}
.hero .kicker{font-family:var(--display);font-weight:700;font-size:clamp(1.2rem,2.4vw,1.6rem);color:#F5B35C;max-width:34ch;line-height:1.25}
.hero p.sub{max-width:56ch;font-size:1.12rem;color:#EDE8F6}
.hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn-ghost{color:#fff}
.strip{font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;display:flex;flex-wrap:wrap;gap:6px 18px;color:#D9D3EA;border-top:1px solid rgba(255,255,255,.22);padding-top:16px;margin-top:10px}
.strip b{color:#fff;font-weight:500}

section{padding-block:80px}
section + section{border-top:1px solid var(--line)}
.head{display:grid;gap:12px;margin-bottom:36px}

.why{background:var(--tint)}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.pillars{grid-template-columns:1fr}}
.pillar{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:8px;align-content:start}
.pillar p:last-child{color:var(--muted);font-size:.95rem}
/* services logbook */
.logbook{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.row{display:grid;grid-template-columns:minmax(0,2.4fr) 110px 150px 120px 110px;gap:16px;align-items:center;padding:18px 22px;border-top:1px solid var(--line)}
.row:first-child{border-top:0}
.row.th{background:var(--tint);font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-block:12px}
.row .svc h3{font-size:1.08rem}
.row .svc p{color:var(--muted);font-size:.93rem;margin-top:3px}
.row .num{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.95rem}
.tag{display:inline-block;font-family:var(--mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:var(--tint);color:var(--purple-ink);white-space:nowrap}
.tag.local{color:var(--muted)}
.row.free{background:color-mix(in srgb,var(--purple) 7%,var(--surface))}
@media (max-width:820px){
  .row.th{display:none}
  .row{grid-template-columns:1fr auto;grid-template-areas:"svc svc" "meta btn";row-gap:12px}
  .row .svc{grid-area:svc}
  .row .meta{grid-area:meta;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
  .row .btn{grid-area:btn}
}
@media (min-width:821px){.row .meta{display:contents}}
.below{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:18px;color:var(--muted);font-size:.95rem}

.request{margin-top:32px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;scroll-margin-top:90px}
.request .wide,.request .rq-head{grid-column:1/-1}
.rq-head p{color:var(--muted);font-size:.95rem}
.field{display:grid;gap:6px}
.field label{font-weight:700;font-size:.92rem}
.field input,.field select,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 14px;width:100%}
.rq-foot{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rq-foot .ok{font-family:var(--mono);font-size:.85rem;color:var(--purple-ink)}
@media (max-width:640px){.request{grid-template-columns:1fr;padding:20px}}
.grid3 .post .more{margin-top:auto}
.gear{margin-top:36px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px 24px 18px}
.gear-head{padding-block:18px 10px;display:grid;gap:4px}
.gear-head h3{font-size:1.3rem;font-weight:900}
.gear-head p{color:var(--muted)}
.gear-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.gear-row h3{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gear-row p{color:var(--muted);font-size:.95rem;margin-top:2px}
.gear-row .btn{color:var(--purple-ink)}
.disclose{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}
/* cards grid */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:10px;align-content:start}
.post .meta{font-family:var(--mono);font-size:.75rem;color:var(--muted);letter-spacing:.05em;text-transform:uppercase}
.post p{color:var(--muted);font-size:.95rem}
.post a.more{font-weight:700;text-decoration:none}
.signup{margin-top:28px;background:linear-gradient(135deg,#3D2C3D 0%,#262262 100%);color:var(--on-navy);border-radius:16px;padding:28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;align-items:center}
.signup h3{font-size:1.4rem;font-weight:900;color:#fff}
.signup p{color:#D8D2EA;margin-top:6px}
.signup form{display:flex;gap:10px;flex-wrap:wrap}
.signup input{flex:1 1 220px;min-width:0;font:inherit;padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);color:#fff}
.signup input::placeholder{color:#BDB6D6}
.signup .ok{grid-column:1/-1;font-family:var(--mono);font-size:.85rem;color:#F5B35C}
@media (max-width:760px){.signup{grid-template-columns:1fr}}

/* media */
.media{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.tile{border-radius:14px;padding:26px;display:grid;gap:12px;align-content:start;border:1px solid var(--line);background:var(--surface)}
.tile .soon{font-family:var(--mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tile ul{margin:0;padding-left:18px;color:var(--muted)}

/* community */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.channels{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px}
.channels div{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border-bottom:1px solid var(--line)}
.channels div:last-child{border-bottom:0}
.channels code{font-family:var(--mono);color:var(--purple-ink);font-size:.95rem}
.channels span{color:var(--muted);font-size:.92rem;text-align:right}

/* shop */
.shop{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:28px;align-items:stretch}
@media (max-width:820px){.shop{grid-template-columns:1fr}}
.emblem{background:linear-gradient(160deg,#3D2C3D 0%,#262262 100%);border-radius:16px;display:grid;place-items:center;padding:24px}
.emblem img{width:min(320px,100%);height:auto}
.products{display:grid;gap:14px}
.product{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 20px}
.product p{color:var(--muted);font-size:.9rem}
.price{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}

/* tiers */
.tier{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:grid;gap:12px;align-content:start}
.tier .amt{font-family:var(--display);font-weight:900;font-size:2rem}
.tier .amt small{font-family:var(--body);font-weight:400;font-size:.95rem;color:var(--muted)}
.tier ul{margin:0;padding-left:18px;color:var(--muted);font-size:.95rem}
.tier.feature{border:2px solid var(--purple)}

/* about */
.facts{display:grid;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:6px 20px}
.facts div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts div:last-child{border-bottom:0}
.facts dt{font-family:var(--mono);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.facts dd{margin:0}
.bio{display:grid;gap:16px;max-width:60ch}

footer{background:var(--band);color:#E6D9DE;padding-block:48px;border-top:4px solid transparent;border-image:var(--sunset) 1}
footer .wrap{display:flex;flex-wrap:wrap;gap:24px 48px;justify-content:space-between;align-items:flex-start}
footer strong{color:#fff;font-family:var(--display);font-weight:900;font-size:1.2rem}
footer a{color:#fff}
.mail{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-family:var(--mono);font-size:.95rem;color:#fff}
.mail button{font:inherit;font-size:.8rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:4px 12px;cursor:pointer}
footer nav{display:flex;flex-wrap:wrap;gap:8px 18px}
footer nav a{text-decoration:none}
.fine{width:100%;font-size:.85rem;color:#A9A2C4}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* multi-page additions */
.top .wrap{position:relative}
nav.links a[aria-current="page"]{color:var(--purple-ink);box-shadow:inset 0 -2px 0 var(--purple)}
.menu-btn{display:none;flex:none;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.menu-btn svg{width:22px;height:22px}
@media (max-width:1180px){
  .top .btn{margin-left:auto}
  .menu-btn{display:inline-flex}
  nav.links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:2px;background:var(--bg);border-bottom:1px solid var(--line);padding:10px 20px 16px;box-shadow:0 12px 24px rgba(20,15,40,.12)}
  nav.links a{padding:12px 10px;font-size:1.05rem}
  nav.links a[aria-current="page"]{box-shadow:none;background:var(--tint)}
  header.top.open nav.links{display:flex}
}
@media (max-width:420px){.top .btn{padding:8px 12px;font-size:.88rem}}
.banner{position:relative;color:#fff;background:#140f25}
.banner .photo{position:absolute;inset:0;background:url("assets/hero.jpg") center 55%/cover no-repeat}
.banner .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,40,.35) 0%,rgba(20,15,40,.9) 100%)}
.banner .wrap{position:relative;padding-block:56px 36px;display:grid;gap:10px;grid-template-columns:minmax(0,1fr) auto;column-gap:32px}
.banner .wrap>*{grid-column:1}
.banner .banner-emblem{grid-column:2;grid-row:1 / 4;width:150px;height:auto;align-self:center;filter:drop-shadow(0 8px 20px rgba(0,0,0,.45))}
@media (max-width:640px){.banner .banner-emblem{display:none}}
header.top::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--sunset)}
header.top{border-bottom:0}
.hero .kicker,.banner .eyebrow{color:var(--gold)}
.foot-brand{display:flex;gap:16px;align-items:center}
.foot-brand img{width:92px;height:auto}
.path .go{color:var(--eyebrow)}
.tier.feature{border-image:var(--sunset) 1;border-width:3px;border-style:solid;border-radius:0}
.banner h1{font-size:clamp(2.1rem,5vw,3.4rem)}
.banner p.sub{max-width:60ch;color:#EDE8F6;font-size:1.08rem}
.paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1000px){.paths{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.paths{grid-template-columns:1fr}}
.path{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:8px;align-content:start;text-decoration:none;color:var(--ink);transition:border-color .15s ease,transform .15s ease}
.path:hover{border-color:var(--purple);transform:translateY(-2px)}
.path p{color:var(--muted);font-size:.95rem}
.path .go{font-weight:700;color:var(--purple-ink);margin-top:4px}

/* ===== Header: logo row + full-width menu bar ===== */
.site-header{background:var(--ink)}
.topbar{display:flex;align-items:center;gap:18px;min-height:84px}
.topbar .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--line)}
.topbar .brand .plate{display:grid;place-items:center}
.topbar .brand img{height:80px;width:auto;display:block}
.topbar .brand strong{display:block;font-family:var(--display);font-weight:900;font-size:1.35rem;line-height:1.1}
.topbar .brand small{display:block;font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--eyebrow);margin-top:3px}
.topbar .actions{margin-left:auto;display:flex;gap:10px;align-items:center}
.menubar{background:var(--eggplant);position:sticky;top:0;z-index:30;border-bottom:3px solid transparent;border-image:var(--sunset) 1}
.admin-bar .menubar{top:32px}
@media (max-width:782px){.admin-bar .menubar{top:46px}}
.menubar li.cta-mobile{display:none}
.menubar ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.menubar li{margin:0}
.menubar a{display:block;color:#F7EEE3;text-decoration:none;font-weight:700;font-size:.98rem;padding:14px 18px;border-bottom:3px solid transparent;margin-bottom:-3px}
.menubar a:hover{background:rgba(255,255,255,.07)}
.menubar .current-menu-item>a,.menubar .current_page_item>a{color:var(--gold);border-bottom-color:var(--gold)}
.menu-btn{display:none;width:auto;height:auto;align-items:center;gap:8px;font:inherit;font-weight:700;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer}
.menu-btn svg{width:20px;height:20px}
@media (max-width:860px){
  .topbar{min-height:70px}
  .topbar .brand img{height:60px}
  .topbar .brand strong{font-size:1.1rem}
  .topbar .actions .btn{display:none}
  .menu-btn{display:inline-flex}
  .menubar ul{display:none;flex-direction:column;padding-block:6px}
  .menubar.open ul{display:flex}
  .menubar a{padding:12px 4px;border-bottom:0;margin:0}
  .menubar .current-menu-item>a,.menubar .current_page_item>a{border-bottom:0}
  .menubar li.cta-mobile{display:block}
}
@media (max-width:420px){.menu-label{position:absolute;left:-9999px}.menu-btn{padding:10px}.topbar .brand small{display:none}.topbar .brand>span:last-child{display:block}.topbar .brand strong{font-size:1rem}}
.menubar .cta-mobile a{color:var(--gold)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.post-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:28px}
.entry-single{max-width:72ch;margin-inline:auto;padding-inline:20px;padding-block:56px}
.entry-single h2{font-size:1.7rem;margin:1.6em 0 .5em}
.entry-single p,.entry-single li{margin:0 0 1em}
.entry-single a{color:var(--purple-ink)}
.screen-reader-text{position:absolute;left:-9999px}
