/* ================================
   WOFFICE / WIKKI / POST REAL FIX
   ================================ */

/* PAGE BACKGROUND */
body.single-post,
body.single-wiki,
body.post-type-archive-wiki,
body.wiki-template-default,
body.single,
body.blog {
  background: #f5f7fb !important;
}

/* MAIN CONTENT CONTAINER */
body.single-post #main,
body.single-wiki #main,
body.blog #main,
body.single #main,
body .site-content,
body #content {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 30px 20px !important;
}

/* WHITE READING CARD */
body.single-post article,
body.single-wiki article,
body .intern-content,
body .content-page,
body .fw-page-builder-content,
body .wiki-page,
body .wiki,
body .post,
body .page {
  background: #ffffff !important;
  border: 1px solid #e6ebf2 !important;
  border-radius: 18px !important;
  box-shadow: 0 10px 35px rgba(15, 23, 42, 0.06) !important;
  padding: 42px 48px !important;
  max-width: 980px !important;
  margin: 0 auto 30px auto !important;
}

/* TARGET WPBAKERY / TEXT BLOCKS */
body .wpb_text_column,
body .wpb_content_element,
body .vc_column-inner,
body .vc_column_container,
body .wpb_wrapper,
body .entry-content,
body .wiki-page-content,
body .post-entry,
body .intern-content {
  color: #334155 !important;
}

/* PARAGRAPHS */
body .wpb_text_column p,
body .wpb_wrapper p,
body .entry-content p,
body .wiki-page-content p,
body article p,
body .intern-content p,
body .content-page p {
  font-size: 17px !important;
  line-height: 1.9 !important;
  color: #475569 !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 0 1.25em 0 !important;
  max-width: 100% !important;
}

/* HEADINGS */
body .wpb_text_column h1,
body .wpb_text_column h2,
body .wpb_text_column h3,
body .wpb_text_column h4,
body .wpb_wrapper h1,
body .wpb_wrapper h2,
body .wpb_wrapper h3,
body .wpb_wrapper h4,
body .entry-content h1,
body .entry-content h2,
body .entry-content h3,
body .entry-content h4,
body .wiki-page-content h1,
body .wiki-page-content h2,
body .wiki-page-content h3,
body .wiki-page-content h4,
body article h1,
body article h2,
body article h3,
body article h4 {
  color: #1e293b !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  margin: 1.7em 0 0.65em 0 !important;
}

/* HEADING SIZES */
body .wpb_text_column h1,
body .wpb_wrapper h1,
body .entry-content h1,
body .wiki-page-content h1,
body article h1 {
  font-size: 34px !important;
}

body .wpb_text_column h2,
body .wpb_wrapper h2,
body .entry-content h2,
body .wiki-page-content h2,
body article h2 {
  font-size: 28px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e9eef5 !important;
}

body .wpb_text_column h3,
body .wpb_wrapper h3,
body .entry-content h3,
body .wiki-page-content h3,
body article h3 {
  font-size: 22px !important;
}

/* LINKS */
body .wpb_text_column a,
body .wpb_wrapper a,
body .entry-content a,
body .wiki-page-content a,
body article a {
  color: #4f46e5 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body .wpb_text_column a:hover,
body .wpb_wrapper a:hover,
body .entry-content a:hover,
body .wiki-page-content a:hover,
body article a:hover {
  color: #312e81 !important;
  text-decoration: underline !important;
}

/* LISTS */
body .wpb_text_column ul,
body .wpb_text_column ol,
body .wpb_wrapper ul,
body .wpb_wrapper ol,
body .entry-content ul,
body .entry-content ol,
body .wiki-page-content ul,
body .wiki-page-content ol {
  margin: 1em 0 1.4em 1.3em !important;
  padding-left: 1.2em !important;
}

body .wpb_text_column li,
body .wpb_wrapper li,
body .entry-content li,
body .wiki-page-content li {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #475569 !important;
  margin-bottom: 0.65em !important;
}

/* BLOCKQUOTE */
body .wpb_text_column blockquote,
body .wpb_wrapper blockquote,
body .entry-content blockquote,
body .wiki-page-content blockquote {
  background: #f8faff !important;
  border-left: 4px solid #4f46e5 !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
  margin: 24px 0 !important;
  color: #334155 !important;
  font-style: italic !important;
}

/* TABLES */
body .wpb_text_column table,
body .wpb_wrapper table,
body .entry-content table,
body .wiki-page-content table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 24px 0 !important;
  background: #fff !important;
  overflow: hidden !important;
  border-radius: 12px !important;
}

