/* =============================================
   RAGE X INTELLIGENCE — Custom Block Styles
   Applied on both frontend and editor
   ============================================= */

/* ── Alert Box ── */
.ragex-alert-box {
  margin: 1.6em 0;
  border-radius: 1px;
}

.ragex-alert-box--breaking {
  background: rgba(154,0,0,.08);
  border: 1px solid rgba(154,0,0,.3);
  border-left: 4px solid #9A0000;
  padding: 14px 16px;
}

.ragex-alert-box--warning {
  background: rgba(204,51,0,.07);
  border: 1px solid rgba(204,51,0,.25);
  border-left: 4px solid #cc3300;
  padding: 14px 16px;
}

.ragex-alert-box--alert {
  background: rgba(204,170,0,.07);
  border: 1px solid rgba(204,170,0,.25);
  border-left: 4px solid #CCAA00;
  padding: 14px 16px;
}

.ragex-alert-box--intel {
  background: rgba(27,54,93,.12);
  border: 1px solid rgba(27,54,93,.3);
  border-left: 4px solid #3a6aaa;
  padding: 14px 16px;
}

.ragex-alert-box--developing {
  background: rgba(50,50,50,.3);
  border: 1px solid rgba(80,80,80,.3);
  border-left: 4px solid #555;
  padding: 14px 16px;
}

.ragex-alert-box__header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.ragex-alert-box__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-block;
  animation: pulse-dot 1.4s ease-in-out infinite;
}

