/*
Theme Name: Wheat & Circuit
Theme URI: https://membership.myaijourney.online/
Author: Gorden Web Design
Author URI: https://gordenwebdesign.com/
Description: The My AI Journey membership theme. Deep midnight indigo base with wheat-gold accents, glass panels and the 3D renders from myaijourney.online. Built to sit under the maj-membership plugin.
Version: 1.0.2
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: maj-wheat-circuit
Tags: dark, one-column, custom-colors, custom-menu, education, membership
*/

/* ============================================================
   TOKENS  — matched to myaijourney.online
   ============================================================ */
:root{
  --ink:#080C1C; --ink-2:#0D1430; --ink-3:#131C42;
  --gold:#F0A93B; --gold-hi:#FFD089; --wheat:#E4B85C;
  --text:#EEF1FA; --muted:#9EABCF; --muted-2:#71809F;
  --line:rgba(158,171,207,.16);
  --glass:rgba(255,255,255,.045);
  --glass-2:rgba(255,255,255,.075);
  --ok:#5BD8A0; --warn:#F0A93B; --bad:#F2705B;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 10px 24px -8px rgba(0,0,0,.65), 0 2px 6px rgba(0,0,0,.4);
  --shadow-3:0 34px 60px -22px rgba(0,0,0,.85), 0 12px 28px -12px rgba(0,0,0,.6);
  --glow:0 0 46px -8px rgba(240,169,59,.42);
  --r-s:12px; --r-m:18px; --r-l:26px;
  --max:1180px;
  --pad:clamp(1.15rem, 4.2vw, 2.5rem);
  --font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --hdr-h:68px;
}

/* ============================================================
   BASE  — white text on the dark ground, everywhere
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; background:var(--ink)}
body{
  margin:0; background:var(--ink); color:var(--text);
  font-family:var(--font); font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.65; letter-spacing:-.008em;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
  min-height:100vh; display:flex; flex-direction:column;
}
img,svg,video{max-width:100%; height:auto; display:block}
a{color:var(--gold)}
a:hover{color:var(--gold-hi)}
h1,h2,h3,h4,h5,h6{line-height:1.14; letter-spacing:-.03em; margin:0 0 .6em; color:var(--text); text-wrap:balance; font-weight:800}
p,li,dd,dt,figcaption,td,th,label,blockquote{color:var(--text)}
p{margin:0 0 1.1rem; text-wrap:pretty}
ul,ol{padding-left:1.25rem}
hr{border:0; border-top:1px solid var(--line); margin:2.5rem 0}
small{color:var(--muted)}
code,pre,kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:.92em}
code{background:var(--glass-2); padding:.15em .4em; border-radius:6px; color:var(--gold-hi)}
pre{background:var(--ink-2); border:1px solid var(--line); border-radius:var(--r-s); padding:1rem; overflow:auto; color:var(--text)}
blockquote{margin:1.5rem 0; padding:.2rem 0 .2rem 1.2rem; border-left:3px solid var(--gold); color:var(--muted)}
table{width:100%; border-collapse:collapse; margin:1.5rem 0}
th,td{text-align:left; padding:.7rem .8rem; border-bottom:1px solid var(--line)}
th{color:var(--wheat); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase}
:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:6px}
::selection{background:rgba(240,169,59,.32); color:#fff}
::placeholder{color:var(--muted-2); opacity:1}

.wrap{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:var(--pad)}
.narrow{max-width:760px}
main{flex:1 0 auto}
section{position:relative}
section[id]{scroll-margin-top:84px}
@media (max-width:860px){section[id]{scroll-margin-top:74px}}
.sec{padding-block:clamp(3rem,7vw,6rem)}
.skip{position:absolute; left:-9999px; top:0; z-index:200; background:var(--gold); color:#180E00; padding:.8rem 1.2rem; border-radius:0 0 10px 0; font-weight:700}
.skip:focus{left:0}

.eyebrow{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--wheat); margin-bottom:1rem;
}
.eyebrow::before{content:""; width:22px; height:1px; background:linear-gradient(90deg,transparent,var(--gold))}
.h2{font-size:clamp(1.75rem,1.2rem + 2.6vw,2.85rem); font-weight:800}
.lede{color:var(--muted); font-size:clamp(1.03rem,.98rem + .35vw,1.2rem); max-width:62ch}

/* ============================================================
   GLASS
   ============================================================ */