body .wpb_text_column th,
body .wpb_wrapper th,
body .entry-content th,
body .wiki-page-content th {
  background: #4f46e5 !important;
  color: #fff !important;
  padding: 14px !important;
  text-align: left !important;
}

body .wpb_text_column td,
body .wpb_wrapper td,
body .entry-content td,
body .wiki-page-content td {
  padding: 14px !important;
  border-bottom: 1px solid #e5e7eb !important;
  color: #475569 !important;
}

/* IMAGES */
body .wpb_text_column img,
body .wpb_wrapper img,
body .entry-content img,
body .wiki-page-content img,
body article img {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 14px !important;
  margin: 24px 0 !important;
}

/* FORCE OUT LIGHT THEME COLORS */
body .wpb_text_column *,
body .wpb_wrapper *,
body .entry-content *,
body .wiki-page-content * {
  text-transform: none !important;
}

body .wpb_text_column p,
body .wpb_wrapper p,
body .entry-content p,
body .wiki-page-content p,
body .wpb_text_column li,
body .wpb_wrapper li,
body .entry-content li,
body .wiki-page-content li,
body .wpb_text_column span,
body .wpb_wrapper span,
body .entry-content span,
body .wiki-page-content span {
  color: #475569 !important;
}

/* REMOVE OVER-WIDE ROW FEEL */
body .vc_row,
body .vc_column_container,
body .wpb_column {
  max-width: 100% !important;
}

/* MOBILE */
@media (max-width: 768px) {
  body.single-post article,
  body.single-wiki article,
  body .intern-content,
  body .content-page,
  body .fw-page-builder-content,
  body .wiki-page,
  body .wiki,
  body .post,
  body .page {
    padding: 24px 20px !important;
    border-radius: 14px !important;
  }

  body .wpb_text_column p,
  body .wpb_wrapper p,
  body .entry-content p,
  body .wiki-page-content p,
  body article p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }

  body .wpb_text_column h1,
  body .wpb_wrapper h1,
  body .entry-content h1,
  body .wiki-page-content h1,
  body article h1 {
    font-size: 28px !important;
  }

  body .wpb_text_column h2,
  body .wpb_wrapper h2,
  body .entry-content h2,
  body .wiki-page-content h2,
  body article h2 {
    font-size: 24px !important;
  }

  body .wpb_text_column h3,
  body .wpb_wrapper h3,
  body .entry-content h3,
  body .wiki-page-content h3,
  body article h3 {
    font-size: 20px !important;
  }
}
/* =====================================================
   NTM WOFFICE + WPBAKERY PROFESSIONAL GLOBAL UI
   Based on uploaded Woffice dashboard styling
   ===================================================== */

/* -------------------------
   GLOBAL PAGE FOUNDATION
   ------------------------- */
