:root {
  --cb-black: #050708;
  --cb-charcoal: #0E1216;
  --cb-graphite: #151A20;
  --cb-iron: #1F262E;
  --cb-gold: #F5B400;
  --cb-amber: #FFCF3A;
  --cb-orange: #D97812;
  --cb-white: #F4F6F8;
  --cb-gray: #AEB6C2;
  --cb-muted: #737D8A;
  --cb-border: #2C343D;
  --cb-border-gold: #C99300;
  --cb-success: #4CC66A;
  --cb-warning: #FFC400;
  --cb-error: #D64545;
  --cb-page-width: min(1280px, calc(100vw - 48px));
}

.cb-site-shell,
.cb-page-shell {
  width: var(--cb-page-width);
  max-width: var(--cb-page-width);
  margin: 0 auto;
  box-sizing: border-box;
}

.wp-block-post-content.is-layout-constrained > .cb-page-shell,
.wp-block-post-content.is-layout-constrained > .cb-site-shell,
.wp-block-post-content.is-layout-constrained > .cb-site-header,
.wp-block-post-content.is-layout-constrained > .cb-site-footer,
.wp-block-post-content.is-layout-constrained > .cb-safety-disclaimer {
  max-width: var(--cb-page-width) !important;
  width: var(--cb-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.cb-site-header,
.cb-site-footer,
.cb-safety-disclaimer,
.cb-page-shell {
  border-radius: 20px;
  color: var(--cb-white);
  background:
    radial-gradient(circle at top right, rgba(245, 180, 0, 0.08), transparent 24%),
    linear-gradient(180deg, var(--cb-graphite) 0%, var(--cb-charcoal) 100%);
  border: 1px solid var(--cb-border);
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.22);
}

.cb-site-header,
.cb-site-footer,
.cb-safety-disclaimer {
  padding: 24px;
  margin: 16px auto;
}

.cb-page-shell {
  padding: 24px;
}

.cb-site-header h1,
.cb-page-shell h1,
.cb-page-shell h2,
.cb-page-shell h3,
.cb-safety-disclaimer strong {
  color: var(--cb-white);
}

.cb-page-shell,
.cb-site-footer,
.cb-safety-disclaimer,
.cb-page-shell p,
.cb-page-shell li {
  color: var(--cb-gray);
}

.cb-page-shell a,
.cb-site-footer a {
  color: var(--cb-amber);
}

.cb-site-kicker {
  color: var(--cb-gold);
  opacity: 1;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}

.cb-lms-shell {
  margin-top: 16px;
  margin-bottom: 16px;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.cb-page-shell .cb-button,
.cb-page-shell .wp-element-button,
.cb-page-shell .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, var(--cb-gold) 0%, #d99d00 100%);
  color: #111;
  border: 1px solid var(--cb-border-gold);
  border-radius: 12px;
  padding: 12px 16px;
  text-decoration: none;
  font-weight: 700;
}

.cb-page-shell hr {
  border: 0;
  border-top: 1px solid var(--cb-border);
  margin: 24px 0;
}

@media (max-width: 900px) {
  :root {
    --cb-page-width: min(100vw - 24px, 1280px);
  }

  .cb-site-header,
  .cb-site-footer,
  .cb-safety-disclaimer,
  .cb-page-shell {
    padding: 18px;
  }
}
