/* Global / Region / Country preview pages (preview-layout.php).
   Same look as the site's main report page (reportsinglerio.php + css/stylesheet.css): navy #19305a title and
   "Select License" panel, purple #2f016f / navy heading bars, navy table head rows with grey cell borders and a
   light-blue first column, grey FAQ boxes with #005a8d questions, orange #ec7601 Buy Now, navy Request Sample
   (cyan #00aeef on hover). User's rules: solid colours only (no gradients - the main page's navy->purple table
   gradient is drawn solid navy here), no green (Enquiry is cyan). Everything is scoped under .ri-prev (plus the
   breadcrumb, sticky bars and pop-ups this page adds) so the rest of the site is never affected. The engine prints
   some table HTML with inline colours; the !important rules in "tables" restyle them without touching cached HTML. */

.ri-prev, .ri-breadcrumb, .ri-sticky, .ri-mobile-bar, .ri-share-overlay {
  --ri-navy:#19305A;      /* site navy: title, .license panel, table head, Request Sample */
  --ri-purple:#2F016F;    /* main page heading bar */
  --ri-cyan:#00AEEF;      /* site hover / Enquiry */
  --ri-cyan-dk:#0090C7;
  --ri-blue:#005A8D;      /* main page FAQ question / links */
  --ri-orange:#EC7601;    /* site Buy Now (#buybtn) */
  --ri-orange-dk:#CF6700;
  --ri-cell:#D0E5F5;      /* main page table first column */
  --ri-cell-line:#578DBB;
  --ri-hover:#BCD1E3;     /* main page table row hover */
  --ri-grid:#919191;      /* main page table borders */
  --ri-faq:#F1F1F1;       /* main page FAQ box */
  --ri-text:#333;
  --ri-muted:#383838;
  --ri-line:#CFCFCF;
}

.ri-prev, .ri-prev p, .ri-prev li, .ri-prev td, .ri-prev th, .ri-sticky, .ri-mobile-bar { font-family:'Poppins', Arial, Helvetica, sans-serif; }
.ri-prev { max-width:1320px; margin:6px auto 30px; color:var(--ri-text); }
.ri-prev .row { margin-left:0; margin-right:0; }
.ri-prev a { color:var(--ri-blue); }
.ri-prev .ri-anchor { scroll-margin-top:70px; }

