/* ============================================================
   NLC Landscaping – Elementor Widgets Stylesheet
   All styles extracted from nlclandscaping.net source CSS
   ============================================================ */

/* ---------- CSS Custom Properties (easy theming) ---------- */
:root {
  --nlc-dark-green:    #2d3b10;
  --nlc-mid-green:     #658323;
  --nlc-deep-green:    #4c621a;
  --nlc-darkest-green: #232e0c;
  --nlc-light-green-bg:#f0f3e9;
  --nlc-light-green2:  #e8ecde;
  --nlc-orange:        #ff9300;
  --nlc-white:         #ffffff;
  --nlc-text-dark:     #232e0c;
  --nlc-shadow:        rgba(0,0,0,0.3);
  --nlc-transition:    0.2s ease-in;
  --nlc-font-size-base:1rem;
  --nlc-font-size-h1:  2.4rem;
  --nlc-font-size-h2:  2.4rem;
  --nlc-font-size-h3:  2.4rem;
  --nlc-container-max: 1200px;
}

/* ========================================================
   GLOBAL RESETS & SHARED
   ======================================================== */
.nlc-widget *,
.nlc-widget *::before,
.nlc-widget *::after {
  box-sizing: border-box;
}
.nlc-widget a {
  -webkit-transition: var(--nlc-transition);
  transition: var(--nlc-transition);
  text-decoration: none;
}
.nlc-widget a:hover { text-decoration: none; }

.nlc-container {
  max-width: var(--nlc-container-max);
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

/* Headings */
.nlc-widget h1,
.nlc-widget h2,
.nlc-widget h3 {
  font-size: var(--nlc-font-size-h1);
  line-height: 1.2;
  text-wrap: balance;
  margin: 0 0 16px;
}
.nlc-widget h1 span,
.nlc-widget h2 span,
.nlc-widget h3 span { color: var(--nlc-orange); }
.nlc-widget h1.line,
.nlc-widget h2.line,
.nlc-widget h3.line {
  padding-bottom: 16px;
  position: relative;
}
.nlc-widget h2.line::after,
.nlc-widget h1.line::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  display: block;
  width: 60px; height: 3px;
  background-color: var(--nlc-orange);
}

/* Shadow boxes */
.nlc-shadow-box {
  -webkit-box-shadow: 0 0 6px 0 var(--nlc-shadow);
  box-shadow: 0 0 6px 0 var(--nlc-shadow);
}
.nlc-shadow-box-hover:hover {
  -webkit-box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
}