body,
body.buddypress,
body.logged-in,
body.page-template-page-dashboard,
body.page-template-page-sidebar,
body.single-post,
body.single-wiki,
body.blog,
#page,
#main,
#content,
#buddypress,
.site-content,
.woffice-page,
.woffice-main-content {
  background: linear-gradient(180deg, #f8fbfd 0%, #edf3f8 100%) !important;
  color: #162636 !important;
  overflow-x: hidden !important;
}

/* -------------------------
   MAIN CONTENT WRAPPERS
   ------------------------- */
#buddypress,
.woffice-main-content,
.site-content,
.content-wrapper,
#content,
.woocommerce,
.woffice-wiki-wrapper,
.woffice-projects-wrapper,
.intern-content,
.content-page,
.fw-page-builder-content,
.entry-content,
.wiki-page-content {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.woffice-main-content,
#buddypress,
.site-content,
#content {
  padding-top: 20px !important;
  padding-bottom: 30px !important;
}

/* -------------------------
   PAGE / ARTICLE / WIKI CARD
   ------------------------- */
article,
.post,
.page,
.wiki,
.wiki-page,
.content-page,
.intern-content,
.fw-page-builder-content,
.entry-content,
.wiki-page-content,
.woffice-project-card,
.woffice-card,
.wpb_wrapper > .wpb_text_column,
.wpb_content_element,
.vc_row > .wpb_column > .vc_column-inner {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(11,35,65,0.10) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 45px rgba(6,23,43,0.08) !important;
}

/* -------------------------
   READING LAYOUT FOR POSTS/WIKI
   ------------------------- */
body.single-post article,
body.single-wiki article,
body.blog article,
body .content-page,
body .intern-content,
body .fw-page-builder-content,
body .wiki-page,
body .wiki,
body .post,
body .page {
  max-width: 980px !important;
  margin: 24px auto !important;
  padding: 36px 40px !important;
}

/* -------------------------
   PAGE TITLES / HEADINGS
   ------------------------- */
.page-title,
.entry-title,
.woffice-page-heading h1,
#buddypress .screen-heading,
#buddypress .bp-navs,
#item-header-content h1,
#item-header-content h2,
.wpb_text_column h1,
.wpb_wrapper h1,
.entry-content h1,
.wiki-page-content h1 {
  font-family: "Poppins", sans-serif !important;
  color: #0b2341 !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.page-title,
.entry-title,
.woffice-page-heading h1,
.wpb_text_column h1,
.wpb_wrapper h1,
.entry-content h1,
.wiki-page-content h1 {
  font-size: clamp(2rem, 3vw, 2.7rem) !important;
}

/* -------------------------
   TEXT / PARAGRAPHS
   ------------------------- */
.wpb_text_column,
.wpb_wrapper,
.entry-content,
.wiki-page-content,
.intern-content,
.content-page,
article {
  color: #334155 !important;
}

.wpb_text_column p,
.wpb_wrapper p,
.entry-content p,
.wiki-page-content p,
.intern-content p,
.content-page p,
article p,
.wpb_text_column span,
.wpb_wrapper span,
.entry-content span,
.wiki-page-content span {
  color: #475569 !important;
  font-size: 17px !important;
  line-height: 1.9 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  margin: 0 0 1.25em 0 !important;
}

/* -------------------------
   CONTENT HEADINGS
   ------------------------- */
.wpb_text_column h1,
.wpb_text_column h2,
.wpb_text_column h3,
.wpb_text_column h4,
.wpb_wrapper h1,
.wpb_wrapper h2,
.wpb_wrapper h3,
.wpb_wrapper h4,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.wiki-page-content h1,
.wiki-page-content h2,
.wiki-page-content h3,
.wiki-page-content h4,
article h1,
article h2,
article h3,
article h4 {
  color: #1e293b !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  letter-spacing: -0.02em !important;
  margin: 1.6em 0 0.65em 0 !important;
}

.wpb_text_column h2,
.wpb_wrapper h2,
.entry-content h2,
.wiki-page-content h2,
article h2 {
  font-size: 28px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e9eef5 !important;
}

.wpb_text_column h3,
.wpb_wrapper h3,
.entry-content h3,
.wiki-page-content h3,
article h3 {
  font-size: 22px !important;
}

/* -------------------------
   LINKS
   ------------------------- */
.wpb_text_column a,
.wpb_wrapper a,
.entry-content a,
.wiki-page-content a,
article a,
#buddypress a {
  color: #4f46e5 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.wpb_text_column a:hover,
.wpb_wrapper a:hover,
.entry-content a:hover,
.wiki-page-content a:hover,
article a:hover,
#buddypress a:hover {
  color: #312e81 !important;
  text-decoration: underline !important;
}

/* -------------------------
   LISTS
   ------------------------- */
.wpb_text_column ul,
.wpb_text_column ol,
.wpb_wrapper ul,
.wpb_wrapper ol,
.entry-content ul,
.entry-content ol,
.wiki-page-content ul,
.wiki-page-content ol,
article ul,
article ol {
  margin: 1em 0 1.4em 1.3em !important;
  padding-left: 1.2em !important;
}

.wpb_text_column li,
.wpb_wrapper li,
.entry-content li,
.wiki-page-content li,
article li {
  font-size: 16px !important;
  line-height: 1.8 !important;
  color: #475569 !important;
  margin-bottom: 0.65em !important;
}

/* -------------------------
   BLOCKQUOTE
   ------------------------- */
.wpb_text_column blockquote,
.wpb_wrapper blockquote,
.entry-content blockquote,
.wiki-page-content blockquote,
article blockquote {
  background: #f8faff !important;
  border-left: 4px solid #4f46e5 !important;
  border-radius: 12px !important;
  padding: 18px 22px !important;
  margin: 24px 0 !important;
  color: #334155 !important;
  font-style: italic !important;
}

/* -------------------------
   TABLES
   ------------------------- */
table,
#buddypress table,
.woffice-table,
.wpb_text_column table,
.wpb_wrapper table,
.entry-content table,
.wiki-page-content table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

table thead th,
#buddypress table thead th,
.wpb_text_column th,
.wpb_wrapper th,
.entry-content th,
.wiki-page-content th {
  color: #627485 !important;
  text-transform: uppercase !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.08em !important;
  font-weight: 800 !important;
  border-bottom: 1px solid rgba(11,35,65,0.08) !important;
  background: #f8fbfd !important;
}

table td,
table th,
#buddypress table td,
#buddypress table th,
.wpb_text_column td,
.wpb_wrapper td,
.entry-content td,
.wiki-page-content td {
  padding: 14px 12px !important;
  color: #162636 !important;
  border-bottom: 1px solid rgba(11,35,65,0.06) !important;
  vertical-align: middle !important;
}

/* -------------------------
   DASHBOARD / WIDGET / PANEL CARDS
   ------------------------- */
#buddypress .item-list,
#buddypress .activity-list,
#buddypress .bp-list,
#buddypress .groups-list,
#buddypress .members-list,
#buddypress .notifications-list,
#buddypress .messages-table,
#buddypress .standard-form,
#buddypress .profile,
#buddypress .register-section,
#buddypress .bp-widget,
.woffice-widget,
.widget,
.box,
#item-body,
.woocommerce-MyAccount-content,
.woffice-project-card,
.woffice-card {
  background: rgba(255,255,255,0.97) !important;
  border: 1px solid rgba(11,35,65,0.12) !important;
  border-radius: 22px !important;
  box-shadow: 0 18px 45px rgba(6,23,43,0.08) !important;
}

/* -------------------------
   PANEL PADDING
   ------------------------- */
#item-body,
.woocommerce-MyAccount-content,
.woffice-widget,
.widget,
#buddypress .bp-widget,
#buddypress .standard-form,
.wpb_text_column,
.wpb_content_element {
  padding: 22px !important;
}

/* -------------------------
   SIDEBAR / MEMBER NAV
   ------------------------- */
#buddypress #item-nav,
#buddypress .bp-navs,
#buddypress .item-list-tabs,
.woffice-sidebar,
.woffice-user-profile,
.woffice-dashboard-sidebar {
  background: linear-gradient(180deg, #06172b 0%, #0b2341 58%, #23496a 100%) !important;
  border-radius: 24px !important;
  border: none !important;
  box-shadow: 0 18px 45px rgba(6,23,43,0.14) !important;
  overflow: hidden !important;
}

#buddypress .item-list-tabs ul li a,
#buddypress .bp-navs ul li a,
#buddypress #item-nav ul li a,
#buddypress .item-list-tabs ul li span {
  color: rgba(255,255,255,0.92) !important;
  font-weight: 700 !important;
  border-radius: 14px !important;
  margin: 4px 8px !important;
  padding: 12px 14px !important;
  transition: all 0.2s ease !important;
}

#buddypress .item-list-tabs ul li.selected a,
#buddypress .item-list-tabs ul li.current a,
#buddypress .bp-navs ul li.selected a,
#buddypress .bp-navs ul li.current a,
#buddypress #item-nav ul li.current a,
#buddypress .item-list-tabs ul li a:hover,
#buddypress .bp-navs ul li a:hover {
  background: rgba(255,255,255,0.12) !important;
  color: #ffffff !important;
  transform: translateX(2px) !important;
}

