/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* ===========================================================================
   Get A-Head Resources — Portal design system (ported from html/portal/assets/portal.css)
   Loaded on canvas + frontend (not builder) via functions.php, after bricks-frontend.
   Single source of truth for portal tokens + base type + components.
   Bare `section{padding-block}` intentionally omitted (would inflate Bricks sections);
   section rhythm is set per-section in Bricks instead.
   =========================================================================== */

/* Force a 16px root so the rem-based design system matches the mockup.
   Bricks/its theme default the root to 62.5% (10px), which shrinks every rem value. */
html{font-size:100%}

/* ---------- 1. Primitives (tonal ramps) ---------- */
:root{
  --purple-50:#F5F0F8;--purple-100:#E9DEEF;--purple-200:#D2BDDD;--purple-300:#B393C6;
  --purple-400:#9266AC;--purple-500:#713E8B;--purple-600:#5E3274;--purple-700:#4B285D;
  --purple-800:#3A1F49;--purple-900:#281433;
  --magenta-50:#FCEEF3;--magenta-100:#F8D6E1;--magenta-200:#F0ACC2;--magenta-300:#E67D9F;
  --magenta-400:#DA5380;--magenta-500:#CC3366;--magenta-600:#AD2954;--magenta-700:#8A2143;
  --magenta-800:#671831;--magenta-900:#450F20;
  --slate-50:#F4F6FB;--slate-100:#E9EDF4;--slate-200:#D6DDEA;--slate-300:#B9C3D6;
  --slate-400:#94A0B8;--slate-500:#7284A5;--slate-600:#5C6B89;--slate-700:#47536B;
  --slate-800:#333B4D;--slate-900:#20242F;
  --wash:#F3F7FF;
  --success-500:#1E8E5A;--success-50:#E7F4EE;
  --warning-500:#C77700;--warning-50:#FBF1E2;

  /* radius / spacing / motion */
  --r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:28px;--r-pill:999px;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;
  --s8:clamp(56px,7vw,88px);--s9:clamp(80px,10vw,128px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --maxw:1200px;--gutter:clamp(20px,5vw,44px);
}

/* ---------- 2. Semantic tokens (light only) ---------- */
:root,[data-theme="light"]{
  --bg:var(--wash);--surface:#FFF;--surface-raised:#FFF;--surface-sunken:var(--slate-50);
  --surface-glass:rgba(255,255,255,.72);
  --text:#2A2533;--text-secondary:#55505E;--text-muted:#7C7689;
  --border:#E7E3EE;
  --brand:var(--purple-500);--brand-hover:var(--purple-600);
  --brand-soft:var(--purple-50);--brand-soft-text:var(--purple-700);
  --accent:var(--magenta-500);--accent-soft:var(--magenta-50);--accent-soft-text:var(--magenta-700);
  --band:var(--slate-500);--band-text:#FFF;
  --ring:rgba(113,62,139,.45);
  --e1:0 1px 2px rgba(40,20,51,.06),0 1px 3px rgba(40,20,51,.07);
  --e2:0 2px 4px rgba(40,20,51,.05),0 6px 16px rgba(40,20,51,.08);
  --e3:0 4px 8px rgba(40,20,51,.06),0 16px 32px rgba(40,20,51,.12);
  --e-brand:0 6px 16px rgba(113,62,139,.30);
  --e-accent:0 6px 16px rgba(204,51,102,.32);
}

/* ---------- 3. Base ---------- */
.brxe-section, .brxe-container, .brxe-block, .brxe-div{box-sizing:border-box}
body{
  background:var(--bg);color:var(--text);
  font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body h1,body h2,body h3,body h4{margin:0 0 .5em;font-weight:800;letter-spacing:-.02em;line-height:1.15;color:var(--text)}
body h1{font-size:clamp(2.4rem,1.8rem + 3vw,4rem)}
body h2{font-size:clamp(1.9rem,1.5rem + 1.8vw,2.7rem)}
body h3{font-size:clamp(1.4rem,1.2rem + 1vw,1.85rem);letter-spacing:-.015em}
body h4{font-size:1.2rem;font-weight:700;letter-spacing:-.01em}
a{color:var(--brand);text-decoration:none}
a:hover{color:var(--brand-hover)}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.3em}
li{margin:.25em 0}
img{max-width:100%;display:block}
:focus-visible{outline:none;box-shadow:0 0 0 3px var(--ring);border-radius:var(--r-xs)}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.narrow{max-width:760px}
.section-sm{padding-block:var(--s8)}
.eyebrow{font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 var(--s3)}
.lede{font-size:clamp(1.05rem,1rem + .4vw,1.25rem);color:var(--text-secondary);max-width:62ch}
.grad{background:linear-gradient(100deg,var(--brand),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.muted{color:var(--text-muted)}
.center{text-align:center}
.mt0{margin-top:0}.mb0{margin-bottom:0}

/* ---------- 4. Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.5em;padding:14px 26px;border-radius:var(--r-pill);
  font:inherit;font-weight:700;font-size:1rem;border:1.5px solid transparent;cursor:pointer;
  transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease),color .18s var(--ease);white-space:nowrap;line-height:1}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brand);color:#fff;box-shadow:var(--e-brand)}
.btn-primary:hover{background:var(--brand-hover);color:#fff}
.btn-accent{background:var(--accent);color:#fff;box-shadow:var(--e-accent)}
.btn-accent:hover{background:var(--magenta-600);color:#fff}
.btn-soft{background:var(--brand-soft);color:var(--brand-soft-text)}
.btn-soft:hover{background:var(--purple-100)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn-ghost:hover{border-color:var(--brand);color:var(--brand)}
.btn-sm{padding:9px 16px;font-size:.9rem}
.btn-lg{padding:17px 34px;font-size:1.1rem}
.btn-block{display:flex;width:100%;justify-content:center}
.btn-disabled,.btn:disabled{opacity:.45;pointer-events:none}

/* ---------- 5. Badges / pills ---------- */
.badge{display:inline-flex;align-items:center;gap:.4em;padding:5px 12px;border-radius:var(--r-pill);
  font-size:.78rem;font-weight:700;line-height:1}
.badge.brand{background:var(--brand-soft);color:var(--brand-soft-text)}
.badge.accent{background:var(--accent-soft);color:var(--accent-soft-text)}
.badge.solid{background:var(--brand);color:#fff}
.badge.success{background:var(--success-50);color:var(--success-500)}
.badge.warning{background:var(--warning-50);color:var(--warning-500)}

/* ---------- 6. Cards ---------- */
.card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--e1);transition:transform .2s var(--ease),box-shadow .2s var(--ease);overflow:hidden}
a.card,.card-link{color:inherit;display:block}
.card.hover:hover,a.card:hover,.card-link:hover{transform:translateY(-4px);box-shadow:var(--e3)}
.card-body{padding:var(--s5)}
.card .media{height:120px;background:linear-gradient(120deg,var(--purple-400),var(--magenta-400));position:relative}
.card .tag{position:absolute;left:var(--s4);bottom:-14px;background:var(--surface);color:var(--brand-soft-text);
  padding:5px 14px;border-radius:var(--r-pill);font-size:.78rem;font-weight:800;box-shadow:var(--e1)}
.card h4{margin-top:var(--s3)}
.more{font-weight:700;color:var(--brand);display:inline-flex;gap:.35em;align-items:center}
.more:after{content:"→";transition:transform .18s var(--ease)}
.card:hover .more:after,.more:hover:after{transform:translateX(3px)}

.grid{display:grid;gap:var(--s5)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-auto{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
@media(max-width:900px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}

/* ---------- 7. Callouts ---------- */
.callout{display:flex;gap:var(--s4);padding:var(--s5);border-radius:var(--r-md);border:1px solid;align-items:flex-start}
.callout .ico{flex:none;width:40px;height:40px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:1.2rem}
.callout.brand{background:var(--brand-soft);border-color:var(--purple-200)}
.callout.brand .ico{background:var(--brand);color:#fff}
.callout.success{background:var(--success-50);border-color:#BEE3D0}
.callout.success .ico{background:var(--success-500);color:#fff}
.callout.warning{background:var(--warning-50);border-color:#F0D9A8}
.callout.warning .ico{background:var(--warning-500);color:#fff}
.callout p{margin:0}
.callout.inline{align-items:center}

/* ---------- 8. Inputs ---------- */
.field{margin-bottom:var(--s4)}
.field label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}
.input,select.input,textarea.input{width:100%;padding:13px 16px;border-radius:var(--r-md);
  border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;transition:border .15s,box-shadow .15s}
.input::placeholder{color:var(--text-muted)}
.input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
.hint{font-size:.82rem;color:var(--text-muted);margin-top:6px}

/* search box */
.searchbar{display:flex;gap:var(--s2);background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--r-pill);padding:6px 6px 6px 20px;box-shadow:var(--e1);align-items:center}
.searchbar:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
.searchbar input{flex:1;border:0;background:transparent;font:inherit;color:var(--text);padding:8px 0}
.searchbar input:focus{outline:none}
.searchbar .ico{color:var(--text-muted)}

/* ---------- 9. Stat ---------- */
.stat .num{font-size:clamp(2rem,1.5rem + 2vw,3rem);font-weight:900;line-height:1;
  background:linear-gradient(100deg,var(--brand),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.stat .lbl{color:var(--text-muted);font-weight:600;margin-top:6px}

/* ---------- 10. Accordion (FAQs) ---------- */
.acc{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-raised);overflow:hidden;box-shadow:var(--e1)}
.acc + .acc{margin-top:var(--s3)}
.acc summary{list-style:none;cursor:pointer;padding:var(--s4) var(--s5);font-weight:700;
  display:flex;justify-content:space-between;gap:var(--s4);align-items:center;color:var(--text)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{color:var(--brand)}
.acc summary .chev{flex:none;transition:transform .2s var(--ease);color:var(--brand)}
.acc[open] summary .chev{transform:rotate(180deg)}
.acc .acc-body{padding:0 var(--s5) var(--s5);color:var(--text-secondary)}
.acc .acc-body>*:first-child{margin-top:0}

/* ---------- 11. Header ---------- */
.site-header{position:sticky;top:0;z-index:50;background:var(--surface-glass);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.site-header .bar{display:flex;align-items:center;gap:var(--s5);padding-block:20px}
.brand-logo{display:flex;align-items:center}
.brand-logo img{height:48px;width:auto}
.nav{display:flex;gap:4px;margin-left:auto;align-items:center}
.nav a{padding:9px 15px;border-radius:var(--r-pill);font-weight:700;font-size:.95rem;color:var(--text-secondary)}
.nav a:hover{background:var(--brand-soft);color:var(--brand-soft-text)}
.nav a.active{background:var(--brand-soft);color:var(--brand-soft-text)}
.header-actions{display:flex;gap:var(--s2);align-items:center;margin-left:var(--s3)}
.icon-btn{width:40px;height:40px;border-radius:var(--r-pill);border:1.5px solid var(--border);
  background:transparent;color:var(--text-secondary);display:grid;place-items:center;cursor:pointer;transition:.15s}
.icon-btn:hover{border-color:var(--brand);color:var(--brand)}
.burger{display:none}
@media(max-width:960px){
  .nav{position:fixed;inset:84px 0 auto 0;flex-direction:column;background:var(--surface);
    padding:var(--s4) var(--gutter);border-bottom:1px solid var(--border);box-shadow:var(--e2);
    margin:0;gap:2px;transform:translateY(-140%);transition:transform .28s var(--ease);align-items:stretch}
  .nav.open{transform:translateY(0)}
  .nav a{padding:12px 16px}
  .burger{display:grid}
  .header-actions{margin-left:auto}
}

/* ---------- 12. Footer ---------- */
.site-footer{color:var(--band-text);position:relative;overflow:hidden;
  background:
    radial-gradient(55% 130% at 10% 5%,rgba(204,51,102,.32),transparent 60%),
    radial-gradient(50% 120% at 90% 0%,rgba(114,132,165,.30),transparent 55%),
    radial-gradient(70% 170% at 72% 125%,rgba(146,102,172,.55),transparent 62%),
    var(--purple-700)}
.site-footer a{color:var(--band-text);opacity:.82}
.site-footer a:hover{opacity:1;color:#fff}
.footer-inner{position:relative;padding-block:var(--s8) var(--s6);display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:var(--s4)}
.site-footer img.flogo{height:52px;width:auto;filter:brightness(0) invert(1)}
.footer-tag{opacity:.78;max-width:48ch;margin:0;font-size:.98rem}
.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;list-style:none;padding:0;margin:var(--s1) 0}
.footer-nav li{display:flex;align-items:center}
.footer-nav li:not(:last-child)::after{content:"";width:4px;height:4px;border-radius:50%;
  background:currentColor;opacity:.35;margin:0 var(--s4)}
.footer-nav a{font-weight:600;font-size:.95rem}
.footer-bottom{position:relative;border-top:1px solid rgba(255,255,255,.14);padding-block:var(--s4);
  display:flex;justify-content:space-between;align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:.85rem}
.footer-bottom>span:first-child{opacity:.72}
.footer-built{display:inline-flex;align-items:center;gap:.5em;opacity:.9}
.footer-built a{font-weight:800;color:#fff;opacity:1;border-bottom:1.5px solid rgba(255,255,255,.35);padding-bottom:1px}
.footer-built a:hover{border-color:var(--accent);color:#fff}
@media(max-width:560px){.footer-nav li:not(:last-child)::after{margin:0 var(--s3)}
  .footer-bottom{justify-content:center;text-align:center}}

/* ---------- 13. Hero + motifs ---------- */
.hero{position:relative;overflow:hidden}
.orbs{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.orb.p{background:var(--purple-400)}
.orb.m{background:var(--magenta-400)}
.orb.s{background:var(--slate-400)}
.hero .container{position:relative;z-index:1}
.hero-mesh{background:
  radial-gradient(60% 80% at 15% 20%,rgba(204,51,102,.35),transparent 60%),
  radial-gradient(50% 70% at 85% 15%,rgba(114,132,165,.4),transparent 60%),
  radial-gradient(70% 90% at 70% 90%,rgba(146,102,172,.5),transparent 60%),
  var(--purple-700);color:#fff}
.hero-mesh h1,.hero-mesh h2{color:#fff}
.hero-mesh .lede{color:rgba(255,255,255,.9)}
.wave{display:block;width:100%;height:60px}

/* ---------- 14. Auth / gate pages ---------- */
.auth{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}
.auth-aside{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;
  padding:var(--s9) clamp(32px,5vw,72px);color:#fff}
.auth-aside .container{padding:0;max-width:none}
.auth-aside ul.ticks{list-style:none;padding:0;margin:var(--s5) 0 0}
.auth-aside ul.ticks li{display:flex;gap:var(--s3);align-items:flex-start;margin:.7em 0;color:rgba(255,255,255,.95)}
.auth-aside ul.ticks .t{flex:none;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:.85rem}
.auth-main{display:flex;flex-direction:column;justify-content:center;padding:var(--s8) clamp(28px,5vw,72px);background:var(--bg)}
.auth-card{width:100%;max-width:420px;margin-inline:auto}
.auth-card .brand-logo{margin-bottom:var(--s6)}
.divider{display:flex;align-items:center;gap:var(--s3);color:var(--text-muted);font-size:.85rem;margin:var(--s5) 0}
.divider:before,.divider:after{content:"";height:1px;background:var(--border);flex:1}
@media(max-width:860px){.auth{grid-template-columns:1fr}.auth-aside{display:none}}

/* ---------- 15. Page header band (interior) ---------- */
.page-head{position:relative;overflow:hidden;padding-block:var(--s8);border-bottom:1px solid var(--border)}
.page-head.tint{background:var(--brand-soft)}
.crumbs{font-size:.85rem;color:var(--text-muted);margin-bottom:var(--s3)}
.crumbs a{color:var(--text-secondary)}
.crumbs span{margin:0 .4em}
.crumbs.pill{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:var(--s4)}
.crumbs.pill a,.crumbs.pill .current{margin:0;padding:5px 13px;border-radius:var(--r-pill);
  font-size:.8rem;font-weight:700;line-height:1;border:1px solid var(--border)}
.crumbs.pill a{background:var(--surface);color:var(--text-secondary)}
.crumbs.pill a:hover{border-color:var(--brand);color:var(--brand)}
.crumbs.pill .current{background:var(--brand-soft);color:var(--brand-soft-text);border-color:transparent}

/* ---------- 16. Topic tiles ---------- */
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4)}
@media(max-width:900px){.tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tiles{grid-template-columns:1fr}}
.tile{display:block;padding:var(--s5);border-radius:var(--r-lg);border:1px solid var(--border);
  background:var(--surface-raised);box-shadow:var(--e1);transition:transform .2s var(--ease),box-shadow .2s var(--ease);color:inherit}
.tile:hover{transform:translateY(-4px);box-shadow:var(--e3);color:inherit}
.tile .ti{width:48px;height:48px;border-radius:var(--r-md);display:grid;place-items:center;font-size:1.5rem;
  background:var(--brand-soft);margin-bottom:var(--s3)}
.tile h4{margin:0 0 .25em}
.tile p{margin:0;color:var(--text-muted);font-size:.92rem}
.tile .count{font-size:.8rem;font-weight:700;color:var(--brand);margin-top:var(--s3);display:inline-block}

/* ---------- 17. Resource list rows ---------- */
.rlist{display:flex;flex-direction:column;gap:var(--s3)}
.rrow{display:flex;gap:var(--s4);align-items:center;padding:var(--s4) var(--s5);border:1px solid var(--border);
  border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--e1);transition:.18s var(--ease);color:inherit}
.rrow:hover{transform:translateY(-2px);box-shadow:var(--e2);color:inherit}
.rrow .ic{flex:none;width:46px;height:46px;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--brand-soft);color:var(--brand-soft-text);font-size:1.3rem}
.rrow .meta{flex:1;min-width:0}
.rrow .meta h4{margin:0 0 2px}
.rrow .meta p{margin:0;color:var(--text-muted);font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rrow .go{flex:none;color:var(--brand);font-weight:800}

/* ---------- 18. Resource single ---------- */
.article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--s7);align-items:start}
.prose{max-width:none}
.prose h2{margin-top:1.4em}
.prose h3{margin-top:1.2em}
.prose>:first-child{margin-top:0}
.prose>p:first-of-type{font-size:1.1rem;color:var(--text-secondary)}
.aside-card{position:sticky;top:104px;display:flex;flex-direction:column;gap:var(--s4)}
.side-links{display:flex;flex-direction:column;gap:var(--s3)}
.side-links a{font-size:.92rem;font-weight:700;color:var(--brand);line-height:1.35}
.side-links a:hover{color:var(--brand-hover);text-decoration:underline}
@media(max-width:900px){.article-wrap{grid-template-columns:1fr}.aside-card{position:static}}
.chips{display:flex;flex-wrap:wrap;gap:var(--s2)}

/* ---------- 19. Filter bar ---------- */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.chip-toggle{padding:8px 16px;border-radius:var(--r-pill);border:1.5px solid var(--border);
  background:var(--surface);font-weight:700;font-size:.88rem;cursor:pointer;color:var(--text-secondary);transition:.15s}
.chip-toggle:hover{border-color:var(--brand);color:var(--brand)}
.chip-toggle.active{background:var(--brand);border-color:var(--brand);color:#fff}

/* ---------- 20. Helpful links ---------- */
.link-card{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5);border:1px solid var(--border);
  border-radius:var(--r-lg);background:var(--surface-raised);box-shadow:var(--e1);transition:.18s var(--ease)}
.link-card:hover{transform:translateY(-3px);box-shadow:var(--e3)}
.link-card .ext{margin-top:auto;font-weight:700;color:var(--brand)}

/* ---------- 21. Account ---------- */
.acct{display:grid;grid-template-columns:240px 1fr;gap:var(--s7);align-items:start}
.acct-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:104px}
.acct-nav a{padding:11px 16px;border-radius:var(--r-md);font-weight:700;color:var(--text-secondary)}
.acct-nav a:hover,.acct-nav a.active{background:var(--brand-soft);color:var(--brand-soft-text)}
@media(max-width:820px){.acct{grid-template-columns:1fr}.acct-nav{position:static;flex-direction:row;flex-wrap:wrap}}
.avatar{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;font-size:1.5rem;
  background:linear-gradient(120deg,var(--purple-500),var(--magenta-500))}

/* ---------- 22. Utility ---------- */
.stack{display:flex;flex-direction:column}
.gap2{gap:var(--s2)}.gap3{gap:var(--s3)}.gap4{gap:var(--s4)}.gap5{gap:var(--s5)}.gap6{gap:var(--s6)}.gap7{gap:var(--s7)}
.row{display:flex;align-items:center}
.wrap{flex-wrap:wrap}
.between{justify-content:space-between}
.mt3{margin-top:var(--s3)}.mt4{margin-top:var(--s4)}.mt5{margin-top:var(--s5)}.mt6{margin-top:var(--s6)}
.pill-note{display:inline-flex;align-items:center;gap:.5em;padding:6px 14px;border-radius:var(--r-pill);
  background:var(--surface-sunken);color:var(--text-secondary);font-size:.85rem;font-weight:700}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ===========================================================================
   Bricks bridge — make native Bricks elements adopt the mockup component look
   =========================================================================== */
/* Native search element dressed as .searchbar (icon + input + primary button) */
.brxe-search.searchbar{display:flex;gap:var(--s2);background:var(--surface);border:1.5px solid var(--border);
  border-radius:var(--r-pill);padding:6px 6px 6px 20px;box-shadow:var(--e1);align-items:center}
.brxe-search.searchbar:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
.brxe-search.searchbar::before{content:"";flex:none;width:20px;height:20px;background:var(--text-muted);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat}
.brxe-search.searchbar form{display:flex;gap:var(--s2);align-items:center;flex:1;margin:0;min-width:0}
.brxe-search.searchbar input[type=search]{flex:1;border:0;background:transparent;font:inherit;color:var(--text);padding:8px 0;height:auto;box-shadow:none;min-width:0}
.brxe-search.searchbar input[type=search]:focus{outline:none;box-shadow:none}
.brxe-search.searchbar input::placeholder{color:var(--text-muted)}
.brxe-search.searchbar button{flex:none;background:var(--brand);color:#fff;border:0;border-radius:var(--r-pill);
  padding:9px 16px;font-weight:700;font-size:.9rem;line-height:1;box-shadow:var(--e-brand);cursor:pointer;white-space:nowrap;transition:background .18s var(--ease)}
.brxe-search.searchbar button:hover{background:var(--brand-hover)}
/* Footer logo reversed white whether class lands on img or wrapper */
.site-footer .brxe-image.flogo img{height:52px;width:auto;filter:brightness(0) invert(1)}
.brand-logo.brxe-image img,.brxe-image.brand-logo img{height:48px;width:auto}
/* Bricks resets that fight the design system */
.brxe-heading{letter-spacing:inherit}

/* ===========================================================================
   Simple Membership forms dressed to match the portal .field / .input / .btn
   =========================================================================== */
.swpm-login-widget-form label,.swpm-registration-widget-form label,.swpm-profile-form label,
.swpm-login-form-inner .swpm-label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px;color:var(--text)}
.swpm-text-field,
.swpm-registration-widget-form input[type=text],.swpm-registration-widget-form input[type=email],
.swpm-registration-widget-form input[type=password],.swpm-registration-widget-form select,
.swpm-profile-form input[type=text],.swpm-profile-form input[type=email],
.swpm-profile-form input[type=password],.swpm-profile-form select{
  width:100%;padding:13px 16px;border-radius:var(--r-md);border:1.5px solid var(--border);
  background:var(--surface);color:var(--text);font:inherit;margin-bottom:var(--s4);box-sizing:border-box}
.swpm-text-field:focus,.swpm-registration-widget-form input:focus,.swpm-profile-form input:focus,
.swpm-registration-widget-form select:focus,.swpm-profile-form select:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
.swpm-text-field::placeholder{color:var(--text-muted)}
.swpm-username-label,.swpm-password-label{margin-top:0}
.swpm-remember-me{display:flex;align-items:center;gap:.45em;font-size:.88rem;font-weight:600;margin:2px 0 var(--s5)}
.swpm-remember-me label{display:inline;margin:0;font-size:.88rem}
.swpm-remember-me input{margin:0}
input[type=submit].swpm-login-form-submit,input[type=submit].swpm-registration-submit-button,
.swpm-profile-form input[type=submit],.swpm-registration-widget-form input[type=submit]{
  display:flex;width:100%;justify-content:center;align-items:center;gap:.5em;padding:14px 26px;
  border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:1rem;border:0;cursor:pointer;
  background:var(--brand);color:#fff;box-shadow:var(--e-brand);transition:background .18s var(--ease),transform .18s var(--ease);white-space:nowrap;line-height:1}
input[type=submit].swpm-login-form-submit:hover,input[type=submit].swpm-registration-submit-button:hover,
.swpm-profile-form input[type=submit]:hover,.swpm-registration-widget-form input[type=submit]:hover{
  background:var(--brand-hover);transform:translateY(-2px)}
.swpm-login-action-msg,.swpm-registration-form-message,.swpm-profile-message{font-size:.9rem;color:var(--text-secondary)}
.swpm-forgot-pass-link{font-size:.88rem}
/* Password-reset form (.swpm-pw-reset-*) — match the portal field / pill button */
.swpm-pw-reset-widget-form label,.swpm-pw-reset-email-label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px;color:var(--text)}
.swpm-pw-reset-widget-form .swpm-text-field{width:100%;padding:13px 16px;border-radius:var(--r-md);border:1.5px solid var(--border);background:var(--surface);color:var(--text);font:inherit;margin-bottom:var(--s4);box-sizing:border-box}
.swpm-pw-reset-widget-form .swpm-text-field:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--ring)}
input[type=submit].swpm-pw-reset-submit{display:inline-flex;width:auto;justify-content:center;align-items:center;gap:.5em;padding:14px 30px;border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:1rem;border:0;cursor:pointer;background:var(--brand);color:#fff;box-shadow:var(--e-brand);transition:background .18s var(--ease),transform .18s var(--ease);line-height:1}
input[type=submit].swpm-pw-reset-submit:hover{background:var(--brand-hover);transform:translateY(-2px)}

/* ===========================================================================
   WP nav menu (Bricks `nav-menu` element, class .site-nav) styled as the portal pill nav
   =========================================================================== */
.brxe-nav-menu.site-nav{margin-left:auto}
.brxe-nav-menu.site-nav .bricks-nav-menu,
.brxe-nav-menu.site-nav ul.bricks-nav-menu{display:flex;gap:4px;align-items:center;list-style:none;margin:0;padding:0}
.brxe-nav-menu.site-nav .bricks-nav-menu > li{margin:0;padding:0}
.brxe-nav-menu.site-nav a{display:block;padding:9px 15px;border-radius:var(--r-pill);
  font-weight:700;font-size:.95rem;line-height:1.2;color:var(--text-secondary);white-space:nowrap;transition:background .15s,color .15s}
.brxe-nav-menu.site-nav a:hover{background:var(--brand-soft);color:var(--brand-soft-text)}
.brxe-nav-menu.site-nav .current-menu-item > a,
.brxe-nav-menu.site-nav .current_page_item > a,
.brxe-nav-menu.site-nav .current-menu-parent > a,
.brxe-nav-menu.site-nav li.active > a{background:var(--brand-soft);color:var(--brand-soft-text)}

/* ---------- Search page (native Bricks filters) ---------- */
.gah-search-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:var(--s7);align-items:start}
@media(max-width:860px){.gah-search-grid{grid-template-columns:1fr}}
.gah-facets{position:sticky;top:88px}
@media(max-width:860px){.gah-facets{position:static}}

.rlist .rrow{flex-direction:row}
.rrow .ic.ic-faq{background:var(--surface-sunken)}

/* per-type icon/badge visibility (driven by data-type on .rrow) */
.rrow .ic-res,.rrow .ic-faq,.rrow .badge-res,.rrow .badge-faq{display:none}
.rrow[data-type="resource"] .ic-res{display:grid}
.rrow[data-type="faq"] .ic-faq{display:grid}
.rrow[data-type="resource"] .badge-res{display:inline-flex}
.rrow[data-type="faq"] .badge-faq{display:inline-flex}

.facet-label{text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;color:var(--text-muted);margin-bottom:var(--s3)}
.gah-facets .brxe-filter-radio{gap:var(--s2)}

/* Native filter buttons styled as portal .chip-toggle pills */
.gah-facets .brxe-filter-radio{display:flex;flex-direction:column;gap:var(--s2);align-items:stretch;padding:0;margin:0;list-style:none}
.gah-facets .brxe-filter-radio li{width:100%;margin:0}
.gah-facets .brxe-filter-radio label{display:block;cursor:pointer}
.gah-facets .brxe-filter-radio .brx-option-text{display:block;text-align:center;padding:8px 16px;border-radius:var(--r-pill);border:1.5px solid var(--border);background:var(--surface);font-weight:700;font-size:.88rem;line-height:1.3;color:var(--text-secondary);transition:.15s}
.gah-facets .brxe-filter-radio label:hover .brx-option-text{border-color:var(--text-muted);background:var(--surface);color:var(--text-secondary)}
.gah-facets .brxe-filter-radio .brx-option-active .brx-option-text{background:var(--brand);border-color:var(--brand);color:#fff}

.gah-count{margin-bottom:var(--s5)}

/* ----- Search bars: magnifier on search page + dashboard split (button beside input) ----- */
.brxe-filter-search.searchbar{display:flex;gap:var(--s2);align-items:center}
.brxe-filter-search.searchbar::before{content:"";flex:none;width:20px;height:20px;background:var(--text-muted);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") center/contain no-repeat}
.brxe-filter-search.searchbar input{flex:1;min-width:0;border:0;background:transparent;font:inherit;color:var(--text);padding:8px 0}
.brxe-filter-search.searchbar input:focus{outline:none;box-shadow:none}
.brxe-filter-search.searchbar input::placeholder{color:var(--text-muted)}

/* Dashboard hero: button-inside pill, full width, button matches input height */
.brxe-search.searchbar-hero{max-width:none;width:100%;padding:0 0 0 20px}
.brxe-search.searchbar-hero .bricks-search-form{align-items:stretch;gap:0}
.brxe-search.searchbar-hero button{height:auto;flex:0 0 160px;border-radius:var(--r-pill);box-shadow:none;margin:0;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:1rem}

/* FAQ accordions: align item boxes with the topic heading (remove container inset) */
.brxe-accordion.faq-acc{padding-left:0;padding-right:0}

.brxe-shortcode.pop-chips{display:contents}

.fb-thanks{font-weight:800;color:var(--brand)}

/* Resources archive spacing */
.acct{grid-template-columns:240px minmax(0,1fr)}
.topic-group{margin-bottom:var(--s7)}
.topic-group h3{margin:0 0 var(--s4)}

/* Root page: logo-only header (hide nav + action icons on the Welcome front page) */
body.page-id-131 .site-header .site-nav,
body.page-id-131 .site-header .header-actions{display:none}

/* SWPM login inputs full width (fill the panel; override the size=25 attr) */
.swpm-login-widget-form input[type=text],
.swpm-login-widget-form input[type=password],
.swpm-login-widget-form input[type=email]{width:100%;box-sizing:border-box}

/* Welcome login: join panel (gradient) on top of the login card + hide SWPM's own join link */
.swpm-join-us-link{display:none}
.join-panel{margin:-24px -24px 22px;width:calc(100% + 48px);max-width:none;padding:32px 24px;border-radius:var(--r-lg) var(--r-lg) 0 0;background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff;text-align:center}
.join-panel h3{color:#fff;margin:0 0 8px;font-size:1.7rem;line-height:1.2}
.join-panel p{color:rgba(255,255,255,.92);margin:0 0 16px;font-size:.9rem;line-height:1.45}
.join-panel .btn-light{display:block;width:100%;background:#fff;color:var(--brand);border:0;font-weight:800}
.join-panel .btn-light:hover{background:rgba(255,255,255,.9);color:var(--brand)}
#brxe-lh3{font-size:1.25rem}

/* Welcome: glass pill header over full-bleed gradient (page-id-131 only) */
.header-contact{display:none}
body.page-id-131 .site-header{position:absolute;top:0;left:0;right:0;z-index:100;background:transparent;box-shadow:none;border:0}
body.page-id-131 .site-header .container{max-width:1200px}
body.page-id-131 .site-header .bar{margin-top:0;padding:26px 0;background:transparent;border:0;box-shadow:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none}
body.page-id-131 .site-header .brand-logo img{filter:brightness(0) invert(1)}
/* Root/front page: logo is not a link (you're already home) */
body.page-id-131 .site-header .brand-logo{pointer-events:none;cursor:default}
body.page-id-131 .header-contact{display:inline-flex;align-items:center;margin-left:auto;background:#fff;color:var(--brand);font-weight:800;padding:10px 24px;border-radius:var(--r-pill);white-space:nowrap;box-shadow:0 4px 14px rgba(31,17,45,.16)}
body.page-id-131 .header-contact:hover{background:rgba(255,255,255,.9);color:var(--brand)}
body.page-id-131 .hero-mesh{padding-top:146px !important}

/* =========================================================================
   Contact form ([gah_contact_form]) — uses portal .field/.input/.btn/.callout
   ========================================================================= */
.gah-contact{max-width:100%}
.gah-contact .gah-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.gah-contact .req{color:var(--accent)}
.gah-contact .gah-field-error{display:block;margin-top:6px;font-size:.85rem;font-weight:600;color:var(--accent)}
.gah-contact .input[aria-invalid="true"]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.gah-contact .btn-primary{margin-top:var(--s2)}
.gah-contact .gah-contact-privacy{margin-top:var(--s4);font-size:.85rem}
.gah-contact .gah-contact-error{margin-bottom:var(--s5)}
.gah-contact-done .callout.brand{align-items:center}

.contact-col{max-width:none;margin-inline:0}

/* =========================================================================
   REGISTRATION FORM TWEAKS (/request-account/) — reorder fields, hide the
   membership-level row (hidden inputs still submit), style the <button> submit
   to match the portal primary button.
   ========================================================================= */
.swpm-registration-widget-form .swpm-registration-form-section{display:flex;flex-direction:column}
.swpm-registration-widget-form .swpm-firstname-row{order:1}
.swpm-registration-widget-form .swpm-lastname-row{order:2}
.swpm-registration-widget-form .swpm-email-row{order:3}
.swpm-registration-widget-form .swpm-username-row{order:4}
.swpm-registration-widget-form .swpm-password-row{order:5}
.swpm-registration-widget-form .swpm-repass-row{order:6}
.swpm-registration-widget-form .swpm-membership-level-row{display:none}
.swpm-registration-widget-form .swpm-username-row{}
.swpm-registration-widget-form .swpm-before-registration-submit-section{order:8}
.swpm-registration-widget-form .swpm-submit-section{order:9}
.swpm-registration-widget-form button.swpm-registration-submit-button{
  display:flex;width:100%;justify-content:center;align-items:center;gap:.5em;padding:14px 26px;
  border-radius:var(--r-pill);font:inherit;font-weight:700;font-size:1rem;border:0;cursor:pointer;
  background:var(--brand);color:#fff;box-shadow:var(--e-brand);
  transition:background .18s var(--ease),transform .18s var(--ease);white-space:nowrap;line-height:1}
.swpm-registration-widget-form button.swpm-registration-submit-button:hover{background:var(--brand-hover);transform:translateY(-2px)}
/* Password change panel */
.gah-pw .gah-field-error{display:block;margin-top:6px;font-size:.85rem;font-weight:600;color:var(--accent)}
.gah-pw .input[aria-invalid="true"]{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}
.gah-pw .btn{margin-top:var(--s2)}
.gah-pw .callout{margin-bottom:var(--s5)}

/* Email preferences panel */
.gah-prefs .gah-check{display:flex;gap:var(--s4);align-items:flex-start;padding:var(--s3) 0 var(--s5);cursor:pointer}
.gah-prefs .gah-check input{margin-top:3px;width:20px;height:20px;accent-color:var(--brand);flex:none;cursor:pointer}
.gah-prefs .callout{margin-bottom:var(--s5)}


/* ============================================================
   MOBILE RESPONSIVE FIXES v1 — 2026-07-04
   Appended last; uses !important to beat Bricks per-element ID
   rules (#brxe-*{...}) that were overriding the ported class
   media queries. Header burger wired by gah-mobile-nav.php.
   ============================================================ */

/* -- A. Header: collapse nav into a burger dropdown (member header) -- */
.site-header .burger{display:none!important}            /* hidden ≥961 */
@media(max-width:960px){
  .site-header{position:relative}
  .site-header .burger{display:grid!important}           /* show burger */
  .site-header .bar{flex-wrap:nowrap}
  .site-header .header-actions{margin-left:auto}
  .site-header .site-nav{
    position:absolute;top:100%;left:0;right:0;
    background:var(--surface);flex-direction:column;align-items:stretch;
    margin:0;padding:10px var(--gutter);gap:2px;
    border-bottom:1px solid var(--border);box-shadow:var(--e2);
    transform:translateY(-150%);transition:transform .28s ease;
    z-index:60;
  }
  .site-header.nav-open .site-nav{transform:translateY(0)}
  .site-header .site-nav .bricks-nav-menu{flex-direction:column;gap:2px;width:100%}
  .site-header .site-nav .bricks-nav-menu a{width:100%;padding:12px 16px;border-radius:var(--r-md)}
}

/* -- B. Welcome hero: stack content above the join/login card -- */
@media(max-width:820px){
  #brxe-hgrid,#brxe-hogrid{grid-template-columns:1fr!important}
  .hero-mesh{padding-top:104px!important}
}

/* -- C. Two-column layouts: force single column (beat Bricks ID rules) -- */
@media(max-width:900px){
  .grid-3{grid-template-columns:repeat(2,1fr)!important}
  .article-wrap{grid-template-columns:1fr!important}
  .aside-card{position:static!important}
  .tiles{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:820px){
  .acct{grid-template-columns:1fr!important}
  .acct-nav{position:static!important;flex-direction:row;flex-wrap:wrap}
}
@media(max-width:640px){
  .grid-2,.grid-3{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .tiles{grid-template-columns:1fr!important}
}
@media(max-width:860px){
  .gah-search-grid{grid-template-columns:1fr!important}
  .gah-facets{position:static!important}
}

/* -- D. Overflow backstop on small screens -- */
@media(max-width:960px){ html,body{overflow-x:hidden} }
/* -- MOBILE RESPONSIVE FIXES v1.1 patch (2026-07-04) --
   Stop nowrap .rrow content from blowing out the stacked .acct track;
   keep SWPM profile fields inside the viewport. -- */
@media(max-width:820px){
  .acct{grid-template-columns:minmax(0,1fr)!important}
  .acct>*{min-width:0!important}
  .rlist,.rrow{max-width:100%;min-width:0}
  .rrow .meta{min-width:0}
  .acct input,.acct select,.acct textarea{max-width:100%!important;box-sizing:border-box}
}
/* -- MOBILE RESPONSIVE FIXES v1.2 (2026-07-04) — better FAQ/Resources mobile layout --
   (1) topic filter sidebar -> tidy wrapped pill chips
   (2) resource rows: drop the topic badge to its own line so the title
       gets full width instead of wrapping one word per line -- */
@media(max-width:820px){
  .acct-nav{flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;position:static!important;margin:0 0 18px!important;padding:0!important}
  .acct-nav>a{flex:0 0 auto;white-space:nowrap;padding:7px 13px;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--r-pill);font-size:.82rem;font-weight:700;color:var(--text-secondary)}
  .acct-nav>a:hover{border-color:var(--brand);color:var(--brand)}
  .acct-nav>a.active{background:var(--brand-soft)!important;color:var(--brand-soft-text)!important;border-color:transparent!important}
}
@media(max-width:600px){
  .rrow{flex-wrap:wrap;row-gap:6px;align-items:flex-start}
  .rrow .ic{order:1;align-self:flex-start}
  .rrow .meta{order:2;flex:1 1 0;min-width:0}
  .rrow .meta h4{white-space:normal}
  .rrow .meta p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .rrow .badge{order:3;flex:0 0 100%;margin-left:calc(46px + var(--s4));align-self:flex-start}
  .rrow .go{order:4}
}
/* -- MOBILE RESPONSIVE FIXES v1.2b (2026-07-04) --
   Keep the resource-row topic badge a COMPACT pill on its own line
   (v1.2 flex:0 0 100% stretched it full-width). meta basis fills
   line 1 so the badge wraps beneath, hugging its text. -- */
@media(max-width:600px){
  .rrow{column-gap:var(--s4)}
  .rrow .meta{flex:1 1 calc(100% - 60px)!important}
  .rrow .badge{flex:0 0 auto!important;width:auto!important;max-width:100%}
}
/* -- MOBILE RESPONSIVE FIXES v1.2c (2026-07-04) --
   Robust resource-row layout via GRID (replaces the fragile flex-wrap):
   icon | title on line 1, compact badge tucked on line 2. And on the
   grouped archive the per-row topic badge is redundant (it repeats the
   topic heading above it) -> hide it there. -- */
@media(max-width:600px){
  .rrow{display:grid!important;grid-template-columns:46px minmax(0,1fr);grid-template-areas:'ic meta' '. badge';column-gap:var(--s4);row-gap:6px;align-items:start}
  .rrow .ic{grid-area:ic}
  .rrow .meta{grid-area:meta;min-width:0}
  .rrow .badge{grid-area:badge;justify-self:start;width:auto!important;max-width:100%;margin-left:0!important}
  .rrow .go{display:none}
  .acct .rrow .badge{display:none}
}
/* -- MOBILE RESPONSIVE FIXES v1.3 (2026-07-04) — iPad tween-zone fix --
   The header goes burger at <=960 but .acct only stacked at <=820, leaving an
   awkward cramped two-column layout on iPad portrait (821-960px). Align the
   FAQ/Resources single-column mobile layout + chip filter to <=960 so iPads
   get the clean mobile layout; harden horizontal-overflow containment for iOS. -- */
@media(max-width:960px){
  .acct{grid-template-columns:minmax(0,1fr)!important}
  .acct>*{min-width:0!important}
  .acct-nav{flex-direction:row!important;flex-wrap:wrap!important;gap:8px!important;position:static!important;margin:0 0 18px!important;padding:0!important}
  .acct-nav>a{flex:0 0 auto;white-space:nowrap;padding:7px 13px;border:1.5px solid var(--border);background:var(--surface);border-radius:var(--r-pill);font-size:.85rem;font-weight:700;color:var(--text-secondary)}
  .acct-nav>a:hover{border-color:var(--brand);color:var(--brand)}
  .acct-nav>a.active{background:var(--brand-soft)!important;color:var(--brand-soft-text)!important;border-color:transparent!important}
  html{overflow-x:clip}
}
/* -- MOBILE RESPONSIVE FIXES v1.4 (2026-07-04) — search-page track blowout --
   .gah-search-grid used plain 1fr, which grows to the nowrap .rrow min-content
   (~1243px) and gets clipped by the overflow backstop = cut-off content on
   iPad (820). Cap with minmax(0,1fr) + min-width:0; align to <=960. -- */
@media(max-width:960px){
  .gah-search-grid{grid-template-columns:minmax(0,1fr)!important}
  .gah-search-grid>*{min-width:0!important}
  .gah-facets{position:static!important}
  .rlist,.rrow{min-width:0;max-width:100%}
}
/* -- MOBILE RESPONSIVE FIXES v1.5 (2026-07-04) — ecomm-style collapsible filters --
   On <=960 the search-page Type+Topic facets (~515px tall) collapse behind a
   "Filters" toggle button (injected by gah-filter-accordion.php). Desktop is
   unchanged (facets always visible in the sidebar). -- */
.filter-toggle{display:none}
@media(max-width:960px){
  .filter-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 18px;margin:0 0 14px;border:1.5px solid var(--border);border-radius:var(--r-pill);background:var(--surface);font-family:inherit;font-weight:800;font-size:.95rem;color:var(--text);cursor:pointer;box-shadow:var(--e1)}
  .filter-toggle .ft-chev{transition:transform .2s ease;font-size:.8em;color:var(--brand)}
  .filter-toggle[aria-expanded="true"] .ft-chev{transform:rotate(180deg)}
  .filter-toggle[aria-expanded="true"]{border-color:var(--brand);color:var(--brand)}
  .gah-facets{max-height:0;overflow:hidden;transition:max-height .28s ease;margin:0!important;padding:0!important}
  .gah-facets.filters-open{max-height:1400px;overflow:visible;margin:0 0 18px!important}
}