/* Icon system using CSS masks */
.nlc-icon {
  width: 24px; height: 24px;
  display: inline-block;
  background-color: var(--nlc-dark-green);
  -webkit-transition: var(--nlc-transition);
  transition: var(--nlc-transition);
  flex-shrink: 0;
}
.nlc-icon-location {
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 10C16 12.2091 14.2091 14 12 14C9.79086 14 8 12.2091 8 10C8 7.79086 9.79086 6 12 6C14.2091 6 16 7.79086 16 10ZM12 13C13.6569 13 15 11.6569 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.6569 10.3431 13 12 13Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 21L17 15C18.5 13 19 11.4582 19 10C19 6.13401 15.866 3 12 3C8.13401 3 5 6.13401 5 10C5 11.4582 5.5 13 7 15L12 21Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 10C16 12.2091 14.2091 14 12 14C9.79086 14 8 12.2091 8 10C8 7.79086 9.79086 6 12 6C14.2091 6 16 7.79086 16 10ZM12 13C13.6569 13 15 11.6569 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.6569 10.3431 13 12 13Z' fill='black'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M12 21L17 15C18.5 13 19 11.4582 19 10C19 6.13401 15.866 3 12 3C8.13401 3 5 6.13401 5 10C5 11.4582 5.5 13 7 15L12 21Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nlc-icon-email {
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 4C2.44772 4 2 4.44772 2 5V19C2 19.5523 2.44772 20 3 20H21C21.5523 20 22 19.5523 22 19V5C22 4.44772 21.5523 4 21 4H3ZM3.7282 5H20.2718L12 12.8123L3.7282 5ZM3 5.68775V18.2929L9.48265 11.8102L3 5.68775ZM3.70711 19H20.2929L13.79 12.4971L12.3433 13.8635C12.1506 14.0455 11.8494 14.0455 11.6567 13.8635L10.21 12.4971L3.70711 19ZM21 18.2929V5.68774L14.5174 11.8102L21 18.2929Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3 4C2.44772 4 2 4.44772 2 5V19C2 19.5523 2.44772 20 3 20H21C21.5523 20 22 19.5523 22 19V5C22 4.44772 21.5523 4 21 4H3ZM3.7282 5H20.2718L12 12.8123L3.7282 5ZM3 5.68775V18.2929L9.48265 11.8102L3 5.68775ZM3.70711 19H20.2929L13.79 12.4971L12.3433 13.8635C12.1506 14.0455 11.8494 14.0455 11.6567 13.8635L10.21 12.4971L3.70711 19ZM21 18.2929V5.68774L14.5174 11.8102L21 18.2929Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nlc-icon-phone {
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 16.92V19.92C22.0011 20.1985 21.9441 20.4741 21.8325 20.7293C21.7209 20.9845 21.5573 21.2136 21.3521 21.4018C21.1468 21.5901 20.9046 21.7335 20.6407 21.8227C20.3769 21.9119 20.0974 21.945 19.82 21.92C16.7428 21.5856 13.787 20.5341 11.19 18.85C8.77382 17.3146 6.72533 15.2661 5.18999 12.85C3.49997 10.2412 2.44824 7.27097 2.11999 4.17997C2.095 3.90344 2.12787 3.62474 2.21649 3.3616C2.30512 3.09846 2.44756 2.85666 2.63476 2.6516C2.82196 2.44653 3.0498 2.28268 3.30379 2.1705C3.55777 2.05831 3.83233 2.00024 4.10999 1.99997H7.10999C7.5953 1.9952 8.06579 2.16705 8.43376 2.48351C8.80173 2.79996 9.04207 3.23942 9.10999 3.71997C9.23662 4.68004 9.47144 5.6227 9.80999 6.52997C9.94454 6.8879 9.97366 7.27689 9.8939 7.65086C9.81415 8.02482 9.62886 8.36809 9.35999 8.63998L8.08999 9.90997C9.51355 12.4135 11.5864 14.4864 14.09 15.91L15.36 14.64C15.6319 14.3711 15.9751 14.1858 16.3491 14.1061C16.7231 14.0263 17.1121 14.0554 17.47 14.19C18.3773 14.5285 19.3199 14.7634 20.28 14.89C20.7658 14.9585 21.2094 15.2032 21.5265 15.5775C21.8437 15.9518 22.0122 16.4296 22 16.92Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M22 16.92V19.92C22.0011 20.1985 21.9441 20.4741 21.8325 20.7293C21.7209 20.9845 21.5573 21.2136 21.3521 21.4018C21.1468 21.5901 20.9046 21.7335 20.6407 21.8227C20.3769 21.9119 20.0974 21.945 19.82 21.92C16.7428 21.5856 13.787 20.5341 11.19 18.85C8.77382 17.3146 6.72533 15.2661 5.18999 12.85C3.49997 10.2412 2.44824 7.27097 2.11999 4.17997C2.095 3.90344 2.12787 3.62474 2.21649 3.3616C2.30512 3.09846 2.44756 2.85666 2.63476 2.6516C2.82196 2.44653 3.0498 2.28268 3.30379 2.1705C3.55777 2.05831 3.83233 2.00024 4.10999 1.99997H7.10999C7.5953 1.9952 8.06579 2.16705 8.43376 2.48351C8.80173 2.79996 9.04207 3.23942 9.10999 3.71997C9.23662 4.68004 9.47144 5.6227 9.80999 6.52997C9.94454 6.8879 9.97366 7.27689 9.8939 7.65086C9.81415 8.02482 9.62886 8.36809 9.35999 8.63998L8.08999 9.90997C9.51355 12.4135 11.5864 14.4864 14.09 15.91L15.36 14.64C15.6319 14.3711 15.9751 14.1858 16.3491 14.1061C16.7231 14.0263 17.1121 14.0554 17.47 14.19C18.3773 14.5285 19.3199 14.7634 20.28 14.89C20.7658 14.9585 21.2094 15.2032 21.5265 15.5775C21.8437 15.9518 22.0122 16.4296 22 16.92Z' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nlc-icon-facebook {
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 13L16 10H13L13.0052 8.5C13.0052 7.65066 13.5 7 14.5 7H16V4.5C15 4 14.3196 4.01001 13.5 4C11.5 4 10 5.54209 10 8.5V10H7V13H10V20H13V13H15Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 13L16 10H13L13.0052 8.5C13.0052 7.65066 13.5 7 14.5 7H16V4.5C15 4 14.3196 4.01001 13.5 4C11.5 4 10 5.54209 10 8.5V10H7V13H10V20H13V13H15Z' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}
.nlc-icon-menu {
  -webkit-mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='11' width='20' height='2' rx='1' fill='black'/%3E%3Crect x='2' y='4' width='20' height='2' rx='1' fill='black'/%3E%3Crect x='2' y='18' width='20' height='2' rx='1' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='11' width='20' height='2' rx='1' fill='black'/%3E%3Crect x='2' y='4' width='20' height='2' rx='1' fill='black'/%3E%3Crect x='2' y='18' width='20' height='2' rx='1' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}

.nlc-icon-link {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
  color: inherit;
  text-decoration: none;
}

/* ========================================================
   1. HEADER WIDGET
   ======================================================== */
.nlc-header-widget { position: relative; width: 100%; }

/* Top bar */
.nlc-header-top {
  background-color: var(--nlc-light-green-bg);
  padding: 8px 0;
  font-weight: 700;
}
.nlc-header-top-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}
.nlc-header-top-left {
  display: flex;
  list-style: none;
  margin: 0; padding: 0;
  gap: 0;
  flex-wrap: wrap;
}
.nlc-header-top-left li { padding-right: 24px; }
.nlc-header-top-left li:last-child { padding-right: 0; }
.nlc-header-top .nlc-icon { background-color: var(--nlc-dark-green); }
.nlc-header-top a { color: var(--nlc-dark-green); text-decoration: none; }
.nlc-social-box {
  display: flex; list-style: none;
  margin: 0; padding: 0;
  flex-wrap: wrap; gap: 0;
}
.nlc-social-box li { padding-right: 8px; }
.nlc-social-box li:last-child { padding-right: 0; }
.nlc-social-box li a { display: flex; }
.nlc-social-box .nlc-icon { background-color: var(--nlc-dark-green); }

/* Main nav */
.nlc-header-main {
  background-color: var(--nlc-white);
  padding: 16px 0;
  position: sticky; top: 0; z-index: 1000;
  -webkit-box-shadow: none; box-shadow: none;
  -webkit-transition: box-shadow 0.2s ease-in;
  transition: box-shadow 0.2s ease-in;
}
.nlc-header-main.is-sticky {
  -webkit-box-shadow: 0 0 12px 0 var(--nlc-shadow);
  box-shadow: 0 0 12px 0 var(--nlc-shadow);
}
.nlc-header-main-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: auto 1fr auto auto auto;
  align-items: center;
}
.nlc-logo {
  display: block;
  width: 180px; height: 80px;
  text-indent: 120%;
  white-space: nowrap;
  overflow: hidden;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-color: transparent;
  text-decoration: none;
}
.nlc-header-nav {
  display: flex; list-style: none;
  margin: 0; padding: 0 0 0 24px;
  flex-wrap: wrap; gap: 0;
  font-weight: 700; text-transform: uppercase;
}
.nlc-header-nav li { padding-right: 16px; }
.nlc-header-nav li:last-child { padding-right: 0; }
.nlc-header-nav a {
  display: block; padding: 8px;
  color: var(--nlc-dark-green);
  text-decoration: none;
  -webkit-transition: color var(--nlc-transition);
  transition: color var(--nlc-transition);
}
.nlc-header-nav a:hover { color: var(--nlc-mid-green); }