.glass{
  position:relative; background:var(--glass);
  border:1px solid var(--line); border-radius:var(--r-m);
  backdrop-filter:blur(14px) saturate(135%);
  -webkit-backdrop-filter:blur(14px) saturate(135%);
  box-shadow:var(--shadow-2), inset 0 1px 0 rgba(255,255,255,.09);
}
.glass::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
  background:linear-gradient(160deg,rgba(255,255,255,.11),transparent 42%);
}
.glass > *{position:relative; z-index:1}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn,
.maj-btn,
button, input[type=submit], input[type=button], .wp-block-button__link{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font:inherit; font-weight:700; font-size:.95rem; letter-spacing:-.01em;
  padding:.82rem 1.35rem; border-radius:999px; text-decoration:none; cursor:pointer;
  border:1px solid transparent; min-height:46px;
  transition:transform .18s, box-shadow .25s, background .25s, color .2s;
  color:#180E00; background:linear-gradient(145deg,var(--gold-hi),var(--gold) 58%,#D08A20);
  box-shadow:0 10px 24px -10px rgba(240,169,59,.9), inset 0 1px 0 rgba(255,255,255,.55);
}
.btn:hover,.maj-btn:hover,button:hover,input[type=submit]:hover,.wp-block-button__link:hover{
  transform:translateY(-2px); color:#180E00;
  box-shadow:0 18px 34px -12px rgba(240,169,59,.95), inset 0 1px 0 rgba(255,255,255,.55);
}
.btn-gold{color:#180E00}
.btn-ghost,.maj-btn--ghost,.is-style-outline .wp-block-button__link{
  color:var(--text); background:var(--glass); border-color:var(--line);
  backdrop-filter:blur(10px); box-shadow:var(--shadow-1);
}
.btn-ghost:hover,.maj-btn--ghost:hover{background:var(--glass-2); color:var(--text)}
.btn-fb{background:#1877F2; color:#fff; box-shadow:0 10px 24px -10px rgba(24,119,242,.9)}
.btn-fb:hover{background:#3b8bf5; color:#fff; box-shadow:0 18px 34px -12px rgba(24,119,242,.95)}
.btn-sm{padding:.6rem 1.1rem; min-height:40px; font-size:.9rem}

/* ============================================================
   FORMS  — dark fields, white text
   ============================================================ */
input[type=text],input[type=email],input[type=password],input[type=url],
input[type=tel],input[type=number],input[type=search],input[type=date],
select,textarea{
  width:100%; max-width:100%; font:inherit; color:var(--text);
  background:rgba(255,255,255,.05); border:1px solid var(--line);
  border-radius:var(--r-s); padding:.78rem .9rem; min-height:48px;
  transition:border-color .2s, background .2s, box-shadow .2s;
  -webkit-appearance:none; appearance:none;
}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(1.35rem),calc(100% - 15px) calc(1.35rem);
  background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:2.5rem}
textarea{min-height:140px; line-height:1.6}
input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--gold);
  background:rgba(255,255,255,.075); box-shadow:0 0 0 3px rgba(240,169,59,.2);
}
label{display:block; font-weight:600; font-size:.9rem; margin-bottom:.4rem; color:var(--text)}
.form-row{margin-bottom:1.1rem}
input[type=checkbox],input[type=radio]{width:auto; min-height:0; accent-color:var(--gold); margin-right:.5rem}
/* Chrome/Edge autofill was painting fields white with black text */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,
textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-text-fill-color:var(--text);
  -webkit-box-shadow:0 0 0 1000px #101736 inset;
  caret-color:var(--text);
  transition:background-color 9999s ease-in-out 0s;
}

/* ============================================================
   HEADER
   ============================================================ */
