/* NL adaptation fixes — keeps the original Porto/WPBakery design intact. */
html, body { overflow-x: hidden; }
body { color: #4b5158; }

/* Preserve original light editorial palette, but increase readability. */
#main p, #main li, #main .vc_custom_heading { text-rendering: optimizeLegibility; }
.intro-content h1.vc_custom_heading { color: #555b62 !important; }
.intro-content h2.vc_custom_heading { color: #737981 !important; }
.intro-content p.vc_custom_heading { color: #686f77 !important; }

/* Text on normal light sections. */
#main .page-content > .vc_row:not([style*="background-color: #3E6FA8"]):not([style*="background-color:#3E6FA8"]) p,
#main .page-content > .vc_row:not([style*="background-color: #3E6FA8"]):not([style*="background-color:#3E6FA8"]) li {
  color: #4f565e;
}
#main .page-content h1,
#main .page-content h2,
#main .page-content h3,
#main .page-content h4 { color: #30363c; }

/* Preserve white copy inside the original saturated/blue work section and footer. */
#main .section-primary p,
#main .section-primary h1,
#main .section-primary h2,
#main .section-primary h3,
#main [style*="background-color: #3E6FA8"] p,
#main [style*="background-color:#3E6FA8"] p,
#main [style*="background-color: #3E6FA8"] h1,
#main [style*="background-color: #3E6FA8"] h2,
#main [style*="background-color:#3E6FA8"] h1,
#main [style*="background-color:#3E6FA8"] h2,
#footer, #footer p, #footer li, #footer h1, #footer h2, #footer h3, #footer h4 {
  color: #fff !important;
}
#footer a:not(.btn) { color: #dbe7ff !important; }

/* Review cards live inside the original blue section. */
.nl-review-card {
  height: 100%;
  padding: 26px 26px 22px;
  border: 1px solid rgba(255,255,255,.26);
  border-radius: 16px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.nl-review-card p, .nl-review-card strong { color: #fff !important; }
.nl-stars { color: #fff; letter-spacing: 2px; margin-bottom: 10px; }

/* Legal pages: improve long-form readability without changing their grid. */
.nl-legal-content { color: #4b5158; }
.nl-legal-content p, .nl-legal-content li { color: #4b5158 !important; line-height: 1.72; }
.nl-legal-content h1, .nl-legal-content h2, .nl-legal-content h3 { color: #2f353b !important; }
.nl-legal-content h2 { margin-top: 30px; margin-bottom: 12px; }

/* Keep stock photos clipped by the original image-frame geometry. */
.vc_single_image-wrapper { overflow: hidden; }
.vc_single_image-wrapper img { width: 100%; height: auto; object-fit: cover; }

/* Animation safety: only used when the original Porto JS fails to initialise. */
[data-appear-animation].nl-anim-fallback-ready { opacity: 0; }
[data-appear-animation].nl-anim-fallback-ready.appear-animation-visible { opacity: 1; }

@media (max-width: 767px) {
  .intro-content h1.vc_custom_heading { font-size: 2.55em !important; line-height: 1.05 !important; }
  .intro-content h2.vc_custom_heading { font-size: 1.65em !important; line-height: 1.2 !important; }
  .nl-review-card { padding: 20px; }
}