.nlc-phone-box {
  display: grid; gap: 0;
  padding-left: 32px; line-height: 1;
  font-size: 0.8rem; color: var(--nlc-mid-green);
  position: relative; font-weight: 700;
}
.nlc-phone-box span:first-child { display: block; }
.nlc-phone-box a {
  font-size: 1.4rem; display: block;
  padding-top: 4px; color: var(--nlc-dark-green);
  text-decoration: none; font-weight: 700;
}
.nlc-phone-box .nlc-icon {
  position: absolute; top: 50%; left: 0;
  margin-top: -12px; background-color: var(--nlc-mid-green);
}

.nlc-btn {
  display: inline-block;
  padding: 10px 20px;
  font-weight: 700; text-transform: uppercase;
  text-decoration: none;
  border: 2px solid var(--nlc-dark-green);
  color: var(--nlc-dark-green);
  background: transparent;
  cursor: pointer;
  -webkit-transition: var(--nlc-transition);
  transition: var(--nlc-transition);
  white-space: nowrap;
}
.nlc-btn:hover {
  background: var(--nlc-dark-green);
  color: var(--nlc-white);
}
.nlc-btn-secondary {
  border-color: var(--nlc-mid-green);
  color: var(--nlc-mid-green);
}
.nlc-btn-secondary:hover {
  background: var(--nlc-mid-green);
  color: var(--nlc-white);
}

/* Mobile menu toggle */
.nlc-mobile-toggle {
  display: none; background: none;
  border: none; cursor: pointer; padding: 4px;
}
.nlc-mobile-toggle .nlc-icon { background-color: var(--nlc-dark-green); }

/* Mobile drawer */
.nlc-mobile-drawer {
  display: none; position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  z-index: 9999; background: var(--nlc-dark-green);
  overflow-y: auto;
}
.nlc-mobile-drawer.is-open { display: block; }
.nlc-mobile-drawer-close {
  position: absolute; top: 16px; right: 16px;
  background: none; border: none;
  cursor: pointer; color: var(--nlc-white); font-size: 1.5rem;
}
.nlc-mobile-nav {
  list-style: none; padding: 60px 0 0; margin: 0;
  text-align: center; font-size: 1.2rem;
  font-weight: 700; text-transform: uppercase;
}
.nlc-mobile-nav a {
  display: block; padding: 16px;
  color: var(--nlc-white); text-decoration: none;
}
.nlc-mobile-nav a:hover { color: var(--nlc-orange); }

/* ========================================================
   2. FOOTER WIDGET
   ======================================================== */
.nlc-footer-widget {
  background-color: var(--nlc-mid-green);
  color: var(--nlc-white);
  position: relative;
}
.nlc-footer-main { padding: 24px 0; position: relative; }
.nlc-footer-main-grid {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px; align-items: start;
}
.nlc-footer-logo-col {
  display: grid; gap: 12px;
  justify-items: start;
}
.nlc-footer-widget .nlc-logo {
  /* reverse logo for dark background */
  filter: brightness(0) invert(1);
}
.nlc-footer-address {
  font-weight: 700; text-wrap: balance; color: var(--nlc-white);
}
.nlc-footer-social .nlc-icon { background-color: var(--nlc-white) !important; }

.nlc-footer-nav-col {}
.nlc-footer-menu {
  display: flex; flex-wrap: wrap;
  list-style: none; padding: 8px 0 8px 24px; margin: 0;
  font-weight: 700; text-transform: uppercase;
  width: 100%;
}
.nlc-footer-menu li { padding-right: 16px; }
.nlc-footer-menu a {
  display: block; padding: 8px 0;
  color: var(--nlc-white); text-decoration: none;
}
.nlc-footer-menu a:hover { color: var(--nlc-orange); }

.nlc-footer-menu-second {
  display: inline-flex; flex-wrap: wrap;
  list-style: none; padding: 16px 8px; margin: 0 24px;
  background-color: var(--nlc-deep-green);
}
.nlc-footer-menu-second li {
  position: relative; padding: 0 16px;
}
.nlc-footer-menu-second li::after {
  content: ""; position: absolute; right: 0; top: 50%;
  width: 3px; height: 3px; border-radius: 50%;
  background-color: var(--nlc-white); margin-top: -2px;
}
.nlc-footer-menu-second li:last-child::after { display: none; }
.nlc-footer-menu-second a {
  color: var(--nlc-white); text-decoration: none;
}
.nlc-footer-menu-second a:hover { color: var(--nlc-orange); }