/* -------------------------
   FORMS
   ------------------------- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
input[type="url"],
select,
textarea,
#buddypress .standard-form input,
#buddypress .standard-form textarea,
#buddypress .standard-form select,
.wpb_wrapper input,
.wpb_wrapper textarea,
.wpb_wrapper select {
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 16px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(11,35,65,0.14) !important;
  background: #ffffff !important;
  color: #162636 !important;
  box-shadow: none !important;
}

textarea,
#buddypress .standard-form textarea,
.wpb_wrapper textarea {
  min-height: 140px !important;
}

input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: #5d86a9 !important;
  box-shadow: 0 0 0 4px rgba(93,134,169,0.12) !important;
}

/* -------------------------
   BUTTONS
   ------------------------- */
button,
input[type="submit"],
input[type="button"],
a.button,
.button,
#buddypress a.button,
#buddypress input[type="submit"],
.woffice-button,
.wpb_wrapper .vc_btn3,
.wpb_wrapper .vc_general.vc_btn3 {
  min-height: 48px !important;
  padding: 0 18px !important;
  border-radius: 999px !important;
  border: none !important;
  background: linear-gradient(135deg, #5d86a9, #8fb1cb) !important;
  color: #06172b !important;
  font-weight: 800 !important;
  box-shadow: 0 12px 24px rgba(93,134,169,0.22) !important;
  transition: all 0.2s ease !important;
}

button:hover,
input[type="submit"]:hover,
a.button:hover,
.button:hover,
#buddypress a.button:hover,
#buddypress input[type="submit"]:hover,
.wpb_wrapper .vc_btn3:hover {
  transform: translateY(-2px) !important;
}

/* -------------------------
   WPBAKERY ROW / COLUMN CONTROL
   ------------------------- */
.vc_row,
.wpb_row,
.vc_column_container,
.wpb_column {
  max-width: 100% !important;
}

.vc_row {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.vc_column_container > .vc_column-inner {
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* -------------------------
   ACTIVITY / LIST ITEMS
   ------------------------- */
#buddypress .activity-list li,
#buddypress .notifications,
#buddypress .thread-list li,
#buddypress .messages-notices,
#buddypress .item-list li {
  background: #f7fbfd !important;
  border: 1px solid rgba(11,35,65,0.08) !important;
  border-radius: 18px !important;
  padding: 14px 16px !important;
  margin-bottom: 12px !important;
}

/* -------------------------
   PROJECT / TASK / GROUP BLOCKS
   ------------------------- */
.woffice-project-card,
.woffice-task-card,
.woffice-event-card,
.woffice-wiki-card,
#buddypress .groups-list li,
#buddypress .members-list li {
  border-radius: 20px !important;
  overflow: hidden !important;
}

/* -------------------------
   FEEDBACK / ALERTS
   ------------------------- */
#buddypress .bp-feedback,
#buddypress .notice,
#buddypress .info,
#buddypress .error,
#buddypress .warning {
  border-radius: 16px !important;
  padding: 16px 18px !important;
  border: 1px solid rgba(11,35,65,0.10) !important;
}