.hdr{
  position:sticky; top:0; z-index:70; padding-block:.7rem;
  padding-top:max(.7rem, env(safe-area-inset-top));
  transition:background .35s, box-shadow .35s, backdrop-filter .35s;
}
.hdr.stuck{
  background:rgba(8,12,28,.9); box-shadow:0 1px 0 var(--line), 0 12px 30px -18px #000;
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
}
.hdr .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem}
.brand{display:flex; align-items:center; gap:.65rem; min-height:44px; font-weight:800; letter-spacing:-.035em; font-size:1.06rem; text-decoration:none; color:var(--text)}
.brand:hover{color:var(--text)}
.brand small{display:block; font-size:.66rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--wheat); line-height:1.2}
.mark{
  width:34px; height:34px; flex:0 0 34px; border-radius:10px; position:relative;
  background:linear-gradient(145deg,var(--gold-hi),var(--gold) 45%,#8A5A14);
  box-shadow:0 6px 16px -6px rgba(240,169,59,.75), inset 0 1px 0 rgba(255,255,255,.5);
  display:grid; place-items:center;
}
.mark::before{content:""; width:11px; height:11px; border-radius:3px; background:#0A0F24; transform:rotate(45deg); box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}
.nav{display:flex; align-items:center; gap:.3rem}
.nav ul{list-style:none; display:flex; align-items:center; gap:.3rem; margin:0; padding:0; flex-wrap:wrap}
.nav a{
  text-decoration:none; color:var(--muted); font-size:.925rem; font-weight:600;
  padding:.5rem .78rem; border-radius:9px; transition:color .2s, background .2s;
  display:inline-flex; align-items:center; min-height:40px;
}
.nav a:hover,.nav .current-menu-item > a{color:var(--text); background:var(--glass)}
.nav a.btn{color:#180E00; padding:.6rem 1.1rem; min-height:40px; font-size:.9rem}
.nav a.btn-ghost{color:var(--text)}
.nav a.btn-fb{color:#fff}
.menu-btn{
  display:none; background:var(--glass); border:1px solid var(--line); border-radius:10px;
  width:44px; height:44px; min-height:44px; cursor:pointer; padding:0; place-items:center; box-shadow:none;
}
.menu-btn:hover{transform:none; background:var(--glass-2); box-shadow:none}
.menu-btn span{display:block; width:18px; height:2px; background:var(--text); border-radius:2px; position:relative; transition:transform .25s, background .25s}
.menu-btn span::before,.menu-btn span::after{content:""; position:absolute; left:0; width:18px; height:2px; background:var(--text); border-radius:2px; transition:transform .25s, top .25s}
.menu-btn span::before{top:-6px} .menu-btn span::after{top:6px}
.menu-btn[aria-expanded="true"] span{background:transparent}
.menu-btn[aria-expanded="true"] span::before{top:0; transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] span::after{top:0; transform:rotate(-45deg)}

@media (max-width:960px){
  .menu-btn{display:grid}
  .nav{
    position:absolute; top:100%; left:0; right:0; display:none; flex-direction:column;
    align-items:stretch; gap:.25rem; padding:1rem var(--pad) 1.4rem;
    background:rgba(8,12,28,.97); border-bottom:1px solid var(--line);
    backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
    box-shadow:0 26px 40px -24px #000;
  }
  .nav.open{display:flex}
  .nav ul{flex-direction:column; align-items:stretch; gap:.25rem; width:100%}
  .nav a{width:100%; min-height:48px; font-size:1rem}
  .nav a.btn{justify-content:center; margin-top:.5rem}
}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative; display:flex; align-items:center; overflow:hidden;
  min-height:min(88svh,780px); padding-top:clamp(3rem,7vw,5rem); padding-bottom:clamp(3rem,7vw,5rem)}
.hero--slim{min-height:0; padding-top:clamp(2.4rem,5vw,4rem); padding-bottom:clamp(2.4rem,5vw,4rem)}
.hero-bg{position:absolute; inset:-6% -4%; z-index:0; will-change:transform}
.hero-bg img{width:100%; height:100%; object-fit:cover; object-position:60% 62%}
.hero-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(8,12,28,.88) 0%, rgba(8,12,28,.4) 24%, rgba(8,12,28,.2) 50%, rgba(8,12,28,.78) 86%, var(--ink) 100%),
    linear-gradient(100deg, rgba(8,12,28,.94) 2%, rgba(8,12,28,.8) 32%, rgba(8,12,28,.32) 60%, rgba(8,12,28,0) 82%);
}
.hero .wrap{position:relative; z-index:2}
.hero-inner{max-width:44rem}
.hero h1{font-size:clamp(2.1rem,1.4rem + 3.6vw,3.9rem); font-weight:850; letter-spacing:-.042em; margin-bottom:0}
.accent{
  background:linear-gradient(102deg,var(--gold-hi),var(--gold) 48%,var(--wheat));
  -webkit-background-clip:text; background-clip:text; color:transparent;
  text-shadow:0 0 60px rgba(240,169,59,.28);
}
.hero p.lede{margin-top:1.35rem; font-size:clamp(1.05rem,1rem + .45vw,1.24rem); color:#C3CEE9}
.hero-cta{display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2.1rem}
.hero-trust{display:flex; align-items:center; gap:.6rem; margin-top:2.2rem; font-size:.855rem; color:var(--muted-2)}
.pip{width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 12px var(--gold); flex:0 0 7px; animation:pulse 2.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1; transform:scale(1)} 50%{opacity:.45; transform:scale(.8)}}
.chip-row{display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.6rem}
.chip{
  font-size:.8rem; font-weight:600; color:var(--muted); padding:.42rem .8rem; border-radius:999px;
  background:var(--glass); border:1px solid var(--line); backdrop-filter:blur(8px);
}

/* ============================================================
   REVEAL
   ============================================================ */
.rv{opacity:0; transform:translateY(26px); transition:opacity .75s cubic-bezier(.2,.7,.3,1), transform .75s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1; transform:none}
.rv.d1{transition-delay:.09s} .rv.d2{transition-delay:.18s} .rv.d3{transition-delay:.27s} .rv.d4{transition-delay:.36s}

/* ============================================================
   CARD GRIDS
   ============================================================ */
.grid{display:grid; gap:1.2rem; margin-top:2.6rem}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(265px,1fr))}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.tcard{padding:1.7rem 1.5rem; border-radius:var(--r-m)}
.tcard h3{font-size:1.16rem; font-weight:750; margin-bottom:.6rem}
.tcard p{color:var(--muted); font-size:.965rem; margin-bottom:0}
.tnum{font-size:.72rem; font-weight:800; letter-spacing:.14em; color:var(--gold); display:block; margin-bottom:.85rem}