.nlc-footer-cta-col {
  display: grid; gap: 16px; align-items: start;
}
.nlc-footer-widget .nlc-phone-box { color: var(--nlc-white); }
.nlc-footer-widget .nlc-phone-box a { color: var(--nlc-white); }
.nlc-footer-widget .nlc-phone-box .nlc-icon { background-color: var(--nlc-white); }
.nlc-footer-widget .nlc-icon-link { color: var(--nlc-white); }
.nlc-footer-widget .nlc-icon-link .nlc-icon { background-color: var(--nlc-white); }

.nlc-footer-bottom {
  padding: 16px 0;
  background-color: var(--nlc-dark-green);
  font-size: 0.8rem;
}
.nlc-footer-bottom-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px; text-wrap: balance; color: var(--nlc-white);
}
.nlc-footer-bottom a { color: var(--nlc-white); text-decoration: none; }
.nlc-footer-bottom a:hover { color: var(--nlc-orange); }

/* ========================================================
   3. HERO BANNER WIDGET
   ======================================================== */
.nlc-hero-wrapper { overflow: hidden; position: relative; }
.nlc-hero-container { position: relative; }
.nlc-hero-image-wrap {
  position: relative; z-index: 1;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.nlc-hero-image-wrap::after {
  content: "";
  position: absolute; left: 0; right: 0; top: 0; bottom: 0;
  background-color: rgba(0,0,0,0.5);
}
.nlc-hero-image-wrap canvas { display: block; width: 100%; }
.nlc-hero-content-wrap {
  position: absolute; top: 0; left: 0; right: 0; bottom: 0;
  z-index: 10;
  display: flex; align-items: center;
}
.nlc-hero-content { padding: 0 20px; }
.nlc-hero-title {
  color: var(--nlc-white) !important;
  font-size: 3rem !important;
  font-weight: 900;
  width: 60%;
  text-wrap: balance;
  margin: 0;
}
.nlc-hero-subtitle {
  color: var(--nlc-white);
  font-size: 1.2rem;
  margin: 16px 0 24px;
}
.nlc-hero-btn { margin-top: 16px; }

/* ========================================================
   4. ADVANTAGES WIDGET
   ======================================================== */
.nlc-advantages-section { padding: 48px 0; }
.nlc-advantages-grid {
  display: grid; gap: 16px;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
}
.nlc-advantage-item { display: block; }
.nlc-advantage-icon {
  height: 64px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: 0 auto 8px;
}
.nlc-advantage-title {
  padding: 16px 0; font-weight: 700;
  font-size: 1.2rem; line-height: 1.2;
}

/* ========================================================
   5. SERVICES GRID WIDGET
   ======================================================== */
.nlc-services-section {
  position: relative; z-index: 1;
  padding: 0 0 48px;
}
.nlc-services-section::before {
  content: ""; position: absolute;
  left: 0; top: -80px;
  display: block; width: 100%; height: 120px;
  background-color: var(--nlc-light-green2); z-index: 1;
}
.nlc-services-section::after {
  content: ""; display: block; width: 100%;
  position: absolute; left: 0; top: 0; z-index: 1;
  height: 50%; background-color: var(--nlc-light-green2);
}
.nlc-services-inner { position: relative; z-index: 10; }
.nlc-services-subtitle {
  font-weight: 700; font-style: italic;
  width: 70%; text-wrap: balance; margin-bottom: 24px;
}
.nlc-services-grid {
  display: grid; gap: 16px;
  grid-template-columns: repeat(4, 1fr);
}

.nlc-service-card {
  background-color: var(--nlc-white);
  display: block; text-decoration: none;
  color: var(--nlc-text-dark);
  -webkit-box-shadow: 0 0 6px 0 var(--nlc-shadow);
  box-shadow: 0 0 6px 0 var(--nlc-shadow);
  -webkit-transition: var(--nlc-transition);
  transition: var(--nlc-transition);
  overflow: hidden;
}
.nlc-service-card:hover {
  background-color: var(--nlc-mid-green);
  color: var(--nlc-white);
  text-decoration: none;
  -webkit-box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
}
.nlc-service-card-inner { padding: 4px; }
.nlc-service-card-title {
  padding: 16px; font-weight: 900;
  font-size: 1.4rem; text-wrap: balance;
}
.nlc-service-card-summary {
  padding: 0 16px 16px;
  color: var(--nlc-darkest-green);
  font-size: 0.9rem;
}
.nlc-service-card:hover .nlc-service-card-summary { color: var(--nlc-white); }
.nlc-service-card-image {
  width: 100%; overflow: hidden;
}
.nlc-service-card-image img {
  width: 100%; height: 200px;
  object-fit: cover; display: block;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}
.nlc-service-card:hover .nlc-service-card-image img {
  transform: scale(1.05);
}

/* ========================================================
   6. GALLERY SLIDER WIDGET
   ======================================================== */
.nlc-gallery-section { padding: 32px 0; margin-bottom: 32px; overflow: hidden; }
.nlc-gallery-header { margin-bottom: 24px; }
.nlc-gallery-summary {
  background-color: var(--nlc-mid-green);
  color: var(--nlc-white);
  font-weight: 700; padding: 16px;
  display: inline-block; position: relative; z-index: 2;
}
.nlc-gallery-track {
  display: flex; gap: 12px;
  overflow: hidden; position: relative; z-index: 10;
}
.nlc-gallery-track-inner {
  display: flex; gap: 12px;
  transition: transform 0.4s ease;
  will-change: transform;
}
.nlc-gallery-item {
  flex: 0 0 calc(25% - 9px);
  border: 1px solid var(--nlc-white);
  overflow: hidden; cursor: pointer;
}
.nlc-gallery-item img {
  width: 100%; height: 220px;
  object-fit: cover; display: block;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}
.nlc-gallery-item:hover img { transform: scale(1.05); }
.nlc-gallery-nav {
  display: flex; gap: 16px;
  justify-content: flex-end;
  padding: 12px 0 0;
}
.nlc-gallery-nav button {
  background: var(--nlc-mid-green); border: none;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  -webkit-transition: var(--nlc-transition);
  transition: var(--nlc-transition);
}
.nlc-gallery-nav button:hover { background: var(--nlc-dark-green); }
.nlc-gallery-nav button .nlc-icon { background-color: var(--nlc-white); }

/* Lightbox overlay */
.nlc-lightbox {
  display: none; position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.9); z-index: 9999;
  align-items: center; justify-content: center;
}
.nlc-lightbox.is-open { display: flex; }
.nlc-lightbox img { max-width: 90vw; max-height: 90vh; object-fit: contain; }
.nlc-lightbox-close {
  position: absolute; top: 20px; right: 20px;
  background: none; border: none; color: #fff;
  font-size: 2rem; cursor: pointer;
}

