/*
 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
*/

/* nextgym-contact */
/* Specificity is deliberately raised (.ng-contact a.…): ACSS link styles load after
   the child stylesheet and otherwise win on typography. */
.ng-contact { display:flex; flex-direction:column; gap:1rem; }
.ng-contact .ng-contact__label { font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.15rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--action); }
.ng-contact .ng-contact__row { display:flex; flex-wrap:wrap; gap:.8rem; }
.ng-contact a.ng-contact__btn { flex:1 1 auto; min-width:12rem; text-align:center; padding:1.3rem 1.6rem; font-family:Oswald,"Arial Narrow",sans-serif; font-size:1.5rem; font-weight:500; letter-spacing:.09em; text-transform:uppercase; line-height:1.1; text-decoration:none; border:2px solid #39424F; color:#FFFFFF; background-color:transparent; border-radius:0; transition:border-color .15s ease, background-color .15s ease, color .15s ease; }
.ng-contact a.ng-contact__btn:hover, .ng-contact a.ng-contact__btn:focus-visible { border-color:var(--action); color:var(--action); background-color:transparent; }
.ng-contact a.ng-contact__btn.is-primary { background-color:var(--action); border-color:var(--action); color:#0B0E12; font-weight:600; }
.ng-contact a.ng-contact__btn.is-primary:hover, .ng-contact a.ng-contact__btn.is-primary:focus-visible { background-color:#FFD449; border-color:#FFD449; color:#0B0E12; }
.ng-contact .ng-contact__note { font-size:1.2rem; line-height:1.5; color:var(--secondary); padding-left:1.2rem; border-left:3px solid #39424F; margin:0; }
.ng-contact .ng-contact__none { font-size:1.4rem; color:var(--secondary); margin:0; }
/* sms: links only resolve on a device with a messaging app. Hide by default and
   reveal on a touch device OR a narrow viewport, rather than trying to detect desktop. */
.ng-contact a.ng-contact__btn.is-mobile-only { display:none; }
@media (pointer:coarse), (max-width:640px) { .ng-contact a.ng-contact__btn.is-mobile-only { display:flex; } }

/* 'Log in' lives in the header on desktop; surface it in the mobile menu only,
   because the header link is hidden on very small screens. */
li.ng-nav-login { display: none; }
ul.bricks-mobile-menu li.ng-nav-login { display: list-item; }

/* nextgym-contact-form */
.ng-form { display:flex; flex-direction:column; gap:2rem; max-width:56rem; }
.ng-form .ng-form__row { display:flex; flex-direction:column; gap:.6rem; padding-top:1.6rem; border-top:2px solid #232A34; }
.ng-form .ng-form__row.has-error { border-top-color:var(--accent); }
.ng-form .ng-form__toggle { display:flex; align-items:center; gap:.8rem; cursor:pointer; font-family:Oswald,"Arial Narrow",sans-serif; font-size:1.7rem; font-weight:500; text-transform:uppercase; letter-spacing:.04em; color:#FFFFFF; }
.ng-form .ng-form__toggle input { width:1.8rem; height:1.8rem; accent-color:#FFC400; cursor:pointer; }
.ng-form .ng-form__input { width:100%; padding:1.2rem 1.4rem; background:#0B0E12; border:2px solid #39424F; border-radius:0; color:#FFFFFF; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.5rem; }
.ng-form .ng-form__input:focus { outline:none; border-color:var(--action); }
.ng-form .ng-form__hint { margin:0; font-size:1.25rem; line-height:1.5; color:var(--secondary); }
.ng-form .ng-form__error { margin:0; font-size:1.3rem; font-weight:600; color:#E2743F; }
.ng-form .ng-form__submit { align-self:flex-start; padding:1.4rem 2.6rem; background:var(--action); border:2px solid var(--action); border-radius:0; color:#0B0E12; font-family:Oswald,"Arial Narrow",sans-serif; font-size:1.5rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; cursor:pointer; }
.ng-form .ng-form__submit:hover { background:#FFD449; border-color:#FFD449; }
.ng-form .ng-form__note { margin:0; font-size:1.25rem; line-height:1.5; color:var(--secondary); padding-left:1.2rem; border-left:3px solid #39424F; }
.ng-form .ng-form__notice { margin:0; padding:1.2rem 1.4rem; font-size:1.4rem; border-left:4px solid; }
.ng-form .ng-form__notice--ok { border-color:#3DD68C; color:#3DD68C; background:rgba(61,214,140,.08); }
.ng-form .ng-form__notice--warn { border-color:#FFC400; color:#FFC400; background:rgba(255,196,0,.08); }
.ng-form .ng-form__notice--error { border-color:#E2743F; color:#E2743F; background:rgba(226,116,63,.08); }

/* nextgym-seller-profile */
.ng-seller { display:flex; flex-direction:column; gap:1.2rem; }
.ng-seller .ng-seller__eyebrow { margin:0; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.2rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--action); }
.ng-seller .ng-seller__name { margin:0; font-family:Oswald,"Arial Narrow",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.015em; line-height:1.02; font-size:clamp(3rem,5.5vw,5.4rem); color:#FFFFFF; }
.ng-seller .ng-seller__facts { margin:0; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.3rem; letter-spacing:.04em; color:var(--secondary); }
.ng-seller .ng-contact { margin-top:.6rem; }
.ng-seller .ng-contact__row { max-width:56rem; }

/* nextgym-seller-link */
.ng-sellerlink { margin:0; font-size:1.45rem; color:var(--secondary); }
.ng-sellerlink a { color:#FFFFFF; font-weight:600; text-decoration:none; border-bottom:2px solid var(--action); }
.ng-sellerlink a:hover { color:var(--action); }
.ng-sellerlink .ng-sellerlink__more { font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.2rem; color:var(--secondary); }

/* nextgym-pricing */
.ng-plans { display:grid; grid-template-columns:repeat(3,1fr); column-gap:1.6rem; row-gap:1.6rem; align-items:stretch; margin-top:2.8rem; }
@media (max-width:900px){ .ng-plans { grid-template-columns:1fr; row-gap:3.4rem; } }
.ng-plan { position:relative; display:flex; flex-direction:column; gap:1.2rem; padding:2.4rem; background:#14181F; border-top:4px solid #39424F; }
.ng-plan.is-highlight { border-top-color:var(--action); background:#181D26; }
.ng-plan.is-current { outline:2px solid #3DD68C; outline-offset:-2px; }
.ng-plan .ng-plan__flag { position:absolute; left:0; top:0; transform:translateY(-100%); margin:0; padding:.5rem 1.1rem; background:var(--action); color:#0B0E12; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.05rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }
.ng-plan .ng-plan__name { margin:0; font-family:Oswald,"Arial Narrow",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.015em; font-size:2.6rem; line-height:1.02; color:#FFFFFF; }
.ng-plan .ng-plan__price { margin:0; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.9rem; font-weight:600; color:var(--action); }
.ng-plan .ng-plan__blurb { margin:0; font-size:1.4rem; line-height:1.5; color:var(--secondary); }
.ng-plan .ng-plan__specs { margin:0; display:flex; flex-direction:column; border-top:1px solid #232A34; }
.ng-plan .ng-plan__spec { display:flex; justify-content:space-between; gap:1.2rem; padding:.9rem 0; border-bottom:1px solid #232A34; }
.ng-plan .ng-plan__spec dt { font-size:1.3rem; color:var(--secondary); }
.ng-plan .ng-plan__spec dd { margin:0; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.3rem; font-weight:500; color:#FFFFFF; text-align:right; }
.ng-plan .ng-plan__yes { color:#3DD68C; }
.ng-plan .ng-plan__no { color:#4A5563; }
.ng-plan a.ng-plan__cta { margin-top:auto; display:block; text-align:center; padding:1.4rem 2rem; background:var(--action); border:2px solid var(--action); color:#0B0E12; font-family:Oswald,"Arial Narrow",sans-serif; font-size:1.5rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; text-decoration:none; }
.ng-plan a.ng-plan__cta:hover { background:#FFD449; border-color:#FFD449; }
.ng-plan a.ng-plan__cta.is-ghost { background:transparent; border-color:#39424F; color:#FFFFFF; }
.ng-plan a.ng-plan__cta.is-ghost:hover { border-color:var(--action); color:var(--action); background:transparent; }
.ng-plan .ng-plan__current { margin:auto 0 0; padding:1.4rem; text-align:center; font-family:Oswald,"Arial Narrow",sans-serif; font-size:1.4rem; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#3DD68C; border:2px solid #3DD68C; }
.ng-plans__note { margin:2rem 0 0; font-size:1.35rem; line-height:1.55; color:var(--secondary); padding-left:1.4rem; border-left:3px solid #39424F; max-width:70ch; }

/* nextgym-badge */
.ng-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .8rem; background:rgba(61,214,140,.12); border:1px solid #3DD68C; color:#3DD68C; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.05rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.ng-badge::before { content:""; width:.7rem; height:.7rem; border-radius:50%; background:#3DD68C; flex:none; }
.ng-featured { display:inline-flex; align-items:center; padding:.35rem .8rem; background:var(--action); color:#0B0E12; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.05rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.ng-seller .ng-seller__badge { margin:0; }

/* nextgym-seller-stats */
.ng-stats { display:flex; flex-direction:column; gap:1.6rem; }
.ng-stats .ng-stats__row { display:flex; gap:1.8rem; align-items:flex-start; padding:1.8rem; background:#14181F; border-left:4px solid #39424F; }
.ng-stats .ng-stats__row.is-full { border-left-color:var(--accent); }
.ng-stats .ng-stats__figure { font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:3.4rem; font-weight:600; line-height:1; color:#FFFFFF; white-space:nowrap; }
.ng-stats .ng-stats__figure span { font-size:1.6rem; color:var(--secondary); }
.ng-stats .ng-stats__meta { flex:1; display:flex; flex-direction:column; gap:.7rem; min-width:0; }
.ng-stats .ng-stats__label { margin:0; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.15rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--action); }
.ng-stats .ng-stats__note { margin:0; font-size:1.3rem; line-height:1.5; color:var(--secondary); }
.ng-stats .ng-stats__note a { color:var(--action); }
.ng-stats .ng-stats__bar { height:6px; background:#232A34; overflow:hidden; }
.ng-stats .ng-stats__bar span { display:block; height:100%; background:var(--action); }
.ng-stats .is-full .ng-stats__bar span { background:var(--accent); }
.ng-stats .ng-stats__panel { padding:1.8rem; background:#14181F; border-top:3px solid #232A34; }
.ng-stats .ng-stats__panel h3 { margin:0 0 1.2rem; font-family:Oswald,"Arial Narrow",sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.04em; font-size:1.7rem; color:#FFFFFF; }
.ng-stats .ng-stats__panel dl { margin:0; display:flex; flex-direction:column; }
.ng-stats .ng-stats__panel dl > div { display:flex; justify-content:space-between; gap:1.6rem; padding:.8rem 0; border-bottom:1px solid #232A34; }
.ng-stats .ng-stats__panel dt { font-size:1.35rem; color:var(--secondary); min-width:0; }
.ng-stats .ng-stats__panel dt a { color:#FFFFFF; text-decoration:none; }
.ng-stats .ng-stats__panel dt a:hover { color:var(--action); }
.ng-stats .ng-stats__panel dd { margin:0; font-family:"IBM Plex Mono",ui-monospace,Menlo,monospace; font-size:1.35rem; font-weight:600; color:var(--action); }

.ng-seller .ng-seller__banner { width:100%; max-height:22rem; object-fit:cover; display:block; }
.ng-seller .ng-seller__logo { width:8rem; height:8rem; object-fit:contain; background:#14181F; padding:.8rem; display:block; }
.ng-seller .ng-seller__blurb { margin:0; font-size:1.55rem; line-height:1.6; color:#C4CCD6; max-width:62ch; }
.ng-form .ng-form__thumb { max-width:12rem; border:2px solid #232A34; }
.ng-form .ng-form__thumb.is-wide { max-width:100%; }


/* ---- Legal pages (privacy, terms) ---- */
.ng-legal{max-width:74ch;margin-inline:auto}
.ng-legal h2{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;font-size:clamp(2.16rem,2.4vw,2.96rem);line-height:1.15;margin:4.8rem 0 1.12rem;padding-top:2.56rem;border-top:2px solid var(--ng-line,#2A3038)}
.ng-legal h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.ng-legal h3{font-family:'Oswald',sans-serif;font-weight:500;font-size:1.73rem;letter-spacing:.01em;margin:3.2rem 0 0.64rem}
.ng-legal p,.ng-legal li{line-height:1.75}
.ng-legal p{margin:0 0 1.6rem}
.ng-legal ul{padding-left:2rem;margin:0 0 2.24rem}
.ng-legal li{list-style:disc;margin:0.72rem 0}
.ng-legal a{color:var(--ng-hazard,#FFC400);text-underline-offset:3px}
.ng-legal__meta{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.25rem;letter-spacing:.05em;text-transform:uppercase;color:var(--ng-steel,#7C8899);border-left:3px solid var(--ng-hazard,#FFC400);padding-left:1.44rem;margin:0 0 4.8rem}
.ng-legal__note{border:1px solid var(--ng-hazard,#FFC400);padding:1.76rem 2.08rem;margin:2.56rem 0}
.ng-legal__note p:last-child{margin-bottom:0}
.ng-legal__todo{background:var(--ng-oxide,#C2410C);color:#fff;padding:.1em .45em;font-weight:600}


/* ---- Bump to top (seller dashboard) ---- */
.ng-bump{margin:0.96rem 0 0}
.ng-bump__btn{font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:1.25rem;line-height:1;padding:0.99rem 1.6rem;border:0;border-radius:0;background:var(--ng-hazard,#FFC400);color:#0B0E12;cursor:pointer;transition:filter .15s ease}
.ng-bump__btn:hover{filter:brightness(1.12)}
.ng-bump__btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ng-bump--done,.ng-bump--wait,.ng-bump--upsell{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;margin:0.96rem 0 0}
.ng-bump--done{color:var(--ng-hazard,#FFC400)}
.ng-bump--wait{color:var(--ng-steel,#7C8899)}
.ng-bump--upsell a{color:var(--ng-steel,#7C8899);text-decoration:underline;text-underline-offset:3px}
.ng-bump--upsell a:hover{color:var(--ng-hazard,#FFC400)}
.ng-bump__err{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.15rem;text-transform:uppercase;color:var(--ng-oxide,#C2410C);margin:0.96rem 0 0}


/* ---- Auth forms (login / join / reset) ---- */
.ng-auth{display:flex;flex-direction:column;gap:0;max-width:41.6rem}
.ng-auth__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ng-auth__lab{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.15rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ng-steel,#7C8899);margin:2.24rem 0 0.72rem}
.ng-auth__in{width:100%;background:#0B0E12;border:1px solid #39424F;border-radius:0;color:#fff;font-size:1.6rem;padding:1.36rem 1.44rem;font-family:inherit}
.ng-auth__in:focus{outline:0;border-color:var(--ng-hazard,#FFC400)}
.ng-auth__hint{font-size:1.25rem;color:var(--ng-steel,#7C8899);margin:0.64rem 0 0}
.ng-auth__check{display:flex;gap:0.96rem;align-items:flex-start;font-size:1.41rem;line-height:1.5;color:#C7CDD6;margin:2.08rem 0 0}
.ng-auth__check input{margin-top:0.35rem;accent-color:var(--ng-hazard,#FFC400);flex:0 0 auto}
.ng-auth__check a{color:var(--ng-hazard,#FFC400);text-underline-offset:3px}
.ng-auth__btn{margin-top:2.88rem;width:100%;background:var(--ng-hazard,#FFC400);color:#0B0E12;border:0;border-radius:0;cursor:pointer;font-family:'Oswald',sans-serif;font-weight:600;font-size:1.84rem;letter-spacing:.08em;text-transform:uppercase;padding:1.6rem 1.92rem;transition:filter .15s ease}
.ng-auth__btn:hover{filter:brightness(1.1)}
.ng-auth__alt{font-size:1.41rem;color:var(--ng-steel,#7C8899);margin:1.6rem 0 0}
.ng-auth__alt a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ng-auth__alt a:hover{color:var(--ng-hazard,#FFC400)}
.ng-auth__errs{list-style:none;margin:0 0 0.64rem;padding:1.44rem 1.6rem;border-left:3px solid var(--ng-oxide,#C2410C);background:rgba(194,65,12,.12)}
.ng-auth__errs li{font-size:1.41rem;color:#F3D5C8;margin:0.32rem 0;list-style:none}
.ng-auth__sent{padding:1.6rem 1.92rem;border-left:3px solid var(--ng-hazard,#FFC400);background:rgba(255,196,0,.08);color:#C7CDD6;max-width:41.6rem}
.ng-acct{display:inline-flex;gap:1.6rem;align-items:center}
.ng-acct{white-space:nowrap}
.ng-acct a{color:#fff;font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:1.4rem;white-space:nowrap}
.ng-acct a:hover{color:var(--ng-hazard,#FFC400)}
.ng-acct__out{color:var(--ng-steel,#7C8899)!important}


/* ---- Watchlist ---- */
.ng-watch-f{display:inline-block;margin:0}
a.ng-watch,.ng-watch{display:inline-block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;padding:0.88rem 1.44rem;border:1px solid #39424F;background:transparent;color:#C7CDD6;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}
.ng-watch:hover{border-color:var(--ng-hazard,#FFC400);color:var(--ng-hazard,#FFC400)}
.ng-watch.is-on{border-color:var(--ng-hazard,#FFC400);background:var(--ng-hazard,#FFC400);color:#0B0E12}
.ng-watch--own{border-style:dashed;cursor:default;color:var(--ng-steel,#7C8899)}
.ng-watch--own:hover{border-color:#39424F;color:var(--ng-steel,#7C8899)}
.ng-watchn{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.12rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ng-hazard,#FFC400)}
.ng-wl{display:flex;flex-direction:column;border-top:1px solid #232A33}
.ng-wl__row{display:flex;gap:1.76rem;align-items:center;padding:1.6rem 0;border-bottom:1px solid #232A33}
.ng-wl__row.is-sold{opacity:.55}
.ng-wl__thumb{flex:0 0 92px;line-height:0}
.ng-wl__thumb img{width:92px;height:70px;object-fit:cover;display:block}
.ng-wl__noimg{display:block;width:92px;height:70px;background:#1A1F27}
.ng-wl__meta{display:flex;flex-direction:column;gap:0.32rem;flex:1 1 auto;min-width:0}
.ng-wl__title{font-family:'Oswald',sans-serif;font-weight:500;font-size:1.68rem;color:#fff;text-decoration:none;line-height:1.25}
.ng-wl__title:hover{color:var(--ng-hazard,#FFC400)}
.ng-wl__price{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.31rem;color:var(--ng-hazard,#FFC400)}
.ng-wl__seller{font-size:1.25rem;color:var(--ng-steel,#7C8899)}
.ng-wl__act{flex:0 0 auto}
.ng-wl__empty,.ng-wl__gone{color:var(--ng-steel,#7C8899);font-size:1.52rem;margin:1.28rem 0 0}
.ng-wl__empty a{color:var(--ng-hazard,#FFC400)}
@media (max-width:560px){.ng-wl__row{flex-wrap:wrap}.ng-wl__act{width:100%}}


/* ---- Member dashboard ---- */
.ng-dnav{display:flex;flex-wrap:wrap;gap:0.64rem;border-top:1px solid #232A33;border-bottom:1px solid #232A33;padding:0.8rem 0;margin:0 0 0.64rem}
.ng-dnav a{font-family:'Oswald',sans-serif;font-weight:500;font-size:1.28rem;letter-spacing:.07em;text-transform:uppercase;color:#C7CDD6;text-decoration:none;padding:0.8rem 1.36rem;border:1px solid transparent}
.ng-dnav a:hover{color:#0B0E12;background:var(--ng-hazard,#FFC400)}
.ng-dnav__out{margin-left:auto;color:var(--ng-steel,#7C8899)!important}
.ng-dnav__out:hover{background:var(--ng-oxide,#C2410C)!important;color:#fff!important}
.ng-dash__welcome{border-left:3px solid var(--ng-hazard,#FFC400);background:rgba(255,196,0,.08);padding:1.76rem 2.08rem;color:#C7CDD6;line-height:1.6;margin:0 0 1.92rem}
.ng-dash__welcome strong{color:var(--ng-hazard,#FFC400)}
.ng-dash__bar{display:flex;flex-wrap:wrap;gap:2.24rem 3.84rem;align-items:flex-end;justify-content:space-between;padding:1.76rem 0;border-bottom:1px solid #232A33}
.ng-dash__who{display:flex;flex-direction:column;gap:0.32rem}
.ng-dash__hi{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.09rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ng-steel,#7C8899)}
.ng-dash__who strong{font-family:'Oswald',sans-serif;font-weight:600;font-size:2.24rem;color:#fff;text-transform:uppercase;letter-spacing:.02em}
.ng-dash__stats{display:flex;flex-wrap:wrap;gap:2.56rem}
.ng-dash__stat{display:flex;flex-direction:column;gap:0.24rem}
.ng-dash__k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.06rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ng-steel,#7C8899)}
.ng-dash__v{font-family:'Oswald',sans-serif;font-weight:500;font-size:2rem;color:#fff}
.ng-dash__v--plan{color:var(--ng-hazard,#FFC400);text-transform:uppercase;letter-spacing:.04em}
.ng-dash__cap{margin:1.6rem 0 0;padding:1.6rem 1.92rem;border-left:3px solid var(--ng-oxide,#C2410C);background:rgba(194,65,12,.1);color:#E8D5CC;line-height:1.6}
.ng-dash__cap strong{color:#fff}.ng-dash__cap a{color:var(--ng-hazard,#FFC400)}
.ng-plan-now{display:flex;flex-wrap:wrap;align-items:baseline;gap:0.8rem 1.6rem;padding:1.76rem 2.08rem;border:1px solid #39424F;margin:0 0 1.92rem}
.ng-plan-now__k{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.1rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ng-steel,#7C8899)}
.ng-plan-now__v{font-family:'Oswald',sans-serif;font-weight:600;font-size:2.6rem;text-transform:uppercase;color:var(--ng-hazard,#FFC400);line-height:1}
.ng-plan-now__p{color:#C7CDD6;font-size:1.4rem}
.ng-plan-lead{font-size:1.5rem;color:#C7CDD6;line-height:1.65;max-width:60ch;margin:0 0 2.24rem}
.ng-upsell{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.6rem}
.ng-upsell__card{display:flex;flex-direction:column;gap:0.56rem;padding:2.08rem;border:1px solid #39424F;background:#14181F}
.ng-upsell__name{font-family:'Oswald',sans-serif;font-weight:600;font-size:2.6rem;text-transform:uppercase;color:#fff;line-height:1}
.ng-upsell__price{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.9rem;color:var(--ng-hazard,#FFC400)}
.ng-upsell__blurb{color:var(--ng-steel,#7C8899);font-size:1.4rem;margin-bottom:0.64rem}
.ng-upsell__list{list-style:none;margin:0.32rem 0 1.6rem;padding:0}
.ng-upsell__list li{list-style:none;color:#C7CDD6;font-size:1.3rem;padding:0.45rem 0 0.45rem 1.76rem;position:relative}
.ng-upsell__list li:before{content:'';position:absolute;left:0;top:1.15rem;width:0.72rem;height:0.72rem;background:var(--ng-hazard,#FFC400)}
.ng-upsell__cta{margin-top:auto;display:block;text-align:center;padding:1.52rem 1.92rem;background:var(--ng-hazard,#FFC400);color:#0B0E12;font-family:'Oswald',sans-serif;font-weight:600;font-size:1.5rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none}
.ng-upsell__cta:hover{filter:brightness(1.1)}
.ng-upsell__cta--inline{display:inline-block;margin:0 0 1.6rem}
.ng-plan-foot{margin:1.92rem 0 0;color:var(--ng-steel,#7C8899);font-size:1.35rem}
.ng-plan-foot a{color:var(--ng-hazard,#FFC400);text-underline-offset:3px}
@media (max-width:640px){.ng-dash__bar{flex-direction:column;align-items:flex-start}.ng-dnav__out{margin-left:0}}


/* ---- Listing actions + front-end editor ---- */
.ng-lact{display:flex;flex-wrap:wrap;gap:0.64rem;margin:1.12rem 0 0}
.ng-lact__f{margin:0}
a.ng-lact__b,.ng-lact__b{display:inline-block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.09rem;letter-spacing:.07em;text-transform:uppercase;padding:0.8rem 1.28rem;border:1px solid #39424F;background:transparent;color:#C7CDD6;cursor:pointer;text-decoration:none;transition:border-color .15s,color .15s}
.ng-lact__b:hover{border-color:var(--ng-hazard,#FFC400);color:var(--ng-hazard,#FFC400)}
a.ng-lact__b--edit{border-color:var(--ng-hazard,#FFC400);color:var(--ng-hazard,#FFC400)}
a.ng-lact__b--edit:hover{background:var(--ng-hazard,#FFC400);color:#0B0E12}
.ng-lact__b--warn:hover{border-color:var(--ng-oxide,#C2410C);color:var(--ng-oxide,#C2410C)}
.ng-le{max-width:60.8rem}
.ng-le textarea.ng-auth__in{line-height:1.6;resize:vertical}
.ng-le select.ng-auth__in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#7C8899 50%),linear-gradient(135deg,#7C8899 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:3.84rem}
.ng-le__checks{display:flex;flex-wrap:wrap;gap:0.32rem 2.24rem}
.ng-le__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 1.6rem}
.ng-le__ok,.ng-le__err{padding:1.36rem 1.76rem;margin:0 0 1.92rem;max-width:60.8rem;font-size:1.47rem}
.ng-le__ok{border-left:3px solid var(--ng-hazard,#FFC400);background:rgba(255,196,0,.09);color:#E4D9BC}
.ng-le__err{border-left:3px solid var(--ng-oxide,#C2410C);background:rgba(194,65,12,.12);color:#F3D5C8}
.ng-le__foot{display:flex;flex-wrap:wrap;gap:1.6rem;align-items:center;justify-content:space-between;margin:2.56rem 0 0;padding-top:1.92rem;border-top:1px solid #232A33;max-width:60.8rem}
.ng-le__back{color:var(--ng-steel,#7C8899);font-size:1.44rem;text-decoration:none}
.ng-le__back:hover{color:var(--ng-hazard,#FFC400)}


/* ---- Sold listing ---- */
.ng-sold{border:1px solid var(--ng-oxide,#C2410C);background:rgba(194,65,12,.1);padding:1.92rem 2.08rem;margin:0 0 2.24rem}
.ng-sold__tag{display:inline-block;font-family:'Oswald',sans-serif;font-weight:600;font-size:1.84rem;letter-spacing:.14em;text-transform:uppercase;background:var(--ng-oxide,#C2410C);color:#fff;padding:0.48rem 1.28rem;margin-bottom:1.12rem}
.ng-sold__txt{color:#E8D5CC;line-height:1.6;margin:0 0 1.44rem}
.ng-sold__more{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ng-steel,#7C8899);margin:0 0 0.8rem}
.ng-sold__more a{color:var(--ng-hazard,#FFC400)}
.ng-sold__list{list-style:none;margin:0;padding:0}
.ng-sold__list li{list-style:none;display:flex;justify-content:space-between;gap:1.6rem;padding:0.72rem 0;border-bottom:1px solid rgba(255,255,255,.08)}
.ng-sold__list a{color:#fff;text-decoration:none;font-size:1.47rem}
.ng-sold__list a:hover{color:var(--ng-hazard,#FFC400)}
.ng-sold__list span{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:1.28rem;color:var(--ng-hazard,#FFC400);white-space:nowrap}


/* ---- Pricing: align every row across all three plans (ng-plans-subgrid) ----
   Above 900px the three cards share one grid: each card is a subgrid spanning
   every row, so name / price / blurb / each spec / CTA line up no matter how
   differently the text wraps. Below 900px the cards stack one per column, where
   spanning all rows would overlap them - so subgrid is switched off there. */
@media (min-width:901px){
  @supports (grid-template-rows: subgrid){
    .ng-plans{ grid-template-rows: var(--ng-plan-rows); row-gap:0; }
    .ng-plan{ display:grid; grid-template-rows:subgrid; grid-row:1 / -1; gap:0; }
    .ng-plan .ng-plan__specs{ display:grid; grid-template-rows:subgrid; grid-row:span var(--ng-spec-rows); }
    /* flex gap is gone in grid mode, so space the header blocks explicitly */
    .ng-plan .ng-plan__name{ margin:0 0 0.96rem; align-self:start; }
    .ng-plan .ng-plan__price{ margin:0 0 1.44rem; align-self:start; }
    .ng-plan .ng-plan__blurb{ margin:0 0 2.56rem; align-self:start; }
    .ng-plan .ng-plan__spec{ align-items:center; }
    .ng-plan a.ng-plan__cta, .ng-plan .ng-plan__current{ margin-top:2.56rem; align-self:end; }
  }
}