.jcard{padding:0 0 1.9rem; border-radius:var(--r-l); overflow:hidden; text-align:center;
  transform-style:preserve-3d; transition:transform .4s cubic-bezier(.2,.7,.3,1), box-shadow .4s}
.jcard:hover{box-shadow:var(--shadow-3), var(--glow), inset 0 1px 0 rgba(255,255,255,.12)}
.jcard > :not(.jart){padding-inline:1.5rem}
.jart{
  position:relative; aspect-ratio:1/1; max-height:260px; display:grid; place-items:center; overflow:hidden;
  background:radial-gradient(circle at 50% 54%, rgba(240,169,59,.20), rgba(240,169,59,.05) 45%, transparent 68%);
}
.jart img{
  width:94%; height:auto; animation:float 7s ease-in-out infinite;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.55)) contrast(1.06) saturate(1.04);
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 52%, rgba(0,0,0,.55) 68%, transparent 76%);
  mask-image:radial-gradient(circle at 50% 50%, #000 52%, rgba(0,0,0,.55) 68%, transparent 76%);
}
.jcard:nth-child(2) .jart img{animation-delay:-2.3s}
.jcard:nth-child(3) .jart img{animation-delay:-4.6s}
@keyframes float{0%,100%{transform:translateY(-7px)} 50%{transform:translateY(7px)}}
.jstep{
  display:inline-block; font-size:.7rem; font-weight:800; letter-spacing:.18em; color:#180E00;
  background:linear-gradient(145deg,var(--gold-hi),var(--gold)); padding:.3rem .7rem; border-radius:999px; margin-bottom:.9rem;
  box-shadow:0 6px 14px -6px rgba(240,169,59,.8);
}
.jcard h3{font-size:1.3rem}
.jcard p{color:var(--muted); font-size:.965rem}

/* ============================================================
   BAND (parallax backdrop)
   ============================================================ */
.band{position:relative; overflow:hidden; padding-block:clamp(3.5rem,8vw,6.5rem); text-align:center}
.band-bg{position:absolute; inset:-14% 0; z-index:0; opacity:.4; will-change:transform}
.band-bg img{width:100%; height:100%; object-fit:cover}
.band::before{content:""; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,var(--ink),rgba(8,12,28,.55) 42%,var(--ink))}
.band .wrap{position:relative; z-index:2}
.band .lede{margin-inline:auto}

/* ============================================================
   COMMUNITY / FACEBOOK
   ============================================================ */
