:root{
  --rtap-navy:#071b3a;
  --rtap-navy-2:#10366f;
  --rtap-blue:#1f6feb;
  --rtap-cyan:#13b5ea;
  --rtap-gold:#f5a623;
  --rtap-orange:#ff7a00;
  --rtap-green:#0e9f6e;
  --rtap-red:#dc3b4c;
  --rtap-purple:#7555d9;
  --rtap-text:#14213d;
  --rtap-muted:#5d6b82;
  --rtap-line:#e2e9f3;
  --rtap-soft:#f5f8fc;
  --rtap-radius:20px;
  --rtap-shadow:0 16px 38px rgba(7,27,58,.10);
}

.rts-pattern-card,
.rts-premium-panel,
.rts-premium-takeaway{
  position:relative;
  box-sizing:border-box;
  margin-block:28px;
  padding:24px;
  overflow:hidden;
  border:1px solid var(--rtap-line);
  border-radius:var(--rtap-radius);
  background:#fff;
  color:var(--rtap-text);
  box-shadow:var(--rtap-shadow);
}
.rts-pattern-card h2,.rts-pattern-card h3,.rts-pattern-card h4,
.rts-premium-panel h2,.rts-premium-panel h3,.rts-premium-panel h4{margin-top:0;color:var(--rtap-navy)}
.rts-pattern-card p:last-child,.rts-premium-panel p:last-child{margin-bottom:0}
.rts-pattern-eyebrow{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  width:auto!important;
  margin:0 0 12px!important;
  padding:7px 11px;
  border-radius:999px;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.03em;
  line-height:1.2!important;
  text-transform:uppercase;
}
.rts-pattern-quick-answer,.rts-premium-quick{border-color:#bed6ff;background:linear-gradient(135deg,#eef5ff,#fff)}
.rts-pattern-quick-answer .rts-pattern-eyebrow,.rts-premium-quick .rts-pattern-eyebrow{color:#fff;background:linear-gradient(135deg,var(--rtap-blue),var(--rtap-cyan))}
.rts-pattern-definition,.rts-premium-definition{border-left:5px solid var(--rtap-blue);background:#f4f8ff}
.rts-pattern-definition .rts-pattern-eyebrow,.rts-premium-definition .rts-pattern-eyebrow{color:#0f4fae;background:#dce9ff}
.rts-pattern-example,.rts-premium-example,.rts-pattern-calculation,.rts-premium-calculation{border-left:5px solid var(--rtap-orange);background:#fff8ef}
.rts-pattern-example .rts-pattern-eyebrow,.rts-premium-example .rts-pattern-eyebrow,.rts-pattern-calculation .rts-pattern-eyebrow,.rts-premium-calculation .rts-pattern-eyebrow{color:#a84800;background:#ffe1bf}
.rts-pattern-did-you-know,.rts-premium-fact{border-left:5px solid var(--rtap-purple);background:#f8f5ff}
.rts-pattern-did-you-know .rts-pattern-eyebrow,.rts-premium-fact .rts-pattern-eyebrow{color:#5632b8;background:#e7ddff}
.rts-pattern-pro-tip,.rts-premium-tip{border-left:5px solid var(--rtap-green);background:#f1fbf7}
.rts-pattern-pro-tip .rts-pattern-eyebrow,.rts-premium-tip .rts-pattern-eyebrow{color:#08754f;background:#ccefe1}
.rts-pattern-investor-note,.rts-premium-note{border-left:5px solid var(--rtap-cyan);background:#f0fbff}
.rts-pattern-investor-note .rts-pattern-eyebrow,.rts-premium-note .rts-pattern-eyebrow{color:#075f7d;background:#d6f3fc}
.rts-pattern-risk-warning,.rts-premium-warning{border-left:5px solid var(--rtap-red);background:#fff4f5}
.rts-pattern-risk-warning .rts-pattern-eyebrow,.rts-premium-warning .rts-pattern-eyebrow{color:#a82231;background:#ffd6dc}
.rts-pattern-disclaimer,.rts-premium-disclaimer{border-left:5px solid #7b8798;background:#f7f8fa;box-shadow:none}

.rts-premium-lesson-header{
  box-sizing:border-box;
  margin:28px 0;
  padding:30px;
  overflow:hidden;
  border-radius:24px;
  color:#fff;
  background:radial-gradient(circle at 90% 15%,rgba(31,111,235,.38),transparent 30%),linear-gradient(135deg,var(--rtap-navy),var(--rtap-navy-2));
  box-shadow:0 20px 50px rgba(7,27,58,.18);
}
.rts-premium-lesson-header h2{margin:4px 0 10px;color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.12}
.rts-premium-lesson-kicker{margin:0 0 8px!important;color:#ffc967;font-size:12px!important;font-weight:900!important;letter-spacing:.12em;text-transform:uppercase}
.rts-premium-lesson-subtitle{max-width:820px;margin:0!important;color:#e5edff;font-size:17px!important;line-height:1.65}
.rts-premium-lesson-meta{display:flex!important;flex-wrap:wrap;gap:9px;margin-top:18px!important}
.rts-premium-lesson-meta p{width:auto!important;margin:0!important;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font-size:13px!important}

.rts-premium-takeaways-wrap{margin-block:30px}
.rts-premium-takeaways-wrap>h2{margin-bottom:14px}
.rts-premium-takeaways{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.rts-premium-takeaway{margin:0;padding:18px;border-radius:16px;box-shadow:0 10px 26px rgba(7,27,58,.07)}
.rts-premium-takeaway p{margin:0;color:var(--rtap-muted)}
.rts-premium-takeaway p:first-child{margin-bottom:7px;color:var(--rtap-navy)}

.rts-premium-split{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
.rts-premium-panel{margin:0;border-radius:18px}
.rts-premium-myth{border-top:5px solid var(--rtap-red);background:#fff6f7}
.rts-premium-fact-panel{border-top:5px solid var(--rtap-green);background:#f4fbf8}
.rts-premium-compare-a{border-top:5px solid var(--rtap-blue);background:#f5f9ff}
.rts-premium-compare-b{border-top:5px solid var(--rtap-orange);background:#fff8ef}
.rts-premium-panel .wp-block-list{margin-bottom:0}

.rts-premium-timeline{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:12px;
  box-sizing:border-box;
  margin:28px 0;
  padding:22px;
  border-radius:20px;
  background:linear-gradient(135deg,var(--rtap-navy),var(--rtap-navy-2));
  color:#fff;
  box-shadow:0 18px 42px rgba(7,27,58,.17);
}
.rts-premium-step{box-sizing:border-box;padding:18px 14px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.08);text-align:center}
.rts-premium-step p{margin:0;color:#fff}
.rts-premium-step p+p{margin-top:8px}
.rts-premium-step small{display:block;color:#dce8ff;font-size:13px;line-height:1.45}
.rts-premium-step-number{display:grid!important;place-items:center;width:34px!important;height:34px;margin:0 auto 10px!important;border-radius:50%;background:linear-gradient(135deg,var(--rtap-orange),var(--rtap-gold));color:#071b3a!important;font-weight:900}

/*
 * Premium Publisher tables only.
 * Do not target the legacy .rts-pattern-comparison class by itself: v1.1.0
 * articles use that class and should continue using the active theme's design.
 */
figure.wp-block-table.rts-premium-table{
  display:block;
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-block:28px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--rtap-line);
  border-radius:18px;
  box-shadow:0 12px 30px rgba(7,27,58,.08);
}
figure.wp-block-table.rts-premium-table table{
  box-sizing:border-box;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
}
figure.wp-block-table.rts-premium-table th{
  box-sizing:border-box;
  min-width:0!important;
  padding:14px 16px;
  background:var(--rtap-navy);
  color:#fff;
  text-align:left;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
figure.wp-block-table.rts-premium-table td{
  box-sizing:border-box;
  min-width:0!important;
  padding:13px 16px;
  border-top:1px solid var(--rtap-line);
  vertical-align:top;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
figure.wp-block-table.rts-premium-table tbody tr:nth-child(even){background:#f8fafd}

.rts-pattern-faq,.rts-premium-faq,.rts-premium-quiz{margin-block:30px}
.rts-pattern-faq .wp-block-details,.rts-premium-faq .wp-block-details,.rts-premium-quiz .wp-block-details{
  box-sizing:border-box;
  margin:10px 0;
  padding:14px 16px;
  border:1px solid var(--rtap-line);
  border-radius:14px;
  background:#fff;
}
.rts-pattern-faq summary,.rts-premium-faq summary,.rts-premium-quiz summary{cursor:pointer;color:var(--rtap-navy);font-weight:800}
.rts-pattern-faq details[open],.rts-premium-faq details[open],.rts-premium-quiz details[open]{border-color:#b9cee9;box-shadow:0 8px 20px rgba(7,27,58,.06)}

.rts-premium-next-wrap{margin-block:30px}
.rts-premium-next{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.rts-premium-next p{margin:0!important}
.rts-premium-next a{display:block;height:100%;box-sizing:border-box;padding:18px;border:1px solid var(--rtap-line);border-radius:16px;background:#fff;color:var(--rtap-navy);text-decoration:none;box-shadow:0 10px 24px rgba(7,27,58,.07);transition:transform .18s ease,border-color .18s ease}
.rts-premium-next a span{display:block;margin-top:7px;color:var(--rtap-muted);font-size:14px;font-weight:500;line-height:1.5}
.rts-premium-next a:hover{transform:translateY(-2px);border-color:#b8cced}

.rts-pattern-official-sources .wp-block-list,.rts-premium-sources .wp-block-list{margin-bottom:0}
.rts-premium-article-image{margin-block:30px}
.rts-premium-article-image img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 14px 34px rgba(7,27,58,.10)}
.rts-premium-article-image figcaption{margin-top:9px;color:var(--rtap-muted);font-size:13px;text-align:center}

@media(max-width:800px){
  figure.wp-block-table.rts-premium-table table{
    min-width:640px!important;
    table-layout:auto;
  }
  .rts-premium-takeaways,.rts-premium-split,.rts-premium-next{grid-template-columns:1fr}
  .rts-premium-timeline{grid-template-columns:1fr}
  .rts-pattern-card,.rts-premium-panel,.rts-premium-takeaway{padding:20px}
  .rts-premium-lesson-header{padding:24px 20px}
}

/*
 * v1.2.2 — Legacy table width repair
 *
 * Older Publisher articles use .rts-pattern-comparison without the newer
 * .rts-premium-table marker. Keep their existing colours and typography, but
 * force the table and every parent content column to respect the available
 * article width beside the sticky table of contents/sidebar.
 */
.single-post .rts-content-layout,
.single-post .rts-content-layout > *,
.single-post .rts-article,
.single-post .rts-entry-content {
  min-width: 0 !important;
  max-width: 100% !important;
}

.single-post .rts-entry-content figure.wp-block-table.rts-pattern-comparison,
.single-post .rts-entry-content figure.wp-block-table.is-style-regalticker-comparison,
.single-post .rts-entry-content .wp-block-table.rts-pattern-comparison,
.single-post .rts-entry-content .wp-block-table.is-style-regalticker-comparison {
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  -webkit-overflow-scrolling: touch;
}

.single-post .rts-entry-content figure.wp-block-table.rts-pattern-comparison > table,
.single-post .rts-entry-content figure.wp-block-table.is-style-regalticker-comparison > table,
.single-post .rts-entry-content .wp-block-table.rts-pattern-comparison > table,
.single-post .rts-entry-content .wp-block-table.is-style-regalticker-comparison > table {
  display: table !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  table-layout: fixed !important;
}

.single-post .rts-entry-content figure.wp-block-table.rts-pattern-comparison th,
.single-post .rts-entry-content figure.wp-block-table.rts-pattern-comparison td,
.single-post .rts-entry-content figure.wp-block-table.is-style-regalticker-comparison th,
.single-post .rts-entry-content figure.wp-block-table.is-style-regalticker-comparison td,
.single-post .rts-entry-content .wp-block-table.rts-pattern-comparison th,
.single-post .rts-entry-content .wp-block-table.rts-pattern-comparison td,
.single-post .rts-entry-content .wp-block-table.is-style-regalticker-comparison th,
.single-post .rts-entry-content .wp-block-table.is-style-regalticker-comparison td {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto;
}

/* Keep desktop tables fully visible; use horizontal scrolling only on narrow screens. */
@media (max-width: 800px) {
  .single-post .rts-entry-content figure.wp-block-table.rts-pattern-comparison > table,
  .single-post .rts-entry-content figure.wp-block-table.is-style-regalticker-comparison > table,
  .single-post .rts-entry-content .wp-block-table.rts-pattern-comparison > table,
  .single-post .rts-entry-content .wp-block-table.is-style-regalticker-comparison > table {
    width: max-content !important;
    max-width: none !important;
    min-width: 680px !important;
    table-layout: auto !important;
  }
}