#buddypress .bp-feedback.info,
#buddypress .info {
  background: #edf5fb !important;
  color: #0b2341 !important;
}

/* -------------------------
   MEDIA
   ------------------------- */
img,
iframe,
video,
canvas,
svg {
  max-width: 100% !important;
  height: auto !important;
  border-radius: 14px !important;
}

/* -------------------------
   MOBILE
   ------------------------- */
@media (max-width: 1024px) {
  #buddypress #item-nav,
  .woffice-sidebar,
  .woffice-dashboard-sidebar {
    margin-bottom: 18px !important;
  }
}

@media (max-width: 768px) {
  .page-title,
  .entry-title,
  .woffice-page-heading h1,
  .wpb_text_column h1,
  .wpb_wrapper h1,
  .entry-content h1,
  .wiki-page-content h1 {
    font-size: 1.8rem !important;
  }

  button,
  input[type="submit"],
  a.button,
  .button,
  .wpb_wrapper .vc_btn3 {
    width: 100% !important;
  }

  #buddypress table,
  .wpb_text_column table,
  .wpb_wrapper table,
  .entry-content table,
  .wiki-page-content table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
  }

  body.single-post article,
  body.single-wiki article,
  body .content-page,
  body .intern-content,
  body .fw-page-builder-content,
  body .wiki-page,
  body .wiki,
  body .post,
  body .page {
    padding: 24px 20px !important;
  }

  .wpb_text_column p,
  .wpb_wrapper p,
  .entry-content p,
  .wiki-page-content p,
  article p {
    font-size: 15px !important;
    line-height: 1.8 !important;
  }
}
/* =========================================
   TEXT READABILITY + VISIBILITY FIX
   (WOFFICE + WPBAKERY SAFE LAYER)
   ========================================= */