.fb-glyph{width:18px; height:18px; flex:0 0 18px; fill:currentColor}
.community{background:linear-gradient(180deg,var(--ink),var(--ink-2) 55%,var(--ink))}
.community-grid{display:grid; gap:2rem; align-items:center; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); margin-top:2.4rem}
.community-art{position:relative; display:grid; place-items:center;
  background:radial-gradient(circle at 50% 50%, rgba(240,169,59,.18), transparent 66%); border-radius:var(--r-l)}
.community-art img{
  width:92%;
  -webkit-mask-image:radial-gradient(circle at 50% 50%, #000 54%, rgba(0,0,0,.5) 70%, transparent 78%);
  mask-image:radial-gradient(circle at 50% 50%, #000 54%, rgba(0,0,0,.5) 70%, transparent 78%);
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.55));
}

/* ============================================================
   POSTS / LESSONS
   ============================================================ */
.page-head{padding-block:clamp(2.4rem,6vw,4.2rem) clamp(1.4rem,3vw,2.2rem)}
.page-head h1{font-size:clamp(1.9rem,1.3rem + 3vw,3rem)}
.entry{max-width:760px}
.entry-meta{color:var(--muted-2); font-size:.85rem; letter-spacing:.02em; margin-bottom:1.4rem}
.entry-meta a{color:var(--muted)}
.entry-content > *{margin-bottom:1.15rem}
.entry-content h2{font-size:1.6rem; margin-top:2.4rem}
.entry-content h3{font-size:1.25rem; margin-top:1.8rem}
.entry-content img,.entry-content figure{border-radius:var(--r-m); box-shadow:var(--shadow-2)}
.entry-content ul,.entry-content ol{margin-bottom:1.15rem}
.entry-content li{margin-bottom:.4rem}
.entry-content li::marker{color:var(--gold)}

.post-list{display:grid; gap:1.2rem; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); margin-block:2rem 3rem}
.post-card{padding:1.6rem 1.5rem; border-radius:var(--r-m); display:flex; flex-direction:column; gap:.6rem;
  transition:transform .3s, box-shadow .3s}
.post-card:hover{transform:translateY(-3px); box-shadow:var(--shadow-3), inset 0 1px 0 rgba(255,255,255,.12)}
.post-card h2,.post-card h3{font-size:1.2rem; margin:0}
.post-card h2 a,.post-card h3 a{color:var(--text); text-decoration:none}
.post-card h2 a:hover,.post-card h3 a:hover{color:var(--gold-hi)}
.post-card p{color:var(--muted); font-size:.955rem; margin:0}
.post-card .entry-meta{margin:0}
.post-thumb{margin:-1.6rem -1.5rem .4rem; border-radius:var(--r-m) var(--r-m) 0 0; overflow:hidden}
.post-thumb img{width:100%; aspect-ratio:16/9; object-fit:cover}
.more{color:var(--gold); font-weight:700; font-size:.9rem; text-decoration:none; margin-top:auto}
.more:hover{color:var(--gold-hi)}