.ragex-alert-box--breaking  .ragex-alert-box__dot { background: #C41C1C; }
.ragex-alert-box--warning   .ragex-alert-box__dot { background: #cc3300; }
.ragex-alert-box--alert     .ragex-alert-box__dot { background: #CCAA00; }
.ragex-alert-box--intel     .ragex-alert-box__dot { background: #3a6aaa; }
.ragex-alert-box--developing .ragex-alert-box__dot { background: #555; animation: none; }

.ragex-alert-box__level {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ragex-alert-box--breaking  .ragex-alert-box__level { color: #C41C1C; }
.ragex-alert-box--warning   .ragex-alert-box__level { color: #cc3300; }
.ragex-alert-box--alert     .ragex-alert-box__level { color: #CCAA00; }
.ragex-alert-box--intel     .ragex-alert-box__level { color: #3a6aaa; }
.ragex-alert-box--developing .ragex-alert-box__level { color: #666; }

.ragex-alert-box__content {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 16px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  line-height: 1.3;
  color: var(--text-p, #E8E8E8);
  margin: 0;
}

/* ── Analysis Label ── */
/* already defined in main style.css */

/* ── Threat Level ── */
.ragex-threat-level {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 7px 16px;
  border-radius: 1px;
  margin: .5em 0 1.2em;
}

.ragex-threat-level--critical { background: #9A0000; }
.ragex-threat-level--high     { background: #cc3300; }
.ragex-threat-level--elevated { background: #9a7800; }
.ragex-threat-level--guarded  { background: #1B365D; }
.ragex-threat-level--low      { background: #1a2e1a; }

.ragex-threat-level__label {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255,255,255,.6);
}

.ragex-threat-level__value {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
}

.ragex-threat-level__context {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 10px;
  letter-spacing: .1em;
  color: rgba(255,255,255,.45);
}

/* ── Intel Quote ── */
.ragex-intel-quote {
  margin: 1.8em 0;
  padding: 20px 24px;
  font-family: var(--font-serif, 'Lora', serif);
  font-style: italic;
  font-size: 17px;
  line-height: 1.75;
  color: var(--text-s, #A0A0A0);
  border-radius: 1px;
}

.ragex-intel-quote--analysis {
  background: rgba(27,54,93,.15);
  border-left: 4px solid #3a6aaa;
}

.ragex-intel-quote--warning {
  background: rgba(204,170,0,.07);
  border-left: 4px solid #CCAA00;
}

.ragex-intel-quote--source {
  background: rgba(154,0,0,.07);
  border-left: 4px solid #9A0000;
}

.ragex-intel-quote p { margin: 0 0 10px; }
.ragex-intel-quote p:last-child { margin-bottom: 0; }

.ragex-intel-quote cite {
  display: block;
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-style: normal;
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-m, #555);
  margin-top: 10px;
}

/* ── Key Facts ── */
.ragex-key-facts {
  margin: 1.5em 0;
  padding: 20px;
  border-radius: 1px;
}

.ragex-key-facts--red {
  background: rgba(154,0,0,.06);
  border: 1px solid rgba(154,0,0,.22);
  border-left: 4px solid #9A0000;
}

.ragex-key-facts--blue {
  background: rgba(27,54,93,.1);
  border: 1px solid rgba(27,54,93,.3);
  border-left: 4px solid #3a6aaa;
}

.ragex-key-facts--yellow {
  background: rgba(204,170,0,.07);
  border: 1px solid rgba(204,170,0,.25);
  border-left: 4px solid #CCAA00;
}

.ragex-key-facts__title {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.ragex-key-facts--red    .ragex-key-facts__title { color: #C41C1C; }
.ragex-key-facts--blue   .ragex-key-facts__title { color: #3a6aaa; }
.ragex-key-facts--yellow .ragex-key-facts__title { color: #CCAA00; }

.ragex-key-facts__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.ragex-key-facts__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 7px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  font-size: 14px;
  color: var(--text-s, #A0A0A0);
  line-height: 1.55;
}

[data-theme="light"] .ragex-key-facts__item,
[data-theme="auto"] .ragex-key-facts__item { border-bottom-color: rgba(0,0,0,.06); }

.ragex-key-facts__item:last-child { border-bottom: none; }

.ragex-key-facts__dot {
  flex-shrink: 0;
  font-size: 9px;
  margin-top: 4px;
}

.ragex-key-facts--red    .ragex-key-facts__dot { color: #9A0000; }
.ragex-key-facts--blue   .ragex-key-facts__dot { color: #3a6aaa; }
.ragex-key-facts--yellow .ragex-key-facts__dot { color: #CCAA00; }

/* ── Divider ── */
.ragex-divider {
  margin: 2em 0;
  display: flex;
  align-items: center;
  gap: 16px;
}

.ragex-divider::before,
.ragex-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border, rgba(255,255,255,.08));
}

.ragex-divider--classified::before,
.ragex-divider--classified::after {
  background: var(--rage-red, #9A0000);
  opacity: .3;
}

.ragex-divider__label {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text-m, #555);
  border: 1px solid var(--border, rgba(255,255,255,.08));
  padding: 3px 12px;
  white-space: nowrap;
}

.ragex-divider--classified .ragex-divider__label {
  color: var(--rage-red, #9A0000);
  border-color: rgba(154,0,0,.3);
}

/* ── Source Card ── */
.ragex-source-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  margin: 1.2em 0;
  background: var(--bg-s1, #141414);
  border: 1px solid var(--border, rgba(255,255,255,.08));
  border-radius: 1px;
  flex-wrap: wrap;
}

.ragex-source-card__type {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text-m, #555);
  background: var(--bg-s2, #1a1a1a);
  border: 1px solid var(--border, rgba(255,255,255,.08));
  padding: 4px 8px;
  white-space: nowrap;
  align-self: flex-start;
  flex-shrink: 0;
}

.ragex-source-card__text {
  flex: 1;
  font-size: 13px;
  color: var(--text-s, #A0A0A0);
  margin: 0;
  line-height: 1.55;
  min-width: 150px;
}

.ragex-source-card__confidence {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  padding: 4px 8px;
  border-radius: 1px;
  flex-shrink: 0;
  align-self: flex-start;
}

.ragex-source-card--confirmed  .ragex-source-card__confidence { background: #1B365D; }
.ragex-source-card--developing .ragex-source-card__confidence { background: #9a7800; }
.ragex-source-card--unverified .ragex-source-card__confidence { background: #9A0000; }

.ragex-source-card__url {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--intel-blue-light, #3a6aaa);
  text-decoration: none;
  width: 100%;
  margin-top: 4px;
  transition: color var(--transition, .18s ease);
}

.ragex-source-card__url:hover { color: #6699cc; }

/* =============================================
   CORE BLOCK STYLE VARIATIONS
   ============================================= */

/* Heading — with red left-border style */
.wp-block-heading.is-style-ragex-section {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  text-transform: uppercase;
  letter-spacing: .04em;
  border-left: 3px solid #9A0000;
  padding-left: 14px;
  font-weight: 800;
}

/* Quote — intelligence style */
.wp-block-quote.is-style-ragex-intel {
  background: rgba(27,54,93,.12);
  border-left: 4px solid #3a6aaa;
  padding: 20px 24px;
  font-family: var(--font-serif, 'Lora', serif);
  font-style: italic;
  font-size: 17px;
}

.wp-block-quote.is-style-ragex-intel cite { color: #555; }

/* Table — intel style */
.wp-block-table.is-style-ragex-intel table {
  border-collapse: collapse;
  width: 100%;
}

.wp-block-table.is-style-ragex-intel th {
  background: var(--bg-s3, #202020);
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-s, #A0A0A0);
  border: 1px solid var(--border, rgba(255,255,255,.08));
  padding: 10px 14px;
  text-align: left;
}

.wp-block-table.is-style-ragex-intel td {
  padding: 10px 14px;
  border: 1px solid var(--border, rgba(255,255,255,.08));
  color: var(--text-s, #A0A0A0);
  font-size: 14px;
}

.wp-block-table.is-style-ragex-intel tr:nth-child(even) td {
  background: var(--bg-s2, #1a1a1a);
}

/* Pullquote — rage style */
.wp-block-pullquote.is-style-ragex-command {
  border-top: 3px solid #9A0000;
  border-bottom: 3px solid #9A0000;
  background: rgba(154,0,0,.06);
  padding: 24px;
}

.wp-block-pullquote.is-style-ragex-command blockquote p {
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-size: clamp(20px, 2.5vw, 28px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--text-p, #E8E8E8);
  line-height: 1.2;
  font-style: normal;
}

/* Separator — ragex style */
.wp-block-separator.is-style-ragex-intel {
  border-top: 1px solid rgba(255,255,255,.08);
  margin: 2.5em 0;
  position: relative;
  overflow: visible;
}

.wp-block-separator.is-style-ragex-command {
  border-top: 2px solid #9A0000;
  opacity: .3;
}

/* Image — intel caption */
.wp-block-image.is-style-ragex-intel figcaption {
  font-family: var(--font-mono, 'IBM Plex Mono', monospace);
  font-size: 11px;
  letter-spacing: .06em;
  color: var(--text-m, #555);
  text-align: left;
  background: var(--bg-s1, #141414);
  padding: 6px 10px;
  border: 1px solid var(--border, rgba(255,255,255,.08));
  border-top: none;
}

/* Cover block — intel overlay */
.wp-block-cover.is-style-ragex-hero {
  border-left: 4px solid #9A0000;
}

/* Buttons — RAGE X style */
.wp-block-button.is-style-ragex-primary .wp-block-button__link {
  background: #9A0000;
  color: #fff;
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  border-radius: 1px;
  padding: 12px 28px;
  font-size: 14px;
  border: none;
  transition: background .18s ease;
}

.wp-block-button.is-style-ragex-primary .wp-block-button__link:hover {
  background: #C41C1C;
}

.wp-block-button.is-style-ragex-outline .wp-block-button__link {
  background: transparent;
  color: #E8E8E8;
  font-family: var(--font-display, 'Barlow Condensed', sans-serif);
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 1px;
  padding: 10px 24px;
  font-size: 13px;
  border: 1px solid rgba(255,255,255,.15);
  transition: border-color .18s ease, color .18s ease;
}

.wp-block-button.is-style-ragex-outline .wp-block-button__link:hover {
  border-color: #9A0000;
  color: #fff;
}

/* Columns — intel layout */
.wp-block-columns.is-style-ragex-intel-grid {
  gap: 3px;
}

.wp-block-columns.is-style-ragex-intel-grid .wp-block-column {
  background: var(--bg-s1, #141414);
  border: 1px solid var(--border, rgba(255,255,255,.08));
  padding: 20px;
}

/* =============================================
   LIGHT MODE OVERRIDES FOR BLOCKS
   ============================================= */
[data-theme="light"] .ragex-alert-box__content,
[data-theme="auto"] .ragex-alert-box__content {
  color: #111;
}

[data-theme="light"] .ragex-source-card,
[data-theme="auto"] .ragex-source-card {
  background: #fff;
  border-color: rgba(0,0,0,.1);
}

[data-theme="light"] .ragex-source-card__type,
[data-theme="auto"] .ragex-source-card__type {
  background: #f0f0f0;
  border-color: rgba(0,0,0,.1);
}

[data-theme="light"] .wp-block-table.is-style-ragex-intel th,
[data-theme="auto"] .wp-block-table.is-style-ragex-intel th {
  background: #e8e8e8;
  border-color: rgba(0,0,0,.1);
}

[data-theme="light"] .wp-block-table.is-style-ragex-intel td,
[data-theme="auto"] .wp-block-table.is-style-ragex-intel td {
  border-color: rgba(0,0,0,.1);
}

[data-theme="light"] .wp-block-table.is-style-ragex-intel tr:nth-child(even) td,
[data-theme="auto"] .wp-block-table.is-style-ragex-intel tr:nth-child(even) td {
  background: #f5f5f5;
}

[data-theme="light"] .wp-block-columns.is-style-ragex-intel-grid .wp-block-column,
[data-theme="auto"] .wp-block-columns.is-style-ragex-intel-grid .wp-block-column {
  background: #fff;
  border-color: rgba(0,0,0,.1);
}
