/* NL adaptation fixes & modern design refinements for Luchtlijn Airco */
html, body { overflow-x: hidden; scroll-behavior: smooth; }
body { color: #3f5563; font-feature-settings: "cv02", "cv03", "cv04", "cv11"; }

/* 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: #155E75 !important; }
.intro-content h2.vc_custom_heading { color: #0E7490 !important; }
.intro-content p.vc_custom_heading { color: #4b5a66 !important; }

/* Text on normal light sections. */
#main .page-content > .vc_row:not([style*="background-color: #0E7490"]):not([style*="background-color:#0E7490"]) p,
#main .page-content > .vc_row:not([style*="background-color: #0E7490"]):not([style*="background-color:#0E7490"]) li {
  color: #435a68;
}
#main .page-content h1,
#main .page-content h2,
#main .page-content h3,
#main .page-content h4 { color: #155E75; }

/* 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: #0E7490"] p,
#main [style*="background-color:#0E7490"] p,
#main [style*="background-color: #0E7490"] h1,
#main [style*="background-color: #0E7490"] h2,
#main [style*="background-color:#0E7490"] h1,
#main [style*="background-color:#0E7490"] h2,
#footer, #footer p, #footer li, #footer h1, #footer h2, #footer h3, #footer h4 {
  color: #fff !important;
}
#footer a:not(.btn) { color: #e0f2fe !important; transition: color 0.2s; }
#footer a:not(.btn):hover { color: #38bdf8 !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(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  transition: transform 0.3s ease;
}
.nl-review-card:hover {
  transform: translateY(-4px);
}
.nl-review-card p, .nl-review-card strong { color: #fff !important; }
.nl-stars { color: #F59E0B; letter-spacing: 2px; margin-bottom: 10px; font-size: 1.2rem; }

/* Legal pages: improve long-form readability without changing their grid. */
.nl-legal-content { color: #334155; }
.nl-legal-content p, .nl-legal-content li { color: #475569 !important; line-height: 1.75; font-size: 1.05rem; }
.nl-legal-content h1, .nl-legal-content h2, .nl-legal-content h3 { color: #155E75 !important; }
.nl-legal-content h1 { margin-bottom: 24px; }
.nl-legal-content h2 { margin-top: 36px; margin-bottom: 14px; font-size: 1.5rem; }
.nl-legal-content ul { padding-left: 20px; margin-bottom: 20px; }
.nl-legal-content li { margin-bottom: 8px; }

/* Company Disclosures Box for Legal / Contact */
.nl-company-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 4px solid #22B8CF;
  border-radius: 8px;
  padding: 20px 24px;
  margin: 25px 0;
}
.nl-company-box strong { color: #155E75; }

/* 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; }

/* Interactive Accordions & FAQ toggles */
.toggle.active > label, .toggle > label:hover {
  color: #0E7490 !important;
}

@media (max-width: 767px) {
  .intro-content h1.vc_custom_heading { font-size: 2.35em !important; line-height: 1.15 !important; }
  .intro-content h2.vc_custom_heading { font-size: 1.5em !important; line-height: 1.25 !important; }
  .nl-review-card { padding: 20px; margin-bottom: 15px; }
  .page-top .page-title { font-size: 28px !important; }
}
