/* Static / inner pages (React StaticPages parity — shared max-w-4xl rail) */
.rj-static {
  --rj-static-rail: 56rem;
  background: #fff;
  color: #18181b;
  padding-bottom: 4rem;
}
.rj-static__crumb {
  border-bottom: 1px solid var(--rj-zinc-200); padding: 1.15rem 0; font-size: 12px; font-weight: 600; color: #71717a;
}
.rj-static__crumb .rj-container,
.rj-static__crumb { display: flex; align-items: center; gap: .5rem; }
.rj-static__crumb a {
  color: #71717a; text-decoration: none; display: inline-flex; align-items: center; gap: .25rem;
}
.rj-static__crumb a:hover { color: var(--rj-red); }
.rj-static__crumb strong {
  color: #09090b; text-transform: uppercase; letter-spacing: .06em; font-weight: 800;
}
.rj-static__inner {
  width: 100%;
  max-width: var(--rj-static-rail);
  margin-left: auto;
  margin-right: auto;
  padding: 2.5rem 0.75rem 2rem;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .rj-static__inner { padding-left: 1.25rem; padding-right: 1.25rem; }
}
@media (min-width: 1024px) {
  .rj-static__inner { padding-left: 1.5rem; padding-right: 1.5rem; }
}
@media (min-width: 1280px) {
  .rj-static__inner { padding-left: 2rem; padding-right: 2rem; }
}
.rj-static__head {
  border-bottom: 1px solid var(--rj-zinc-200); padding-bottom: 1.25rem; margin-bottom: 1.75rem; text-align: left;
}
.rj-static__head h1 {
  font-family: var(--font-heading); font-weight: 900; font-size: clamp(1.75rem, 4vw, 2.35rem);
  margin: 0; letter-spacing: -.02em; color: #09090b;
}
.rj-static__sub { margin: .5rem 0 0; font-size: 14px; color: #52525b; line-height: 1.55; max-width: 40rem; }
.rj-static__prose { font-size: 14px; color: #52525b; line-height: 1.7; display: grid; gap: 1rem; }
.rj-static__prose p { margin: 0; }
.rj-static__prose a { color: var(--rj-red); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.rj-static__prose a:hover { color: #991b1b; }

.rj-legal { max-width: 52rem; }
.rj-legal__meta { color: #71717a; font-size: 13px; }
.rj-legal__h {
  margin: .35rem 0 0 !important;
  font-family: var(--font-heading);
  font-size: 15px;
  font-weight: 800;
  color: #09090b;
  letter-spacing: .01em;
}
.rj-legal__h2 {
  margin: 0 0 .35rem !important;
  font-size: 13px;
  font-weight: 800;
  color: #18181b;
}
.rj-legal__ul,
.rj-legal__ol {
  margin: 0;
  padding-left: 1.35rem;
  display: grid;
  gap: .55rem;
}
.rj-legal__ul li,
.rj-legal__ol li { color: #52525b; }
.rj-legal__subsec {
  padding-left: .85rem;
  border-left: 3px solid #e4e4e7;
  display: grid;
  gap: .5rem;
}
.rj-legal--joint {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--rj-zinc-200);
}
.rj-legal__joint-head {
  text-align: center;
  margin-bottom: 1.75rem;
  display: grid;
  gap: .35rem;
}
.rj-legal__joint-head h2 {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 900;
  margin: 0;
  color: #09090b;
}
.rj-legal__joint-head h3 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 800;
  margin: .25rem 0;
  color: #09090b;
}
.rj-legal__joint-head p { margin: 0; color: #52525b; font-size: 14px; line-height: 1.55; }
.rj-legal__sec {
  text-align: center;
  font-family: var(--font-heading);
  font-weight: 900;
  font-size: 1.05rem;
  margin: 1.25rem 0 .35rem;
  color: #09090b;
}

.rj-static__lead { font-size: 1rem; font-weight: 800; color: #18181b; }
.rj-static__callout {
  background: #fafafa; border: 1px solid var(--rj-zinc-200); border-radius: .75rem; padding: 1.15rem;
}
.rj-static__callout h4 { margin: 0 0 .5rem; color: #18181b; font-size: 14px; }
.rj-static__callout ul { margin: 0; padding-left: 1.25rem; }
.rj-static__note {
  padding: .85rem 1rem; background: #fefce8; border: 1px solid #fde047; border-radius: .75rem;
  color: #09090b; font-size: 12px; font-weight: 700;
}
.rj-faq-list { display: grid; gap: 1rem; }
.rj-faq-card {
  background: #fafafa; border: 1px solid var(--rj-zinc-200); border-radius: .75rem; padding: 1.25rem;
}
.rj-faq-card h3 {
  font-family: var(--font-heading); font-size: 1rem; font-weight: 900; margin: 0; color: #09090b;
}
.rj-faq-card p { margin: .55rem 0 0; font-size: 14px; color: #52525b; line-height: 1.6; }
.rj-table-wrap {
  overflow-x: auto; border: 1px solid var(--rj-zinc-200); border-radius: .75rem; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.rj-size-table { width: 100%; border-collapse: collapse; font-size: 12px; text-align: left; }
.rj-size-table thead { background: #09090b; color: #fff; text-transform: uppercase; font-size: 11px; }
.rj-size-table th, .rj-size-table td { padding: .75rem; }
.rj-size-table tbody tr { border-top: 1px solid var(--rj-zinc-200); }
.rj-size-table tbody tr:hover { background: #fafafa; }

.rj-static-form {
  background: #fafafa; border: 1px solid var(--rj-zinc-200); border-radius: 1rem; padding: 1.5rem;
  display: grid; gap: 1rem; text-align: left; width: 100%; box-sizing: border-box;
}
@media (min-width: 640px) {
  .rj-static-form { padding: 2rem; }
}
.rj-static-form__grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .rj-static-form__grid { grid-template-columns: 1fr 1fr; } }
.rj-static-form label { display: grid; gap: .35rem; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; color: #27272a; }
.rj-static-form input,
.rj-static-form select,
.rj-static-form textarea {
  width: 100%; padding: .7rem .9rem; border: 1px solid #d4d4d8; border-radius: .5rem;
  background: #fff; font-size: 14px; font-weight: 500; font-family: inherit; color: #18181b;
}
.rj-static-form input:focus,
.rj-static-form select:focus,
.rj-static-form textarea:focus { outline: none; border-color: #09090b; }
.rj-static-form .rj-btn { justify-self: start; }
#rj-contact-form[hidden],
#rj-contact-form.is-hidden { display: none !important; }
.rj-contact-error {
  margin: 0; color: #b91c1c; font-size: 13px; font-weight: 700; line-height: 1.4;
}
.rj-contact-error[hidden] { display: none !important; }

.rj-order-result {
  margin-top: 1.5rem; background: #fff; border: 2px solid var(--rj-yellow); border-radius: 1rem;
  padding: 1.35rem; box-shadow: 0 12px 28px rgba(0,0,0,.08);
}
.rj-order-result[hidden] { display: none !important; }
.rj-order-result__top {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem;
  padding-bottom: .75rem; border-bottom: 1px solid var(--rj-zinc-200); margin-bottom: 1rem;
}
.rj-order-result__top span { font-size: 11px; font-weight: 800; text-transform: uppercase; color: #a1a1aa; letter-spacing: .06em; }
.rj-order-result__top h3 { font-family: var(--font-heading); font-size: 1.25rem; font-weight: 900; margin: .15rem 0 0; }
.rj-order-result__badge {
  align-self: flex-start; background: #fef9c3; border: 1px solid #fde047; color: #000;
  padding: .3rem .75rem; border-radius: 999px; font-size: 11px; font-weight: 900; text-transform: uppercase;
}
.rj-order-result__grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; font-size: 12px;
}
@media (min-width: 640px) { .rj-order-result__grid { grid-template-columns: repeat(3, 1fr); } }
.rj-order-result__grid span { display: block; color: #71717a; font-weight: 500; margin-bottom: .15rem; }
.rj-order-result__grid strong { color: #18181b; font-size: 13px; }
.rj-order-result__grid .is-eta { color: #047857; }
.rj-order-result__items {
  margin-top: 1rem; padding-top: .75rem; border-top: 1px solid #f4f4f5; font-size: 12px; color: #52525b;
}

.rj-contact-success {
  background: #ecfdf5; border: 1px solid #6ee7b7; border-radius: 1rem; padding: 2rem; text-align: center;
}
.rj-contact-success[hidden] { display: none !important; }
.rj-contact-success__icon { color: #059669; margin-bottom: .5rem; }
.rj-contact-success h3 { font-family: var(--font-heading); font-weight: 900; margin: 0; }
.rj-contact-success p { color: #52525b; font-size: 14px; max-width: 28rem; margin: .5rem auto 1rem; }
.rj-static__toast { margin: .75rem 0 0; color: #047857; font-weight: 700; font-size: 12px; }

/*
 * CHB Track / Support (and other static builder pages):
 * Hero + body share one React max-w-4xl rail. Crumb stays full site container.
 * Note: theme page_hero renders outside .rj-chb-page-hero — target .rj-static--builder > .rj-page-hero.
 * CHB uses .chb-section-inner (hyphen), not .chb-section__inner.
 */
.rj-static--builder > .rj-page-hero,
.rj-static--builder .rj-chb-page-hero .rj-page-hero {
  padding: 2.5rem 0 0;
  border-bottom: 0;
  text-align: left !important;
}
.rj-static--builder > .rj-page-hero > .rj-container,
.rj-static--builder .rj-chb-page-hero .rj-page-hero > .rj-container {
  width: 100%;
  max-width: var(--rj-static-rail) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
  border-bottom: 1px solid var(--rj-zinc-200);
  padding-bottom: 1.25rem;
  box-sizing: border-box;
}
.rj-static--builder > .rj-page-hero .rj-pill,
.rj-static--builder .rj-chb-page-hero .rj-page-hero .rj-pill {
  background: transparent; border: 0; color: var(--rj-red); padding: 0;
  font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase;
  border-radius: 0; margin-bottom: .35rem !important;
  display: block;
}
.rj-static--builder > .rj-page-hero h1,
.rj-static--builder .rj-chb-page-hero .rj-page-hero h1 {
  text-align: left !important;
  font-size: clamp(1.75rem, 4vw, 2.35rem) !important;
  letter-spacing: -.02em;
}
.rj-static--builder > .rj-page-hero p,
.rj-static--builder .rj-chb-page-hero .rj-page-hero p {
  text-align: left !important;
  margin-top: .5rem !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 40rem !important;
  font-size: 14px !important;
  line-height: 1.55;
}

/* Body rail: neutralize CHB 1720px container, match hero padding */
.rj-static--builder .rj-chb-page-body > .chb-section-inner {
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}
.rj-static--builder .rj-chb-page-body .chb-container {
  width: 100% !important;
  max-width: var(--rj-static-rail) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  /* Match .rj-container horizontal padding so hero + form share one left edge */
  padding: 1.75rem 0.75rem 3rem !important;
  box-sizing: border-box;
}
@media (min-width: 640px) {
  .rj-static--builder .rj-chb-page-body .chb-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
}
@media (min-width: 1024px) {
  .rj-static--builder .rj-chb-page-body .chb-container {
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }
}
@media (min-width: 1280px) {
  .rj-static--builder .rj-chb-page-body .chb-container {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}

/* Woo inner pages */
.rj-woo-page { padding-bottom: 3rem; }
.woocommerce .rj-static--builder .woocommerce {
  max-width: var(--rj-static-rail);
  margin: 0 auto;
}

/* Cart / Checkout / Account need a wider rail than Track/Support forms */
.rj-static--cart,
.rj-static--checkout,
.rj-static--my-account {
  --rj-static-rail: 72rem;
}
.rj-static--cart .rj-page-hero > .rj-container,
.rj-static--checkout .rj-page-hero > .rj-container,
.rj-static--my-account .rj-page-hero > .rj-container {
  max-width: var(--rj-static-rail) !important;
}
.rj-static--cart .rj-chb-page-body .chb-container,
.rj-static--checkout .rj-chb-page-body .chb-container,
.rj-static--my-account .rj-chb-page-body .chb-container,
.rj-static--cart .woocommerce,
.rj-static--checkout .woocommerce,
.rj-static--my-account .woocommerce {
  max-width: var(--rj-static-rail) !important;
}