.pagination{display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center; margin-block:2rem 4rem}
.pagination .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px;
  padding:0 .8rem; border-radius:10px; background:var(--glass); border:1px solid var(--line);
  color:var(--text); text-decoration:none; font-weight:600;
}
.pagination .page-numbers:hover{background:var(--glass-2)}
.pagination .current{background:linear-gradient(145deg,var(--gold-hi),var(--gold)); color:#180E00; border-color:transparent}

/* ============================================================
   FOOTER
   ============================================================ */
.ftr{border-top:1px solid var(--line); background:linear-gradient(180deg,var(--ink),#050814); margin-top:auto}
.ftr-top{display:grid; gap:2rem; grid-template-columns:minmax(240px,1.2fr) 2fr; padding-block:clamp(2.6rem,6vw,4rem) 2rem}
@media (max-width:760px){.ftr-top{grid-template-columns:1fr}}
.ftr-top p{color:var(--muted); font-size:.94rem; max-width:34ch; margin:.9rem 0 0}
.fnav{display:flex; flex-wrap:wrap; gap:.4rem 1.6rem; align-content:start}
.fnav ul{list-style:none; display:flex; flex-wrap:wrap; gap:.4rem 1.6rem; margin:0; padding:0}
.fnav a{color:var(--muted); text-decoration:none; font-size:.94rem; font-weight:600;
  display:inline-flex; align-items:center; min-height:44px; padding-block:.35rem}
.fnav a:hover{color:var(--gold)}
.fbase{display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; justify-content:space-between; align-items:center;
  padding-block:1.4rem 2.2rem; border-top:1px solid var(--line); color:var(--muted-2); font-size:.85rem}
.fbase a{display:inline-flex; align-items:center; min-height:44px}
.fbase a{color:var(--muted)}
.fbase a:hover{color:var(--gold)}

/* ============================================================
   PLUGIN SURFACES  (maj-membership shortcodes)
   ============================================================ */
.maj-pricing,.maj-dashboard,.maj-account,.maj-login,.maj-thank-you,.maj-modules{color:var(--text)}
.maj-plan,.maj-card,.maj-module,.maj-lesson-row,.maj-panel{
  position:relative; background:var(--glass); border:1px solid var(--line); border-radius:var(--r-m);
  box-shadow:var(--shadow-2), inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(14px) saturate(135%); -webkit-backdrop-filter:blur(14px) saturate(135%);
  padding:1.6rem 1.5rem;
}
.maj-plan--featured{border-color:rgba(240,169,59,.45); box-shadow:var(--shadow-3), var(--glow)}
.maj-price{font-size:2.4rem; font-weight:850; letter-spacing:-.04em; color:var(--text)}
.maj-price small{font-size:.95rem; font-weight:600; color:var(--muted)}
.maj-notice,.maj-error,.maj-success{
  border-radius:var(--r-s); padding:.9rem 1.1rem; margin-bottom:1.2rem; font-size:.95rem;
  border:1px solid var(--line); background:var(--glass-2); color:var(--text);
}
.maj-error{border-color:rgba(242,112,91,.5); background:rgba(242,112,91,.12)}
.maj-success{border-color:rgba(91,216,160,.45); background:rgba(91,216,160,.1)}
.maj-progress-bar{height:9px; border-radius:999px; background:rgba(255,255,255,.09); overflow:hidden}
.maj-progress-bar > span{display:block; height:100%; border-radius:999px;
  background:linear-gradient(90deg,var(--wheat),var(--gold-hi)); box-shadow:0 0 14px rgba(240,169,59,.6)}
.maj-locked{opacity:.62}
.maj-locked-badge{display:inline-flex; align-items:center; gap:.35rem; font-size:.72rem; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; color:var(--wheat);
  border:1px solid var(--line); border-radius:999px; padding:.25rem .65rem; background:var(--glass)}

/* Anything the plugin or the editor drops in keeps the palette.
   Buttons are excluded — a gold link on a gold pill is invisible. */
.entry-content a:not(.btn):not(.maj-btn):not(.more):not(.wp-block-button__link){color:var(--gold)}
.entry-content a:not(.btn):not(.maj-btn):not(.more):not(.wp-block-button__link):hover{color:var(--gold-hi)}
.entry-content .wp-block-button__link,
.entry-content a.btn,
.entry-content a.btn:hover,
.entry-content a.maj-btn,
.wp-block-button__link,
.wp-block-button__link:hover,
.wp-block-button__link:visited{color:#180E00}
.entry-content .is-style-outline .wp-block-button__link,
.is-style-outline .wp-block-button__link,
.is-style-outline .wp-block-button__link:hover,
.entry-content a.btn-ghost,
.entry-content a.btn-ghost:hover,
.entry-content a.maj-btn--ghost{color:var(--text)}
.entry-content a.btn-fb,.entry-content a.btn-fb:hover{color:#fff}
.wp-block-button__link .wp-element-button{color:inherit}
.has-text-color,.has-background{color:inherit}
.wp-block-separator{border-color:var(--line)}
.wp-block-quote{border-left:3px solid var(--gold)}
.wp-block-table td,.wp-block-table th{border-color:var(--line)}
.screen-reader-text{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap}

/* ============================================================
   MOTION / PRINT
   ============================================================ */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important}
  .rv{opacity:1; transform:none}
  .jart img,.pip{animation:none}
}
@media (hover:none),(pointer:coarse){
  .hero-bg,.band-bg{transform:none !important}
  .jart img{animation:none}
}
@media print{
  body{background:#fff; color:#111}
  .hdr,.ftr,.hero-bg,.band-bg,.menu-btn,.btn{display:none !important}
  .glass,.maj-plan,.maj-card{border:1px solid #ccc; box-shadow:none; background:#fff}
  h1,h2,h3,p,li{color:#111 !important}
}

/* WP admin bar sits above a sticky header */
body.admin-bar .hdr{top:32px}
@media (max-width:782px){body.admin-bar .hdr{top:46px}}
