/* Discover RIMS brand overrides — navy/teal primary, gold CTA */

:root {
  --heading-color: #0B1B3F;   /* deep navy */
  --accent-color: #0E7C7B;    /* deep teal */
  --accent-bg: #0E7C7B;
  --accent-bg2: #CDE7E6;      /* light teal */
}

/* Primary CTA buttons → warm gold with navy text */
.uxora-default-btn,
.uxora-default-btn.pricing-btn,
.uxora-default-btn.extra-btn,
.uxora-header-btn {
  background-color: #E8A317 !important;
  border-color: #E8A317 !important;
  color: #0B1B3F !important;
}

.uxora-default-btn:hover,
.uxora-default-btn.pricing-btn:hover,
.uxora-default-btn.extra-btn:hover,
.uxora-header-btn:hover {
  background-color: #c9890e !important;
  border-color: #c9890e !important;
  color: #ffffff !important;
}

/* Light/ghost button variant on dark CTA banner stays readable */
.uxora-default-btn.white-btn {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
  color: #0B1B3F !important;
}
.uxora-default-btn.white-btn:hover {
  background-color: #E8A317 !important;
  border-color: #E8A317 !important;
  color: #0B1B3F !important;
}

/* Customer spotlight stat tiles */
.drims-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 40px;
}
.drims-stat {
  flex: 1 1 180px;
  background: #ffffff;
  border: 1px solid #E5E7E8;
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
}
.drims-stat .drims-stat-num {
  font-size: 38px;
  line-height: 1.1;
  font-weight: 800;
  color: #0E7C7B;
  margin-bottom: 8px;
}
.drims-stat .drims-stat-label {
  font-size: 15px;
  color: #4a5168;
  margin: 0;
}
.drims-quote {
  margin-top: 48px;
  background: #0B1B3F;
  color: #ffffff;
  border-radius: 20px;
  padding: 48px;
}
.drims-quote blockquote {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500;
  margin: 0 0 24px;
}
.drims-quote .drims-cite {
  font-size: 16px;
  color: #E8A317;
  font-weight: 600;
}
.drims-context {
  font-size: 15px;
  color: #4a5168;
  margin-top: 12px;
}
@media (max-width: 575px) {
  .drims-quote { padding: 28px; }
  .drims-quote blockquote { font-size: 18px; }
}

/* --- Blade port additions --- */
.drims-marquee { overflow:hidden; }
.drims-marquee-track { display:flex; gap:64px; width:max-content; animation:drims-scroll 22s linear infinite; }
.drims-marquee-track span { font-family:Outfit,sans-serif; font-weight:700; font-size:22px; color:#0B1B3F; white-space:nowrap; }
@keyframes drims-scroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }

.drims-tabs { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:40px; }
.drims-tab { cursor:pointer; padding:12px 22px; border-radius:999px; border:1px solid #d8dbe6; background:#fff; font-weight:600; color:#0B1B3F; }
.drims-tab.active { background:#0E7C7B; border-color:#0E7C7B; color:#fff; }

.drims-faq-item { border:1px solid #E5E7E8; border-radius:14px; padding:22px 26px; margin-bottom:14px; background:#fff; cursor:pointer; }
.drims-faq-q { display:flex; justify-content:space-between; align-items:center; gap:16px; font-weight:700; color:#0B1B3F; font-size:18px; }
.drims-faq-a { margin-top:14px; color:#4a5168; line-height:1.6; }
.drims-faq-item .drims-ic { color:#0E7C7B; font-size:22px; flex:0 0 auto; }

.drims-post-card { display:block; background:#fff; border:1px solid #E5E7E8; border-radius:16px; overflow:hidden; height:100%; color:inherit; text-decoration:none; transition:box-shadow .2s; }
.drims-post-card:hover { box-shadow:0 12px 30px rgba(11,27,63,.10); }
.drims-post-card img { width:100%; height:200px; object-fit:cover; }
.drims-post-card .p-body { padding:24px; }
.drims-post-card h3 { font-size:20px; color:#0B1B3F; margin:8px 0 10px; }
.drims-post-card p { color:#4a5168; font-size:15px; margin:0; }
.drims-badge { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#0E7C7B; }
.drims-article { max-width:760px; margin:0 auto; }
.drims-article h1 { color:#0B1B3F; font-size:clamp(28px,3.4vw,40px); line-height:1.22; font-weight:800; }
.drims-article .drims-article-body { color:#2b3350; font-size:18px; line-height:1.75; }
.drims-article .drims-article-body h2 { color:#0B1B3F; margin-top:36px; font-size:clamp(22px,2.4vw,28px); line-height:1.3; }
.drims-article .drims-article-body img { max-width:100%; border-radius:12px; }

[x-cloak]{display:none!important;}

.drims-article-body a { color:#0E7C7B; font-weight:600; text-decoration:underline; }
.drims-article-body a:hover { color:#0b5f5e; }
.drims-article-body ul li a { text-decoration:none; }
.drims-article-body h2 + ul { margin-top:8px; }

/* ============================================================
   MOBILE RESPONSIVE FIXES
   Kill horizontal overflow + constrain media + scale headings
   ============================================================ */

/* Never allow the page to scroll/clip sideways */
html, body { max-width: 100%; overflow-x: hidden; }

/* No element (esp. the 1316px hero/section screenshots) may force
   the layout wider than the viewport */
img, svg, video, iframe, table, pre { max-width: 100%; }
.uxora-hero-dashboard img,
.uxora-hero-dashboard .overlay img,
.uxora-content-thumb img,
.uxora-content-thumb.thumb2 img,
.drims-post-card img,
.drims-article-body img { max-width: 100%; height: auto; }

/* Marquee must clip, never expand the body */
.drims-marquee { max-width: 100%; overflow: hidden; }

/* ---- Tablet and below ---- */
@media (max-width: 991px) {
  .uxora-hero-section .title { font-size: 42px; line-height: 1.15; }
  .uxora-section-title h2,
  .uxora-default-content h2,
  .uxora-defalt-content .title,
  .uxora-cta-content .title { font-size: 30px; line-height: 1.22; }
  .uxora-hero-content p,
  .uxora-default-content p { font-size: 17px; }
}

/* ---- Phones ---- */
@media (max-width: 575px) {
  .container { padding-left: 18px; padding-right: 18px; }

  .uxora-hero-section .title { font-size: 32px; line-height: 1.18; }
  .uxora-section-title h2,
  .uxora-default-content h2,
  .uxora-defalt-content .title,
  .uxora-cta-content .title { font-size: 25px; line-height: 1.25; }
  .uxora-hero-content p,
  .uxora-default-content p,
  .uxora-section-title p { font-size: 16px; }

  /* Hero CTAs stack full width */
  .uxora-hero-content .d-flex { flex-direction: column; align-items: stretch; }
  .uxora-hero-content .uxora-default-btn { display: block; text-align: center; width: 100%; }

  /* Customer-spotlight stat tiles: one per row, no clipping */
  .drims-stats { gap: 14px; }
  .drims-stat { flex: 1 1 100%; padding: 22px 18px; }
  .drims-stat .drims-stat-num { font-size: 32px; }

  /* Quote + deployment cards comfortable padding */
  .drims-quote { padding: 24px; }
  .drims-quote blockquote { font-size: 18px; }

  /* Tabs wrap & stay tappable */
  .drims-tabs { gap: 8px; }
  .drims-tab { padding: 10px 16px; font-size: 14px; }

  /* Article body sizing */
  .drims-article .drims-article-body { font-size: 16px; }

  /* Generic section padding tighten so content isn't cramped */
  .uxora-section-padding,
  .uxora-section-padding2,
  .uxora-section-padding3,
  .uxora-section-padding4 { padding-top: 56px; padding-bottom: 56px; }
}