/* ========================================================
   7. ESTIMATE FORM WIDGET
   ======================================================== */
.nlc-estimate-section { padding: 32px 0; }
.nlc-estimate-wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0; align-items: start;
}
.nlc-estimate-left {
  width: 300px; padding: 100px 40px 0 0;
  font-weight: 900; font-size: 2.2rem;
  text-align: right; line-height: 1;
  color: var(--nlc-orange); text-wrap: balance;
}
.nlc-estimate-form-wrap {
  background-color: var(--nlc-white);
  padding: 24px;
  -webkit-box-shadow: 0 0 6px 0 var(--nlc-shadow);
  box-shadow: 0 0 6px 0 var(--nlc-shadow);
}
.nlc-estimate-title {
  color: var(--nlc-mid-green); font-weight: 900; font-size: 1.8rem; margin-bottom: 16px;
}
.nlc-estimate-form { display: grid; gap: 12px; }
.nlc-form-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; }
.nlc-form-input,
.nlc-form-textarea {
  width: 100%; padding: 10px 12px;
  border: 1px solid #ccc; background: #fff;
  font-size: 1rem; font-family: inherit;
  outline: none;
  -webkit-transition: border-color var(--nlc-transition);
  transition: border-color var(--nlc-transition);
}
.nlc-form-input:focus,
.nlc-form-textarea:focus { border-color: var(--nlc-mid-green); }
.nlc-form-textarea { resize: vertical; min-height: 80px; }
.nlc-services-checkboxes {
  display: grid; gap: 8px;
  grid-template-columns: 1fr 1fr;
}
.nlc-services-checkboxes label {
  display: block; cursor: pointer;
  padding-left: 28px; position: relative;
  font-size: 0.9rem;
}
.nlc-services-checkboxes label input {
  position: absolute; left: 0; top: 4px;
  accent-color: var(--nlc-mid-green);
}
.nlc-form-submit {
  margin-top: 8px;
}
.nlc-form-submit button {
  background: var(--nlc-dark-green);
  color: var(--nlc-white); border: 2px solid var(--nlc-dark-green);
  padding: 12px 32px; font-size: 1rem;
  font-weight: 700; text-transform: uppercase;
  cursor: pointer; font-family: inherit;
  -webkit-transition: var(--nlc-transition);
  transition: var(--nlc-transition);
}
.nlc-form-submit button:hover {
  background: transparent; color: var(--nlc-dark-green);
}
.nlc-form-success {
  display: none; background: #cfc;
  padding: 12px; color: #030; font-weight: 700;
  margin-top: 12px;
}
.nlc-form-success.is-visible { display: block; }

/* ========================================================
   8. CONTENT BLOCK WIDGET (text + image)
   ======================================================== */
.nlc-content-block-section { padding: 32px 0; position: relative; z-index: 100; }
.nlc-content-block-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px; align-items: center;
}
.nlc-content-block-text {}
.nlc-content-block-text p { margin-bottom: 16px; line-height: 1.6; }
.nlc-content-block-text h3 { font-size: 1.6rem; margin-bottom: 8px; }
.nlc-content-block-image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 400px;
}
.nlc-content-block-image img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}

/* ========================================================
   9. SERVICE AREAS WIDGET
   ======================================================== */
.nlc-areas-section {
  display: grid; gap: 16px;
  position: relative; padding: 120px 0;
  background-position: right top;
  background-size: 600px;
  background-repeat: no-repeat;
}
.nlc-areas-section h2 { margin-bottom: 24px; }
.nlc-areas-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap;
  text-transform: uppercase; font-weight: 700;
  width: 50%;
}
.nlc-areas-list li {
  padding: 0 24px 8px 0;
  position: relative;
}
.nlc-areas-list li::after {
  content: ""; position: absolute; right: 10px; top: 50%;
  width: 3px; height: 3px; border-radius: 50%;
  background-color: var(--nlc-darkest-green); margin-top: -6px;
}
.nlc-areas-list li:last-child::after { display: none; }

/* ========================================================
   10. CONTACT BLOCK WIDGET
   ======================================================== */