/* ---------- breadcrumb ---------- */
.ri-breadcrumb { max-width:1320px; margin:0 auto; }
.ri-breadcrumb .breadcrumb { background:transparent; margin:0; padding:8px 15px 0; font-size:13px; white-space:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.ri-breadcrumb .breadcrumb::-webkit-scrollbar { display:none; }
.ri-breadcrumb .breadcrumb a { color:var(--ri-navy); }
.ri-breadcrumb .breadcrumb > li { display:inline; }
.ri-breadcrumb .breadcrumb > li + li:before { content:"\203A"; padding:0 7px; color:#999; }
.ri-breadcrumb .breadcrumb > li.active { color:#555 !important; font-weight:600; background:none; }

/* ---------- head (main page: .heading-txt-report + .bottom-text) ---------- */
.ri-prev .ri-head { background:#f4f7fb; border:1px solid #dde5ef; border-left:4px solid var(--ri-navy); border-radius:4px; padding:9px 14px 8px; margin:0 0 10px; }   /* page head: own compact panel, set apart from the content (user's choice) */
.ri-prev .ri-head h1 { font-size:20px; line-height:1.35; font-weight:700; color:var(--ri-navy); margin:0 0 2px; padding:0; border:none; }
.ri-prev .ri-head h2 { font-size:13px; line-height:1.45; font-weight:400; color:#8a8a8a; margin:0 0 4px; padding:0; border:none; text-align:left; text-transform:none; background:none; }   /* segment sub-title: small, light grey, right under the H1, no lines (user's choice) */
.ri-prev .ri-meta { margin:0; font-size:13px; color:var(--ri-muted); line-height:1.6; }
.ri-prev .ri-meta b { color:var(--ri-navy); font-weight:600; }
.ri-prev .ri-meta .ri-sep { color:#b9c4d3; margin:0 5px; }
.ri-prev .ri-head-picker { background:none; border:none; border-radius:0; padding:4px 0 8px; }
.ri-prev .ri-scope-chip { display:inline-flex; align-items:center; gap:5px; margin-bottom:6px; padding:2px 10px; font-size:12px; font-weight:600; color:#fff; background:var(--ri-navy); border-radius:4px; }

/* ---------- section links (like the main page's Summary / Table of Content pills) ---------- */
.ri-prev .ri-secnav { display:flex; gap:4px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; margin:0 0 12px; padding:0; border-bottom:2px solid var(--ri-navy); }
.ri-prev .ri-secnav::-webkit-scrollbar { display:none; }
.ri-prev .ri-secnav a { flex:0 0 auto; padding:8px 11px; font-size:13.5px; font-weight:500; color:var(--ri-navy); background:#f7f7f7; border:1px solid #d0d0cf; border-bottom:none; text-decoration:none; white-space:nowrap; }
.ri-prev .ri-secnav a:hover, .ri-prev .ri-secnav a.is-active { background:var(--ri-cyan); border-color:var(--ri-cyan); color:#fff; }
/* Request Sample at the end of the section menu - green gradient (user's choice 2026-10-07, an exception to "never green / no gradients") */
.ri-prev .ri-secnav a.ri-secnav-sample { margin-left:auto; display:inline-flex; align-items:center; gap:6px; font-weight:600; color:#fff; background:linear-gradient(180deg, #3cc463 0%, #1f9d47 55%, #17843a 100%); border:1px solid #17843a; border-bottom:none; border-radius:5px 5px 0 0; text-shadow:0 1px 1px rgba(0,0,0,.18); box-shadow:inset 0 1px 0 rgba(255,255,255,.25); }
.ri-prev .ri-secnav a.ri-secnav-sample:hover, .ri-prev .ri-secnav a.ri-secnav-sample:focus { color:#fff; background:linear-gradient(180deg, #2fb156 0%, #198a3d 55%, #126d30 100%); border-color:#126d30; }
/* smooth attention animation (user's choice): soft brightness / inner-glow pulse + a light shine sweeping across; pauses on hover */
.ri-prev .ri-secnav a.ri-secnav-sample { position:relative; overflow:hidden; animation:ri-sample-glow 2.4s ease-in-out infinite; }
.ri-prev .ri-secnav a.ri-secnav-sample::after { content:''; position:absolute; top:0; bottom:0; left:-60%; width:45%; background:linear-gradient(105deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.45) 50%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); animation:ri-sample-shine 3.6s ease-in-out infinite; pointer-events:none; }
.ri-prev .ri-secnav a.ri-secnav-sample .fa { animation:ri-sample-bob 2.4s ease-in-out infinite; }
.ri-prev .ri-secnav a.ri-secnav-sample:hover, .ri-prev .ri-secnav a.ri-secnav-sample:hover::after, .ri-prev .ri-secnav a.ri-secnav-sample:hover .fa { animation-play-state:paused; }
@keyframes ri-sample-glow { 0%, 100% { filter:brightness(1); box-shadow:inset 0 1px 0 rgba(255,255,255,.25), inset 0 0 0 0 rgba(255,255,255,0); } 50% { filter:brightness(1.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.35), inset 0 0 10px 1px rgba(255,255,255,.28); } }   /* inside the button: the menu clips anything outside it */
@keyframes ri-sample-shine { 0% { left:-60%; } 55%, 100% { left:130%; } }
@keyframes ri-sample-bob { 0%, 100% { transform:translateY(0); } 50% { transform:translateY(2px); } }
@media (prefers-reduced-motion: reduce) { .ri-prev .ri-secnav a.ri-secnav-sample, .ri-prev .ri-secnav a.ri-secnav-sample::after, .ri-prev .ri-secnav a.ri-secnav-sample .fa { animation:none !important; } .ri-prev .ri-secnav a.ri-secnav-sample::after { display:none; } }

/* ---------- report body (main page: .report-content) ---------- */
.ri-prev .ri-body { margin-bottom:16px; }
.ri-prev .ri-body p { line-height:2; padding-bottom:8px; margin:0; }
.ri-prev .ri-body .mt-4 { margin:18px 0; }
.ri-prev .ri-body .mt-4:first-child, .ri-prev .ri-body .ri-anchor:first-child > .mt-4:first-child { margin-top:4px; }
.ri-prev .ri-body .mt-4 h2 { font-size:18px; font-weight:700; color:var(--ri-navy); margin:0 0 10px; padding:2px 0 4px 12px; border-left:4px solid var(--ri-purple); }
.ri-prev .ri-body .mt-4 > ul { list-style-type:square; margin:0; padding:0 0 0 18px; }
.ri-prev .ri-body .mt-4 > ul > li { padding:7px 10px 7px 4px; margin:0; font-size:15px; line-height:1.8; color:var(--ri-text); }
.ri-prev .ri-body .mt-4 > ul > li::marker { color:var(--ri-navy); }
.ri-prev .ri-body .mt-4 li b, .ri-prev .ri-body .mt-4 li strong { color:#222; }
.ri-prev .ri-empty { color:#777; font-style:italic; }
.ri-prev .ri-note { color:#dc3545; }

/* chart (main page: .main-img img) */
.ri-prev .ri-chart-wrap { position:relative; margin:0 0 18px; }
.ri-prev .ri-chart-wrap img { display:block; width:100%; max-width:100%; height:auto; box-shadow:0 0 10px 0 #afa6a6; }
.ri-prev .ri-chart-share-btn { position:absolute; top:10px; right:10px; z-index:2; display:flex; align-items:center; gap:6px; background:#fff; border:1px solid #ccc; border-radius:4px; padding:6px 12px; font-size:13px; font-weight:600; color:var(--ri-navy); }
.ri-prev .ri-chart-share-btn:hover { background:var(--ri-cyan); border-color:var(--ri-cyan); color:#fff; }

/* ---------- tables (teaser / growth tables + Report Scope), like the main page's report tables ---------- */
.ri-prev .ri-body h4 { font-size:16px !important; font-weight:700 !important; color:var(--ri-navy) !important; }
.ri-prev .ri-tsr-card { background:#fff; border-radius:0; box-shadow:0 0 20px 0 #afa6a6; padding:0; margin-bottom:6px; }
.ri-prev .ri-tsr-card > div[style*="border-top"] { margin:0 !important; padding:6px 8px !important; border-top:none !important; }
.ri-prev .ri-tsr-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; }   /* every year shown; scroll bar below (user's choice) */
.ri-prev .ri-tsr-table { border-collapse:collapse; width:100%; min-width:460px; margin:0; box-shadow:none; }
.ri-prev .ri-tsr-table th, .ri-prev .ri-tsr-table td { padding:5px 8px; font-size:14px; font-weight:500; border:1px solid var(--ri-grid) !important; white-space:nowrap; }
.ri-prev .ri-tsr-table th { background:var(--ri-navy) !important; color:#fff !important; font-weight:600; }
.ri-prev .ri-tsr-table td { background:#fff; }
.ri-prev .ri-tsr-table td:first-child { white-space:normal; min-width:130px; background:var(--ri-cell); border-left:1px solid var(--ri-cell-line) !important; color:#222 !important; }
.ri-prev .ri-tsr-table tr:hover td { background:var(--ri-hover); transition:background-color .3s ease; }
.ri-prev .ri-tsr-table tr[style*="e9ebee"] td { background:#e6e9ed !important; font-weight:700; }   /* Total row */
.ri-prev .ri-tsr-table td span[style*="0a7a6a"] { color:var(--ri-blue) !important; }
.ri-prev .report-insights-table { width:100%; min-width:420px; border-collapse:collapse; margin:0; box-shadow:0 0 20px 0 #afa6a6; }
.ri-prev .report-insights-table td, .ri-prev .report-insights-table th { text-align:left !important; padding:6px 10px !important; font-size:14px; font-weight:500; border:1px solid var(--ri-grid) !important; vertical-align:top; }
.ri-prev .report-insights-table tr:first-child td, .ri-prev .report-insights-table th { background:var(--ri-navy); color:#fff; font-weight:600; }
.ri-prev .report-insights-table tr:first-child td strong, .ri-prev .report-insights-table tr:first-child td b { color:#fff; }
.ri-prev .report-insights-table tr:not(:first-child) td:first-child { width:32%; background:var(--ri-cell); border-left:1px solid var(--ri-cell-line) !important; color:#222; font-weight:600; }
.ri-prev .report-insights-table tr:not(:first-child):hover td { background:var(--ri-hover); }
.ri-prev .report-insights-table ul.segments { margin:0; padding-left:18px; list-style:square; }
.ri-prev .report-insights-table ul.segments li { margin-bottom:4px; padding:0; }

/* ---------- section blocks (geo links, scope, author, customize) ---------- */
.ri-prev .ri-card { margin:0 0 20px; }
.ri-prev .ri-section-title { font-size:18px; font-weight:700; color:var(--ri-navy); margin:0 0 12px; padding:2px 0 4px 12px; border-left:4px solid var(--ri-purple); }
.ri-prev .ri-section-title .fa { display:none; }
.ri-prev .ri-geo-chips { display:flex; flex-wrap:wrap; gap:8px; }
.ri-prev .ri-geo-chip { display:inline-flex; align-items:center; gap:6px; padding:6px 12px; border:1px solid #d0d0cf; background:#f7f7f7; color:var(--ri-navy); font-size:14px; font-weight:500; text-decoration:none; }
.ri-prev .ri-geo-chip:hover { background:var(--ri-cyan); border-color:var(--ri-cyan); color:#fff; text-decoration:none; }
.ri-prev .ri-geo-chip.is-current { background:var(--ri-navy); border-color:var(--ri-navy); color:#fff; }
.ri-prev .ri-custom-card { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:12px 15px; background:#efefef; border-left:3px solid #2f79a1; }
.ri-prev .ri-custom-text { margin:0; font-size:14px; color:var(--ri-text); line-height:1.7; }
.ri-prev .ri-custom-btn { flex:0 0 auto; display:inline-flex; align-items:center; gap:6px; padding:10px 14px; border-radius:5px; background:var(--ri-navy); color:#fff !important; font-weight:600; font-size:14px; text-decoration:none !important; white-space:nowrap; }
.ri-prev .ri-custom-btn:hover { background:var(--ri-cyan); }

/* ---------- sidebar (main page: .panel .license / .panel-body / .selectLicense) ---------- */
@media screen and (min-width:992px) {
  .ri-prev > .row { display:flex; align-items:stretch; }   /* sidebar column as tall as the content, so the sidebar can stick */
  .ri-prev > .row:before, .ri-prev > .row:after { display:none; }
  .ri-prev > .row > [class*="col-md-"] { float:none; flex:0 0 auto; }
  /* the WHOLE sidebar (licence + buttons + related reports) stays in view below the top bar (user's choice); never taller
     than the window: the related list gives up height first, down to 120px, and scrolls inside */
  .ri-prev .ri-side-fixed { position:sticky; top:76px; z-index:5; display:flex; flex-direction:column; max-height:calc(100vh - 86px); }
  .ri-prev .ri-side-fixed > * { flex-shrink:0; }
  .ri-prev .ri-side-fixed > .ri-side-related { flex:0 1 auto; min-height:0; display:flex; flex-direction:column; margin-bottom:0; }
  .ri-prev .ri-side-fixed .ri-related { height:auto; max-height:380px; min-height:120px; flex:0 1 auto; }
}

.ri-prev .ri-side-card { background:#fff; margin:0 0 16px; box-shadow:0 0 20px 0 #ddd; }
.ri-prev .ri-side-title { background:var(--ri-navy); color:#fff; font-size:17px; font-weight:600; padding:10px 15px; margin:0; text-align:center; }
.ri-prev .ri-side-body { padding:12px 14px; }
.ri-prev .ri-license-row { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 12px; padding:0 0 10px; border-bottom:1px solid var(--ri-line); font-weight:normal; color:#000; cursor:pointer; }
.ri-prev .ri-license-row input { margin:0 6px 0 0; }
.ri-prev .ri-license-row .ri-price { white-space:nowrap; }
.ri-prev .ri-info-btn { display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border-radius:50%; border:1px solid var(--ri-navy); background:#fff; color:var(--ri-navy); font-size:11px; font-weight:700; font-style:italic; font-family:Georgia, serif; line-height:1; padding:0; margin-left:4px; vertical-align:middle; }
.ri-prev .ri-info-btn:hover { background:var(--ri-navy); color:#fff; }
.ri-prev .ri-buy-btn { display:flex; align-items:center; justify-content:center; gap:6px; width:100%; padding:9px 14px; border:none; border-radius:4px; background:var(--ri-orange); color:#fff; font-size:15px; font-weight:600; }
.ri-prev .ri-buy-btn:hover { background:var(--ri-orange-dk); }
.ri-prev .ri-secure { margin:8px 0 0; font-size:12px; color:#666; text-align:center; }
.ri-prev .ri-side-enquiry, .ri-prev .ri-side-sample { display:flex !important; width:100%; justify-content:center; margin:0 0 16px; padding:11px 12px; font-size:14px; }
.ri-prev .ri-related { list-style:none; margin:0; padding:8px 12px 12px; height:380px; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:var(--ri-navy) #eef0f3; }   /* fixed height, scroll bar for the rest (user's choice) */
.ri-prev .ri-related::-webkit-scrollbar { width:6px; }
.ri-prev .ri-related::-webkit-scrollbar-track { background:#eef0f3; }
.ri-prev .ri-related::-webkit-scrollbar-thumb { background:var(--ri-navy); border-radius:3px; }
@media screen and (max-width:991px) { .ri-prev .ri-related { height:300px; } }
.ri-prev .ri-related li { padding:7px 4px; border-bottom:1px solid #eee; font-size:14px; }
.ri-prev .ri-related li:last-child { border-bottom:none; }
.ri-prev .ri-related li a { color:var(--ri-blue); text-decoration:none; display:flex; gap:8px; align-items:flex-start; }
.ri-prev .ri-related li a:hover { text-decoration:underline; }
.ri-prev .ri-related li .fa { color:#d32f2f; margin-top:3px; }
.ri-prev .ri-related li.ri-current { color:var(--ri-navy); font-weight:700; }
.ri-prev .ri-related li.ri-global a { color:var(--ri-navy); font-weight:700; }
.ri-prev .ri-related .ri-related-head { padding:10px 4px 4px; font-size:12px; font-weight:700; color:#888; text-transform:uppercase; letter-spacing:.4px; border-bottom:none; }

/* ---------- region / country picker ---------- */
.ri-prev .ri-picker-group { font-size:16px; font-weight:700; color:var(--ri-navy); margin:16px 0 8px; padding:2px 0 4px 10px; border-left:4px solid var(--ri-purple); }
.ri-prev .ri-picker { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:8px; }
.ri-prev .ri-picker li a { position:relative; display:block; padding:10px 34px 10px 12px; border:1px solid #d0d0cf; background:#f7f7f7; text-decoration:none; }
.ri-prev .ri-picker li a:hover { background:var(--ri-cyan); border-color:var(--ri-cyan); text-decoration:none; }
.ri-prev .ri-picker li a:hover .ri-picker-name, .ri-prev .ri-picker li a:hover .ri-picker-sub, .ri-prev .ri-picker li a:hover .fa { color:#fff; }
.ri-prev .ri-picker-name { display:block; font-weight:700; font-size:15px; color:var(--ri-navy); }
.ri-prev .ri-picker-sub { display:block; font-size:12.5px; color:#666; margin-top:2px; }
.ri-prev .ri-picker li a .fa { position:absolute; right:12px; top:50%; transform:translateY(-50%); font-size:20px; color:var(--ri-navy); }

/* ---------- buttons (main page: .btn_small .blue / #buybtn / Enquiry) ---------- */
.ri-prev .ri-sample-btn, .ri-sticky .ri-sample-btn, .ri-mobile-bar .ri-sample-btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; padding:10px 14px; border:2px solid #dc3545; border-radius:5px; background:var(--ri-navy); color:#fff; font-weight:600; text-decoration:none; animation:ri-jittery 4s infinite; }
.ri-prev .ri-sample-btn:hover, .ri-sticky .ri-sample-btn:hover { color:#fff; background:var(--ri-cyan); text-decoration:none; animation:none; }
.ri-prev .ri-enquiry-btn { display:inline-flex; align-items:center; gap:6px; padding:10px 14px; border-radius:5px; background:var(--ri-cyan); color:#fff; font-weight:600; text-decoration:none; }
.ri-prev .ri-enquiry-btn:hover { color:#fff; background:var(--ri-cyan-dk); text-decoration:none; }
.ri-prev .ri-cta-row { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:6px 0 20px; }

/* ---------- sticky bars (main page: .fixed-sticky-head-title) ---------- */
.ri-sticky { display:none; position:fixed; top:0; left:0; right:0; z-index:1030; background:#f2f2f2; box-shadow:0 .05rem .3rem rgb(198 198 198); padding:8px 20px 6px; }
.ri-sticky .ri-sticky-inner { max-width:1320px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:15px; }
.ri-sticky .ri-sticky-title { font-size:18px; font-weight:700; color:#03293d; }
.ri-sticky .ri-sticky-meta { margin:2px 0 0; font-size:13px; color:#3685a8; }
.ri-sticky .ri-sticky-actions { display:flex; gap:8px; white-space:nowrap; }
.ri-sticky .ri-sticky-buy { display:inline-flex; align-items:center; gap:6px; padding:10px 14px; border-radius:5px; background:var(--ri-orange); color:#fff; font-weight:600; text-decoration:none; }
.ri-sticky .ri-sticky-buy:hover { color:#fff; background:var(--ri-orange-dk); text-decoration:none; }
.ri-mobile-bar { display:none; }

/* ---------- share / license pop-ups ---------- */
.ri-share-overlay { display:none; position:fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,.45); z-index:1050; align-items:center; justify-content:center; padding:12px; }
.ri-share-overlay.open { display:flex; }
.ri-share-card { background:#fff; border-radius:8px; width:460px; max-width:100%; max-height:90vh; overflow-y:auto; box-shadow:0 10px 30px rgba(0,0,0,.25); padding:18px; position:relative; font-family:'Poppins', Arial, Helvetica, sans-serif; }
.ri-share-card h4 { margin:0 0 14px; font-size:17px; color:var(--ri-navy); font-weight:700; }
.ri-share-close { position:absolute; top:10px; right:14px; font-size:20px; line-height:1; color:#888; background:none; border:none; }
.ri-share-close:hover { color:#333; }
.ri-link-preview-card { border:1px solid #e5e6ea; border-radius:8px; overflow:hidden; margin-bottom:14px; }
.ri-link-preview-card img { display:block; width:100%; }
.ri-link-preview-body { padding:10px 12px 12px; border-top:1px solid #e5e6ea; background:#f7f8fa; }
.ri-link-preview-domain { font-size:11px; font-weight:600; letter-spacing:.4px; text-transform:uppercase; color:#65676b; margin:0 0 4px; }
.ri-link-preview-title { font-size:14px; font-weight:600; color:#050505; line-height:1.35; margin:0 0 4px; }
.ri-link-preview-url { font-size:12px; color:var(--ri-blue); word-break:break-all; margin:0; }
.ri-share-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; margin-bottom:10px; }
.ri-share-item { display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 12px; border-radius:6px; border:none; font-size:14px; font-weight:600; color:#fff; }
.ri-share-item.facebook { background:#1877f2; }
.ri-share-item.linkedin { background:#0a66c2; }
.ri-share-item.x { background:#000; }
.ri-share-item.email { grid-column:1 / -1; background:#e0423b; }
.ri-share-copylink { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; padding:10px 12px; border-radius:6px; border:1px solid var(--ri-navy); background:#fff; color:var(--ri-navy); font-weight:600; font-size:14px; }
.ri-share-copylink:hover { background:#f2f2f2; }
#riLicenseFeatures { text-align:left; padding-left:20px; list-style:square; }
#riLicenseFeatures li { line-height:1.7; color:#333; margin-bottom:6px; font-size:14px; }
#riLicenseNote { font-size:13px; color:#555; margin:0 0 10px; font-style:italic; }

/* ---------- animations (main page: .button-jittery) ---------- */
@keyframes ri-jittery { 5%, 50% { transform:scale(1); } 10% { transform:scale(.95); } 15% { transform:scale(1.08); } 20% { transform:scale(1.08) rotate(-4deg); } 25% { transform:scale(1.08) rotate(4deg); } 30% { transform:scale(1.08) rotate(-2deg); } 35% { transform:scale(1.08) rotate(0); } }
@media (prefers-reduced-motion: reduce) { .ri-sample-btn { animation:none !important; } }

/* ---------- tablet / mobile ---------- */
@media screen and (max-width:991px) {
  .ri-prev .ri-main, .ri-prev .ri-sidebar { padding-left:8px; padding-right:8px; }
  .ri-sticky { display:none !important; }
  .ri-mobile-bar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:1030; gap:8px; padding:8px 10px calc(8px + env(safe-area-inset-bottom)); background:#fff; box-shadow:0 -2px 10px rgba(0,0,0,.18); }
  .ri-mobile-bar a { flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 6px; border-radius:5px; font-size:13px; font-weight:600; color:#fff; text-decoration:none; }
  .ri-mobile-bar .ri-mb-buy { background:var(--ri-orange); }
  .ri-mobile-bar .ri-mb-sample { background:var(--ri-navy); }
  body { padding-bottom:64px; }
}
@media screen and (max-width:768px) {
  .ri-prev .ri-head h1 { font-size:17px; }
  .ri-prev .ri-head h2 { font-size:12px; }
  .ri-prev .ri-meta { font-size:12px; }
  .ri-prev .ri-body .mt-4 h2, .ri-prev .ri-section-title { font-size:16px; }
  .ri-prev .ri-body .mt-4 > ul > li { font-size:14px; padding:5px 6px 5px 2px; }
  .ri-prev .ri-tsr-table { min-width:360px; }
  .ri-prev .ri-tsr-table th, .ri-prev .ri-tsr-table td { padding:4px 5px; font-size:12px; }
  .ri-prev .report-insights-table td, .ri-prev .report-insights-table th { padding:5px 6px !important; font-size:12px; }
  .ri-prev .ri-custom-card { flex-direction:column; align-items:stretch; }
  .ri-prev .ri-cta-row a { flex:1 1 100%; justify-content:center; }
}
@media screen and (max-width:480px) {
  .ri-prev .ri-meta { font-size:11px; }
  .ri-prev .ri-tsr-table { min-width:280px; }
  .ri-prev .report-insights-table { min-width:300px; }
  .ri-prev .ri-picker { grid-template-columns:1fr; }
  .ri-share-grid { grid-template-columns:1fr 1fr; }
}

/* ---------- AI FAQ (ri_generate_faq_html), like the main page's details / summary ---------- */
.ri-prev .ri-faq h2 { font-size:18px; font-weight:700; color:var(--ri-navy); margin:0 0 12px; padding:2px 0 4px 12px; border-left:4px solid var(--ri-purple); }
.ri-prev .ri-faq details { background:var(--ri-faq); border:none; border-radius:8px; padding:10px 15px; margin-bottom:15px; }
.ri-prev .ri-faq summary { cursor:pointer; list-style:none; font-weight:bold; font-size:16px; color:var(--ri-blue); padding:0 22px 0 0; position:relative; background:none; }
.ri-prev .ri-faq summary::-webkit-details-marker { display:none; }
.ri-prev .ri-faq summary:after { content:"\25BC"; position:absolute; right:0; top:3px; font-size:12px; color:var(--ri-blue); }
.ri-prev .ri-faq details[open] summary:after { content:"\25B2"; }
.ri-prev .ri-faq details p { margin:10px 0 0; padding:0; font-size:14px; line-height:1.8; color:var(--ri-text); border:none; }
@media screen and (max-width:768px) { .ri-prev .ri-faq summary { font-size:14px; } }
/* Table of Contents section (user's request 2026-10-07) */
.ri-prev .ri-toc { margin:0 0 12px; padding:0 0 0 22px; columns:2; column-gap:28px; }
.ri-prev .ri-toc li { padding:5px 0; font-size:14px; break-inside:avoid; }
.ri-prev .ri-toc li a { color:var(--ri-navy); text-decoration:none; }
.ri-prev .ri-toc li a:hover { color:var(--ri-cyan); text-decoration:underline; }
.ri-prev .ri-toc-full { display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:5px; background:var(--ri-navy); color:#fff; font-weight:600; font-size:14px; text-decoration:none; }
.ri-prev .ri-toc-full:hover { background:var(--ri-cyan); color:#fff; text-decoration:none; }
@media screen and (max-width:767px) { .ri-prev .ri-toc { columns:1; } }