/* ---------- UNIVERSAL TEXT FIX ---------- */
.wpb_wrapper,
.wpb_text_column,
.entry-content,
.wiki-page-content,
.intern-content,
.content-page,
article,
.vc_column-inner,
.vc_row {
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* Prevent text cut-off */
.wpb_wrapper *,
.wpb_text_column *,
.entry-content *,
.wiki-page-content *,
.vc_column-inner * {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

/* ---------- AUTO CONTRAST FOR LIGHT AREAS ---------- */
.wpb_wrapper p,
.wpb_wrapper span,
.wpb_wrapper li,
.wpb_text_column p,
.wpb_text_column span,
.wpb_text_column li,
.entry-content p,
.entry-content span,
.entry-content li,
.wiki-page-content p,
.wiki-page-content span,
.wiki-page-content li {
  color: #1f2937 !important; /* DARK readable text */
}

/* ---------- DARK / COLORED BACKGROUND FIX ---------- */
/* Detect dark sections (Woffice + WPBakery rows often use dark bg) */
.vc_row[style*="background"],
.vc_row[class*="vc_custom"],
.vc_row[class*="dark"],
.vc_row[class*="bg-"],
.vc_row[class*="primary"],
.vc_row[class*="gradient"] {
  color: #ffffff !important;
}

/* Force white text inside dark blocks */
.vc_row[style*="background"] p,
.vc_row[class*="vc_custom"] p,
.vc_row[class*="dark"] p,
.vc_row[class*="bg-"] p,
.vc_row[class*="primary"] p,
.vc_row[class*="gradient"] p,

.vc_row[style*="background"] span,
.vc_row[class*="vc_custom"] span,
.vc_row[class*="dark"] span,
.vc_row[class*="bg-"] span,

.vc_row[style*="background"] li,
.vc_row[class*="vc_custom"] li {
  color: #ffffff !important;
}

/* ---------- HEADINGS CONTRAST ---------- */
.wpb_wrapper h1,
.wpb_wrapper h2,
.wpb_wrapper h3,
.wpb_wrapper h4,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  color: #0f172a !important;
}

/* White headings in dark sections */
.vc_row[style*="background"] h1,
.vc_row[style*="background"] h2,
.vc_row[style*="background"] h3,
.vc_row[class*="dark"] h1,
.vc_row[class*="dark"] h2,
.vc_row[class*="dark"] h3 {
  color: #ffffff !important;
}

/* ---------- LINKS VISIBILITY ---------- */
.wpb_wrapper a,
.entry-content a {
  color: #4f46e5 !important;
  text-decoration: underline !important;
}

/* Links in dark areas */
.vc_row[style*="background"] a,
.vc_row[class*="dark"] a {
  color: #93c5fd !important;
}

/* ---------- TEXT SHADOW FOR STRONG CONTRAST ---------- */
.vc_row[style*="background"] p,
.vc_row[style*="background"] h1,
.vc_row[style*="background"] h2,
.vc_row[style*="background"] h3 {
  text-shadow: 0 1px 2px rgba(0,0,0,0.35);
}

/* ---------- FIX LINE CUT / OVERFLOW ---------- */
p, span, li {
  overflow: visible !important;
  white-space: normal !important;
}

/* ---------- FORCE READABLE LINE HEIGHT ---------- */
p {
  line-height: 1.8 !important;
}

/* ---------- PREVENT TEXT FROM HIDING IN ROWS ---------- */
.vc_row,
.vc_column-inner {
  overflow: visible !important;
}

/* ---------- MOBILE TEXT FIX ---------- */
@media (max-width: 768px) {
  p, span, li {
    font-size: 15px !important;
    line-height: 1.7 !important;
  }

  .wpb_wrapper,
  .vc_column-inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
/* HERO TEXT VISIBILITY FIX */
.hero,
.hero * {
  color: #ffffff !important;
}

.hero h1,
.hero h2,
.hero h3,
.hero p,
.hero span,
.hero strong,
.hero li,
.hero a {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* stronger readability on dark image background */
.hero h1 {
  color: #ffffff !important;
  text-shadow: 0 3px 10px rgba(0,0,0,0.45) !important;
  position: relative;
  z-index: 2;
}

.hero p {
  color: rgba(255,255,255,0.96) !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.35) !important;
  position: relative;
  z-index: 2;
}

.hero-badge {
  color: #ffffff !important;
  background: rgba(255,255,255,0.12) !important;
  border-color: rgba(255,255,255,0.22) !important;
  position: relative;
  z-index: 2;
}

.hero-stat,
.hero-stat strong,
.hero-stat span {
  color: #ffffff !important;
}

/* make sure the white card stays black */
.hero-card,
.hero-card * {
  color: #000000 !important;
}

.hero-card .small-title {
  color: #5d86a9 !important;
}

/* dark overlay behind text for guaranteed contrast */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(6, 23, 43, 0.55) 0%,
    rgba(6, 23, 43, 0.35) 45%,
    rgba(6, 23, 43, 0.12) 100%
  );
  pointer-events: none;
  z-index: 0;
}

.hero-grid {
  position: relative;
  z-index: 1;
}