.nlc-contact-section { padding: 48px 0 16px; }
.nlc-contact-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 32px; align-items: start;
}
.nlc-contact-info { color: var(--nlc-text-dark); }
.nlc-contact-info a { color: var(--nlc-text-dark); text-decoration: none; }
.nlc-contact-detail {
  display: flex; gap: 12px; align-items: flex-start;
  margin-bottom: 16px;
}
.nlc-contact-cta {
  display: grid; gap: 16px; text-align: center;
  font-weight: 900; font-size: 1.4rem;
  text-transform: uppercase; text-wrap: balance;
  color: var(--nlc-orange);
}

/* ========================================================
   11. PAGE BANNER WIDGET (inner page hero)
   ======================================================== */
.nlc-page-banner {
  position: relative; overflow: hidden;
  background-size: cover; background-position: center;
}
.nlc-page-banner::after {
  content: ""; position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
}
.nlc-page-banner-content {
  position: relative; z-index: 10;
  padding: 80px 0;
  color: var(--nlc-white);
}
.nlc-page-banner-content h1 {
  color: var(--nlc-white) !important;
  font-size: 3rem; font-weight: 900; margin: 0;
}
.nlc-breadcrumbs {
  margin: 0 0 16px; display: block;
  font-size: 14px; line-height: 1.2; color: rgba(255,255,255,0.7);
}
.nlc-breadcrumbs ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; align-items: center; gap: 8px;
}
.nlc-breadcrumbs a { color: rgba(255,255,255,0.7); text-decoration: none; }
.nlc-breadcrumbs a:hover { color: var(--nlc-white); }

/* ========================================================
   RESPONSIVE
   ======================================================== */

/* ---- Tablet: <= 1199px ---- */
@media only screen and (max-width: 1199px) {
  .nlc-header-main-grid {
    grid-template-columns: auto 1fr auto;
  }
  .nlc-header-nav { padding: 0; }
  .nlc-estimate-left { width: 200px; font-size: 1.8rem; }
  .nlc-services-grid { grid-template-columns: repeat(2, 1fr); }
  .nlc-footer-main-grid { grid-template-columns: 1fr; }
  .nlc-footer-menu { padding: 8px 0; text-align: center; justify-content: center; }
  .nlc-footer-menu-second { display: none; }
  .nlc-hero-title { font-size: 2.4rem !important; width: 80%; }
}

/* ---- Tablet: <= 959px ---- */
@media only screen and (max-width: 959px) {
  .nlc-mobile-toggle { display: flex; }
  .nlc-header-desktop-nav { display: none; }
  .nlc-header-cta-btn { display: none; }
  .nlc-header-main-grid { grid-template-columns: auto 1fr auto; }

  .nlc-advantages-grid { grid-template-columns: repeat(2, 1fr); }
  .nlc-services-grid { grid-template-columns: repeat(2, 1fr); }

  .nlc-estimate-wrapper { grid-template-columns: 1fr; }
  .nlc-estimate-left {
    width: 100%; padding: 24px 0 0;
    font-size: 1.8rem; text-align: center;
  }
  .nlc-form-row { grid-template-columns: 1fr; }

  .nlc-content-block-grid { grid-template-columns: 1fr; }
  .nlc-content-block-image { min-height: 250px; }

  .nlc-areas-section { padding: 80px 0; background-position: center bottom -60px; background-size: contain; }
  .nlc-areas-list { width: 70%; }

  .nlc-contact-grid { grid-template-columns: 1fr; }

  .nlc-gallery-item { flex: 0 0 calc(50% - 6px); }

  .nlc-footer-bottom-grid { font-size: 0.8rem; }
  h1, h2, h3 { font-size: 2.2rem; }
}

/* ---- Mobile: <= 639px ---- */
@media only screen and (max-width: 639px) {
  .nlc-logo { width: 160px; height: 60px; }

  .nlc-advantages-grid { grid-template-columns: repeat(2, 1fr); }
  .nlc-services-grid { grid-template-columns: 1fr; }

  .nlc-services-subtitle { width: auto; }

  .nlc-areas-list { width: auto; justify-content: center; }
  .nlc-areas-section { text-align: center; justify-items: center; }
  .nlc-areas-list li::after { display: none; }

  .nlc-gallery-item { flex: 0 0 calc(100% - 0px); }

  .nlc-estimate-left { font-size: 1.2rem; text-align: center; padding: 16px 0 0; }
  .nlc-services-checkboxes { grid-template-columns: 1fr; }

  .nlc-footer-main-grid { gap: 16px; }
  .nlc-footer-bottom-grid { grid-template-columns: 1fr; text-align: center; }
  .nlc-footer-menu { display: block; font-size: 1.2rem; }

  .nlc-hero-title { font-size: 2rem !important; width: 100%; text-align: center; }
  .nlc-hero-content { text-align: center; }

  .nlc-page-banner-content h1 { font-size: 2rem; }
  h1, h2, h3 { font-size: 2rem; }
}

/* ---- Small Mobile: <= 400px ---- */
@media only screen and (max-width: 400px) {
  .nlc-hero-title,
  h1, h2, h3 { font-size: 1.4rem !important; }
  .nlc-advantage-title { padding: 8px 0; font-size: 1rem; }
  .nlc-areas-list li { padding: 4px; }
}

/* ================================================================
   WP DYNAMIC MENU — NLC header nav styles
   Applied when nav_source = wp_menu
   ================================================================ */

/* Reset WP's default list margin/padding on the nav wrapper */
.nlc-header-nav-wp {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0 0 0 24px;
  flex-wrap: wrap;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
}

/* Top-level items */
.nlc-header-nav-wp > li {
  position: relative;
  padding-right: 16px;
}
.nlc-header-nav-wp > li:last-child { padding-right: 0; }

.nlc-header-nav-wp > li > a {
  display: block;
  padding: 8px;
  color: var(--nlc-dark-green);
  text-decoration: none;
  -webkit-transition: color var(--nlc-transition);
  transition: color var(--nlc-transition);
  white-space: nowrap;
}
.nlc-header-nav-wp > li > a:hover { color: var(--nlc-mid-green); }

/* Active / current page highlighting (WP adds these classes automatically) */
.nlc-header-nav-wp li.current-menu-item > a,
.nlc-header-nav-wp li.current-menu-ancestor > a,
.nlc-header-nav-wp li.current_page_item > a,
.nlc-header-nav-wp li.current_page_ancestor > a {
  color: var(--nlc-mid-green);
  border-bottom: 2px solid var(--nlc-orange);
}

/* ── DROPDOWN sub-menu ── */
.nlc-header-nav-wp .sub-menu {
  display: none;             /* hidden by default */
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  list-style: none;
  padding: 8px 0;
  margin: 0;
  z-index: 2000;
  border-top: 3px solid var(--nlc-orange);
}

/* Show dropdown on hover (desktop) */
.nlc-header-nav-wp li:hover > .sub-menu {
  display: block;
}

/* Sub-menu items */
.nlc-header-nav-wp .sub-menu li { position: relative; }
.nlc-header-nav-wp .sub-menu a {
  display: block;
  padding: 10px 20px;
  color: var(--nlc-dark-green);
  font-weight: 600;
  font-size: 0.9rem;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  -webkit-transition: background-color var(--nlc-transition), color var(--nlc-transition);
  transition: background-color var(--nlc-transition), color var(--nlc-transition);
}
.nlc-header-nav-wp .sub-menu li:hover > a {
  background-color: var(--nlc-light-green-bg);
  color: var(--nlc-mid-green);
}

/* Third-level dropdowns (fly-out right) */
.nlc-header-nav-wp .sub-menu .sub-menu {
  top: 0;
  left: 100%;
  border-top: none;
  border-left: 3px solid var(--nlc-orange);
}

/* ── MOBILE WP MENU inside drawer ── */
.nlc-mobile-nav-wp {
  list-style: none;
  padding: 60px 0 0;
  margin: 0;
  display: block;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  text-transform: uppercase;
}
.nlc-mobile-nav-wp li { display: block; }
.nlc-mobile-nav-wp a {
  display: block;
  padding: 16px;
  color: var(--nlc-white);
  text-decoration: none;
  -webkit-transition: color var(--nlc-transition);
  transition: color var(--nlc-transition);
}
.nlc-mobile-nav-wp a:hover { color: var(--nlc-orange); }
.nlc-mobile-nav-wp li.current-menu-item > a,
.nlc-mobile-nav-wp li.current_page_item > a {
  color: var(--nlc-orange);
}
/* Hide sub-menus in mobile drawer (depth=1 already set in PHP, this is a safety net) */
.nlc-mobile-nav-wp .sub-menu { display: none; }

/* ── Tablet: hide desktop nav at ≤960px ── */
@media only screen and (max-width: 959px) {
  .nlc-header-nav-wp { display: none; }
}

/* ================================================================
   SERVICES CAROUSEL  —  .nlc-sc-wrapper
   ================================================================ */

/* Outer wrapper — position:relative so arrows can sit inside */
.nlc-sc-wrapper {
  position: relative;
  outline: none; /* remove focus ring on the wrapper div */
}

/* Viewport: hides the overflow so only visible slides show */
.nlc-sc-viewport {
  overflow: hidden;
  width: 100%;
}

/* Track: flex row — JS translates this to scroll */
.nlc-sc-track {
  display: -webkit-flex;
  display: flex;
  gap: 16px;               /* overridden inline by JS from data-gap */
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  will-change: transform;
  cursor: grab;
}
.nlc-sc-track:active { cursor: grabbing; }

/* Each slide: flex-shrink:0 so it never collapses */
.nlc-sc-slide {
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  /* width is set by JS */
}

/* Make the card fill the full slide height */
.nlc-sc-slide .nlc-service-card {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
}
.nlc-sc-slide .nlc-service-card-inner {
  -webkit-flex: 1;
  flex: 1;
}

/* ----------------------------------------------------------
   ARROW BUTTONS
   ---------------------------------------------------------- */
.nlc-sc-arrows {
  display: -webkit-flex;
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-bottom: 12px;
}

.nlc-sc-arrow {
  width: 44px;
  height: 44px;
  border: none;
  border-radius: 2px;
  background-color: var(--nlc-mid-green);
  color: var(--nlc-white);
  display: -webkit-inline-flex;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  -webkit-transition: background-color var(--nlc-transition), opacity var(--nlc-transition);
  transition: background-color var(--nlc-transition), opacity var(--nlc-transition);
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  padding: 0;
}
.nlc-sc-arrow:hover {
  background-color: var(--nlc-dark-green);
}
.nlc-sc-arrow.is-disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.nlc-sc-arrow svg {
  display: block;
  pointer-events: none;
}

/* ----------------------------------------------------------
   DOT INDICATORS
   ---------------------------------------------------------- */
.nlc-sc-dots {
  display: -webkit-flex;
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 20px;
  flex-wrap: wrap;
  padding: 0;
}

.nlc-sc-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background-color: #c8d4b0;
  cursor: pointer;
  padding: 0;
  -webkit-transition: background-color var(--nlc-transition), -webkit-transform var(--nlc-transition);
  transition: background-color var(--nlc-transition), transform var(--nlc-transition);
}
.nlc-sc-dot.is-active {
  background-color: var(--nlc-mid-green);
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
}
.nlc-sc-dot:hover {
  background-color: var(--nlc-mid-green);
}

/* ----------------------------------------------------------
   SERVICE CARD styles (kept from original, enhanced)
   ---------------------------------------------------------- */
.nlc-service-card {
  background-color: var(--nlc-white);
  text-decoration: none;
  color: var(--nlc-text-dark);
  -webkit-box-shadow: 0 0 6px 0 var(--nlc-shadow);
  box-shadow: 0 0 6px 0 var(--nlc-shadow);
  -webkit-transition: background-color var(--nlc-transition), box-shadow var(--nlc-transition);
  transition: background-color var(--nlc-transition), box-shadow var(--nlc-transition);
  overflow: hidden;
}
.nlc-service-card:hover {
  background-color: var(--nlc-mid-green);
  color: var(--nlc-white);
  text-decoration: none;
  -webkit-box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
  box-shadow: 0 0 8px 0 rgba(0,0,0,0.5);
}
.nlc-service-card-inner { padding: 4px; }
.nlc-service-card-title {
  padding: 16px;
  font-weight: 900;
  font-size: 1.4rem;
  text-wrap: balance;
  color: var(--nlc-text-dark);
  -webkit-transition: color var(--nlc-transition);
  transition: color var(--nlc-transition);
}
.nlc-service-card:hover .nlc-service-card-title { color: var(--nlc-white); }
.nlc-service-card-summary {
  padding: 0 16px 16px;
  color: var(--nlc-darkest-green);
  font-size: 0.9rem;
  line-height: 1.6;
  -webkit-transition: color var(--nlc-transition);
  transition: color var(--nlc-transition);
}
.nlc-service-card:hover .nlc-service-card-summary { color: var(--nlc-white); }
.nlc-service-card-image {
  width: 100%;
  overflow: hidden;
}
.nlc-service-card-image img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  display: block;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
}
.nlc-service-card:hover .nlc-service-card-image img {
  -webkit-transform: scale(1.04);
  transform: scale(1.04);
}

/* ----------------------------------------------------------
   WP DYNAMIC MENU nav styles (appended from header widget)
   ---------------------------------------------------------- */
.nlc-header-nav-wp {
  display: -webkit-flex;
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0 0 0 24px;
  flex-wrap: wrap;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
}
.nlc-header-nav-wp > li { position: relative; padding-right: 16px; }
.nlc-header-nav-wp > li:last-child { padding-right: 0; }
.nlc-header-nav-wp > li > a {
  display: block; padding: 8px;
  color: var(--nlc-dark-green); text-decoration: none;
  -webkit-transition: color var(--nlc-transition);
  transition: color var(--nlc-transition);
  white-space: nowrap;
}
.nlc-header-nav-wp > li > a:hover { color: var(--nlc-mid-green); }
.nlc-header-nav-wp li.current-menu-item > a,
.nlc-header-nav-wp li.current-menu-ancestor > a,
.nlc-header-nav-wp li.current_page_item > a,
.nlc-header-nav-wp li.current_page_ancestor > a {
  color: var(--nlc-mid-green);
  border-bottom: 2px solid var(--nlc-orange);
}
.nlc-header-nav-wp .sub-menu {
  display: none;
  position: absolute; top: 100%; left: 0;
  min-width: 220px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  list-style: none; padding: 8px 0; margin: 0;
  z-index: 2000;
  border-top: 3px solid var(--nlc-orange);
}
.nlc-header-nav-wp li:hover > .sub-menu { display: block; }
.nlc-header-nav-wp .sub-menu li { position: relative; }
.nlc-header-nav-wp .sub-menu a {
  display: block; padding: 10px 20px;
  color: var(--nlc-dark-green); font-weight: 600;
  font-size: 0.9rem; text-transform: none;
  text-decoration: none; white-space: nowrap;
  -webkit-transition: background-color var(--nlc-transition), color var(--nlc-transition);
  transition: background-color var(--nlc-transition), color var(--nlc-transition);
}
.nlc-header-nav-wp .sub-menu li:hover > a {
  background-color: var(--nlc-light-green-bg);
  color: var(--nlc-mid-green);
}
.nlc-header-nav-wp .sub-menu .sub-menu {
  top: 0; left: 100%;
  border-top: none; border-left: 3px solid var(--nlc-orange);
}
.nlc-mobile-nav-wp {
  list-style: none; padding: 60px 0 0; margin: 0;
  text-align: center; font-size: 1.2rem;
  font-weight: 700; text-transform: uppercase;
}
.nlc-mobile-nav-wp li { display: block; }
.nlc-mobile-nav-wp a {
  display: block; padding: 16px;
  color: var(--nlc-white); text-decoration: none;
  -webkit-transition: color var(--nlc-transition); transition: color var(--nlc-transition);
}
.nlc-mobile-nav-wp a:hover { color: var(--nlc-orange); }
.nlc-mobile-nav-wp li.current-menu-item > a,
.nlc-mobile-nav-wp li.current_page_item > a { color: var(--nlc-orange); }
.nlc-mobile-nav-wp .sub-menu { display: none; }

/* ---- Responsive additions ---- */
@media only screen and (max-width: 959px) {
  .nlc-header-nav-wp { display: none; }
}
