/* Recoloured copy of nissy-site.css by Nissy Site Additions */
/* =====================================================================
   NISSY HOME CARE — GLOBAL DESIGN SYSTEM  (Stage 3 · v1.0)
   Paste into: Elementor → Site Settings → Custom CSS (Pro)
            or Appearance → Customize → Additional CSS
   Class prefix: nh-   (add classes in Elementor → Advanced → CSS Classes)
   ===================================================================== */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Colour */
  --nh-primary:#038F9F;        /* Nissy Teal — buttons, links, icons   */
  --nh-primary-dark:#038F9F;   /* hover / pressed                       */
  --nh-primary-50:#E7F4F6;     /* icon circles, tints                   */
  --nh-ink:#0F2A3D;            /* headings, footer background           */
  --nh-text:#4A5A68;           /* body copy                             */
  --nh-muted:#647382;          /* captions, meta                        */
  --nh-line:#E3E9EE;           /* borders, dividers                     */
  --nh-soft:#F3F8F8;           /* alternate section background          */
  --nh-white:#FFFFFF;
  --nh-accent:#F4A62A;         /* saffron — stars, highlights (ink text on it) */
  --nh-whatsapp:#25D366;

  /* Type */
  --nh-font-head:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --nh-font-body:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --nh-h1:clamp(2.25rem,1.35rem + 3.2vw,3.5rem);     /* 36 → 56 */
  --nh-h2:clamp(1.75rem,1.2rem + 2vw,2.625rem);      /* 28 → 42 */
  --nh-h3:clamp(1.25rem,1.1rem + .6vw,1.5rem);       /* 20 → 24 */
  --nh-h4:clamp(1.125rem,1.05rem + .3vw,1.25rem);    /* 18 → 20 */
  --nh-lead:clamp(1.0625rem,1rem + .3vw,1.1875rem);  /* 17 → 19 */
  --nh-body:clamp(1rem,.97rem + .1vw,1.0625rem);     /* 16 → 17 */
  --nh-small:.875rem;                                /* 14 */
  --nh-eyebrow:.8125rem;                             /* 13 */

  /* Layout */
  --nh-container:1180px;   /* Elementor → Site Settings → Layout → Content Width = 1180 */
  --nh-gutter:24px;
  --nh-section-y:100px;
  --nh-head-gap:56px;          /* section heading → content */

  /* Radius */
  --nh-r-sm:8px; --nh-r-md:12px; --nh-r-lg:20px; --nh-r-xl:28px; --nh-r-pill:999px;

  /* Shadow (tinted with ink, never pure black) */
  --nh-sh-sm:0 2px 12px rgba(15,42,61,.06);
  --nh-sh-md:0 8px 30px rgba(15,42,61,.08);
  --nh-sh-lg:0 18px 40px rgba(15,42,61,.12);
  --nh-sh-btn:0 10px 24px rgba(3,143,159,.28);

  /* Motion */
  --nh-ease:cubic-bezier(.22,1,.36,1);
  --nh-fast:.2s; --nh-base:.35s; --nh-slow:.7s;
}
@media (max-width:1024px){ :root{ --nh-section-y:80px; --nh-head-gap:44px; } }
@media (max-width:767px){  :root{ --nh-section-y:64px; --nh-head-gap:32px; --nh-gutter:20px; } }

/* ---------- 2. BASE ---------- */
body{ font-family:var(--nh-font-body); font-size:var(--nh-body); line-height:1.7; color:var(--nh-text); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,h6{ font-family:var(--nh-font-head); color:var(--nh-ink); text-wrap:balance; }
html{ scroll-behavior:smooth; scroll-padding-top:100px; }
::selection{ background:var(--nh-primary); color:#fff; }
:focus-visible{ outline:3px solid var(--nh-accent); outline-offset:3px; }

/* ---------- 3. TYPOGRAPHY UTILITIES ---------- */
body .nh-h1 .elementor-heading-title, h1.nh-h1{ font-size:var(--nh-h1); line-height:1.1; font-weight:800; letter-spacing:-.02em; }
body .nh-h2 .elementor-heading-title, h2.nh-h2{ font-size:var(--nh-h2); line-height:1.2; font-weight:700; letter-spacing:-.015em; }
body .nh-h3 .elementor-heading-title, h3.nh-h3{ font-size:var(--nh-h3); line-height:1.3; font-weight:700; }
body .nh-h4 .elementor-heading-title, h4.nh-h4{ font-size:var(--nh-h4); line-height:1.35; font-weight:600; }
.nh-lead, .nh-lead p{ font-size:var(--nh-lead); line-height:1.65; color:var(--nh-text); }
.nh-small, .nh-small p{ font-size:var(--nh-small); line-height:1.6; color:var(--nh-muted); }
body .nh-eyebrow .elementor-heading-title, .nh-eyebrow:not(.elementor-element){
  display:flex; align-items:center; gap:10px;
  font-family:var(--nh-font-head); font-size:var(--nh-eyebrow); font-weight:700;
  letter-spacing:.12em; text-transform:uppercase; color:var(--nh-primary);
}
body .nh-eyebrow .elementor-heading-title::before, .nh-eyebrow:not(.elementor-element)::before{
  content:""; width:28px; height:2px; background:currentColor; border-radius:2px;
}
body .nh-center .nh-eyebrow .elementor-heading-title, .nh-eyebrow.is-center{ justify-content:center; }
.nh-text-narrow{ max-width:620px; }
.nh-center .nh-text-narrow{ margin-inline:auto; }
.nh-hl{ color:var(--nh-primary); }   /* highlight a word inside a heading: <span class="nh-hl"> */

/* ---------- 4. SECTIONS ---------- */
.nh-section{ padding-block:var(--nh-section-y) !important; }
.nh-bg-soft{ background:var(--nh-soft) !important; }
.nh-bg-ink{ background:var(--nh-ink) !important; color:#B8C7D3; }
.nh-bg-ink h1,.nh-bg-ink h2,.nh-bg-ink h3,.nh-bg-ink h4,body .nh-bg-ink .elementor-heading-title{ color:#fff; }

/* ---------- 5. BUTTONS ---------- */
body .nh-btn .elementor-button, a.nh-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:56px; padding:0 30px; border-radius:var(--nh-r-pill);
  font-family:var(--nh-font-head); font-size:1rem; font-weight:700; line-height:1; letter-spacing:.01em;
  text-decoration:none; border:2px solid transparent; cursor:pointer; white-space:nowrap;
  transition:background-color var(--nh-fast) var(--nh-ease),color var(--nh-fast) var(--nh-ease),
             border-color var(--nh-fast) var(--nh-ease),transform var(--nh-base) var(--nh-ease),box-shadow var(--nh-base) var(--nh-ease);
}
body .nh-btn .elementor-button:hover, a.nh-btn:hover{ transform:translateY(-2px); }
body .nh-btn .elementor-button-icon svg, a.nh-btn svg{ width:18px; height:18px; transition:transform var(--nh-base) var(--nh-ease); }
body .nh-btn .elementor-button:hover .elementor-button-icon svg, a.nh-btn:hover svg{ transform:translateX(3px); }

/* Primary */
body .nh-btn--primary .elementor-button, a.nh-btn--primary{ background:var(--nh-primary); color:#fff; }
body .nh-btn--primary .elementor-button:hover, a.nh-btn--primary:hover{ background:var(--nh-primary-dark); color:#fff; box-shadow:var(--nh-sh-btn); }
/* Secondary (outline) */
body .nh-btn--outline .elementor-button, a.nh-btn--outline{ background:transparent; color:var(--nh-primary); border-color:var(--nh-primary); }
body .nh-btn--outline .elementor-button:hover, a.nh-btn--outline:hover{ background:var(--nh-primary); color:#fff; }
/* White (on dark / photo) */
body .nh-btn--white .elementor-button, a.nh-btn--white{ background:#fff; color:var(--nh-ink); }
body .nh-btn--white .elementor-button:hover, a.nh-btn--white:hover{ background:var(--nh-accent); color:var(--nh-ink); }
/* Ghost (outline on dark) */
body .nh-btn--ghost .elementor-button, a.nh-btn--ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,.55); }
body .nh-btn--ghost .elementor-button:hover, a.nh-btn--ghost:hover{ background:#fff; color:var(--nh-ink); border-color:#fff; }
/* WhatsApp */
body .nh-btn--wa .elementor-button, a.nh-btn--wa{ background:var(--nh-whatsapp); color:#0B2E1A; }
body .nh-btn--wa .elementor-button:hover, a.nh-btn--wa:hover{ background:#1EBE5A; color:#0B2E1A; }
/* Sizes */
body .nh-btn--md .elementor-button, a.nh-btn--md{ min-height:48px; padding:0 24px; font-size:.9375rem; }
body .nh-btn--sm .elementor-button, a.nh-btn--sm{ min-height:40px; padding:0 18px; font-size:.875rem; }
/* Text link with arrow */
.nh-link a, a.nh-link{ display:inline-flex; align-items:center; gap:8px; font-family:var(--nh-font-head); font-weight:700; color:var(--nh-primary); text-decoration:none; }
.nh-link a::after, a.nh-link::after{ content:"→"; transition:transform var(--nh-base) var(--nh-ease); }
.nh-link a:hover::after, a.nh-link:hover::after{ transform:translateX(4px); }

@media (max-width:767px){
  body .nh-btn .elementor-button, a.nh-btn{ white-space:normal; text-align:center; }
  body .nh-btn-stack-mobile .elementor-button, .nh-btn-stack-mobile a.nh-btn{ width:100%; }
  .nh-btn-stack-mobile .elementor-widget-button{ width:100%; }
}

/* ---------- 6. CARDS ---------- */
/* 6a Base card (apply to a Container) */
.nh-card{
  background:#fff; border:1px solid var(--nh-line); border-radius:var(--nh-r-lg);
  box-shadow:var(--nh-sh-sm);
  transition:transform var(--nh-base) var(--nh-ease),box-shadow var(--nh-base) var(--nh-ease),border-color var(--nh-base) var(--nh-ease);
}
.nh-card--hover:hover{ transform:translateY(-6px); box-shadow:var(--nh-sh-lg); border-color:transparent; }

/* 6b Icon circle (apply to Icon widget or Icon Box) */
body .nh-icon .elementor-icon, .nh-icon-circle{
  width:72px; height:72px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:var(--nh-primary-50); color:var(--nh-primary); font-size:30px;
  transition:background-color var(--nh-base) var(--nh-ease),color var(--nh-base) var(--nh-ease),transform var(--nh-base) var(--nh-ease);
}
body .nh-icon .elementor-icon svg{ fill:currentColor; width:32px; height:32px; }
body .nh-card--hover:hover .nh-icon .elementor-icon, .nh-card--hover:hover .nh-icon-circle{ background:var(--nh-primary); color:#fff; transform:rotate(-6deg) scale(1.04); }
body .nh-card--hover:hover .nh-icon .elementor-icon svg{ fill:#fff; }
body .nh-icon--sm .elementor-icon, .nh-icon-circle.is-sm{ width:48px; height:48px; border-radius:var(--nh-r-md); font-size:22px; }
body .nh-icon--sm .elementor-icon svg{ width:22px; height:22px; }

/* 6c Image card (photo on top) */
.nh-card--image{ padding:0; overflow:hidden; }
.nh-card--image .nh-card__media, .nh-card--image .elementor-widget-image{ overflow:hidden; margin:0; }
.nh-card--image img{ width:100%; aspect-ratio:16/10; object-fit:cover; transition:transform .8s var(--nh-ease); display:block; }
.nh-card--image:hover img{ transform:scale(1.06); }
.nh-card__body{ padding:24px 28px 28px; }

/* 6d Stat */
.nh-stat__num, .nh-stat .elementor-counter-number-wrapper{ font-family:var(--nh-font-head); font-size:clamp(2.25rem,1.8rem + 1.5vw,3rem); font-weight:800; line-height:1; color:var(--nh-ink); letter-spacing:-.02em; }
.nh-stat__num em, .nh-stat .elementor-counter-number-suffix{ color:var(--nh-primary); font-style:normal; }
.nh-stat__label, .nh-stat .elementor-counter-title{ font-size:var(--nh-small); color:var(--nh-muted); font-weight:500; margin-top:8px; }

/* 6e Testimonial */
.nh-quote{ position:relative; }
.nh-quote::before{ content:"\201C"; position:absolute; top:10px; right:24px; font-family:Georgia,serif; font-size:96px; line-height:1; color:var(--nh-primary-50); pointer-events:none; }
.nh-stars{ color:var(--nh-accent); letter-spacing:3px; font-size:18px; }

/* 6f Step number (How It Works) */
.nh-step-num{ width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--nh-ink); color:#fff; font-family:var(--nh-font-head); font-weight:800; }

/* 6g Tick list (Icon List widget) */
body .nh-ticks .elementor-icon-list-icon i, body .nh-ticks .elementor-icon-list-icon svg{ color:var(--nh-primary); fill:var(--nh-primary); }
body .nh-ticks .elementor-icon-list-text{ color:var(--nh-ink); font-weight:500; }

/* 6h Badge / chip */
.nh-chip{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:var(--nh-r-pill); background:var(--nh-primary-50); color:var(--nh-primary-dark); font-size:var(--nh-small); font-weight:600; }

/* ---------- 7. MEDIA ---------- */
.nh-img-round img, img.nh-img-round{ border-radius:var(--nh-r-xl); }
.nh-img-lg img, img.nh-img-lg{ border-radius:var(--nh-r-lg); }
.nh-img-shadow img{ box-shadow:var(--nh-sh-lg); }

/* ---------- 8. FAQ (Elementor Accordion / Nested Accordion) ---------- */
.nh-faq .elementor-accordion-item, .nh-faq .e-n-accordion-item{
  border:1px solid var(--nh-line) !important; border-radius:14px; background:#fff; margin-bottom:12px; overflow:hidden;
  transition:box-shadow var(--nh-base) var(--nh-ease),border-color var(--nh-base) var(--nh-ease);
}
.nh-faq .elementor-tab-title, .nh-faq .e-n-accordion-item-title{
  padding:22px 28px !important; font-family:var(--nh-font-head); font-size:1.125rem; font-weight:600; color:var(--nh-ink);
}
.nh-faq .elementor-tab-content, .nh-faq .e-n-accordion-item > [role="region"]{ padding:0 28px 24px !important; border:0 !important; color:var(--nh-text); }
.nh-faq .elementor-tab-title.elementor-active, .nh-faq .e-n-accordion-item[open] .e-n-accordion-item-title{ color:var(--nh-primary); }
.nh-faq .elementor-accordion-item:has(.elementor-active), .nh-faq .e-n-accordion-item[open]{ border-color:var(--nh-primary) !important; box-shadow:var(--nh-sh-md); }

/* ---------- 9. SCROLL REVEAL (needs nissy-global.js) ---------- */
/* Content is visible by default; JS adds .nh-js to <html> before hiding anything. */
.nh-js .nh-reveal{ opacity:0; transform:translateY(32px); transition:opacity var(--nh-slow) var(--nh-ease),transform var(--nh-slow) var(--nh-ease); transition-delay:var(--nh-delay,0s); }
.nh-js .nh-reveal--left{ transform:translateX(-40px); }
.nh-js .nh-reveal--right{ transform:translateX(40px); }
.nh-js .nh-reveal--zoom{ transform:scale(.96); }
.nh-js .nh-reveal.is-in{ opacity:1; transform:none; }
.nh-float{ animation:nh-float 6s ease-in-out infinite; }
@keyframes nh-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }

/* Editor safety: never hide things while editing in Elementor */
.elementor-editor-active .nh-reveal{ opacity:1 !important; transform:none !important; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .nh-js .nh-reveal{ opacity:1; transform:none; }
}
/* =====================================================================
   NISSY HOME CARE — HEADER, FOOTER & MOBILE BAR  (Stage 5 · v1.0)
   Paste BELOW nissy-global.css (same Custom CSS box, or Additional CSS).
   Needs: nissy-header-footer.js
   ===================================================================== */

/* ---------- HEADER: sticky wrapper ---------- */
/* Elementor Theme Builder wraps the header template in .elementor-location-header */
.elementor-location-header{ position:sticky; top:0; z-index:999; }
.admin-bar .elementor-location-header{ top:32px; }
@media (max-width:782px){ .admin-bar .elementor-location-header{ top:0; } }

.nh-header{ background:#fff; transition:box-shadow var(--nh-base) var(--nh-ease); }
.nh-scrolled .nh-header{ box-shadow:0 4px 20px rgba(15,42,61,.08); }

/* Top utility bar — collapses on scroll */
.nh-topbar{
  background:var(--nh-ink) !important; color:#C9D6E0; font-size:13px;
  max-height:44px; overflow:hidden;
  transition:max-height var(--nh-base) var(--nh-ease),opacity var(--nh-fast) linear;
}
.nh-topbar a, .nh-topbar .elementor-icon-list-text{ color:#C9D6E0 !important; font-size:13px; }
.nh-topbar a:hover .elementor-icon-list-text{ color:#fff !important; }
.nh-topbar .elementor-icon-list-icon i, .nh-topbar .elementor-icon-list-icon svg{ color:var(--nh-accent); fill:var(--nh-accent); font-size:13px; width:13px; }
.nh-scrolled .nh-topbar{ max-height:0; opacity:0; padding-block:0 !important; }

/* Main bar — shrinks on scroll */
.nh-mainbar{ min-height:88px; border-bottom:1px solid var(--nh-line); transition:min-height var(--nh-base) var(--nh-ease); }
.nh-scrolled .nh-mainbar{ min-height:76px; }
.nh-logo img{ height:52px !important; width:auto !important; transition:height var(--nh-base) var(--nh-ease); }
.nh-scrolled .nh-logo img{ height:44px !important; }
@media (max-width:1024px){ .nh-mainbar, .nh-scrolled .nh-mainbar{ min-height:72px; } }
@media (max-width:767px){
  .nh-mainbar, .nh-scrolled .nh-mainbar{ min-height:64px; }
  .nh-logo img, .nh-scrolled .nh-logo img{ height:40px !important; }
}

/* ---------- NAV (Elementor "Menu" widget or classic "Nav Menu") ---------- */
.nh-nav .e-n-menu-title-text,
.nh-nav .elementor-nav-menu--main .elementor-item{
  font-family:var(--nh-font-head); font-size:15px; font-weight:600; color:var(--nh-ink);
}
.nh-nav .e-n-menu-title{ position:relative; }
.nh-nav .e-n-menu-title::after,
.nh-nav .elementor-nav-menu--main .elementor-item::after{
  content:""; position:absolute; left:50%; right:50%; bottom:-6px; height:2px; border-radius:2px;
  background:var(--nh-primary); opacity:1; transition:left var(--nh-base) var(--nh-ease),right var(--nh-base) var(--nh-ease);
}
.nh-nav .e-n-menu-title:hover::after, .nh-nav .e-n-menu-title.e-current::after,
.nh-nav .elementor-nav-menu--main .elementor-item:hover::after,
.nh-nav .elementor-nav-menu--main .elementor-item.elementor-item-active::after{ left:14px; right:14px; }
.nh-nav .e-n-menu-title:hover .e-n-menu-title-text,
.nh-nav .e-current .e-n-menu-title-text,
.nh-nav .elementor-item:hover, .nh-nav .elementor-item-active{ color:var(--nh-primary) !important; }

/* ---------- MEGA MENU (content container inside the Services item) ---------- */
.nh-mega{
  background:#fff; border:1px solid var(--nh-line); border-radius:var(--nh-r-lg);
  box-shadow:0 24px 60px rgba(15,42,61,.14); padding:32px !important;
  animation:nh-drop .28s var(--nh-ease);
}
@keyframes nh-drop{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.nh-mega-title .elementor-heading-title{
  font-family:var(--nh-font-head); font-size:12px !important; font-weight:700; letter-spacing:.12em;
  text-transform:uppercase; color:var(--nh-muted) !important; margin-bottom:6px;
}
.nh-mega .elementor-icon-list-item a{ padding:7px 10px; margin-inline:-10px; border-radius:10px; transition:background-color var(--nh-fast); }
.nh-mega .elementor-icon-list-item a:hover{ background:var(--nh-soft); }
.nh-mega .elementor-icon-list-text{ font-size:15px; font-weight:500; color:var(--nh-ink); }
.nh-mega .elementor-icon-list-item a:hover .elementor-icon-list-text{ color:var(--nh-primary); }
.nh-mega-card{ background:var(--nh-soft) !important; border-radius:16px; padding:24px !important; }

/* Classic Nav Menu fallback: style the submenu as a 2-column panel */
.nh-nav .elementor-nav-menu--dropdown.sub-menu,
.nh-nav .elementor-nav-menu--main .sub-menu{
  border-radius:16px; border:1px solid var(--nh-line); box-shadow:0 24px 60px rgba(15,42,61,.14);
  padding:12px !important; background:#fff;
}
.nh-nav .elementor-nav-menu--main .sub-menu{ min-width:520px !important; column-count:2; column-gap:8px; }
.nh-nav .elementor-nav-menu--main .sub-menu li{ break-inside:avoid; }
.nh-nav .sub-menu .elementor-sub-item{ border-radius:10px; font-size:15px; color:var(--nh-ink); padding:10px 14px !important; }
.nh-nav .sub-menu .elementor-sub-item:hover{ background:var(--nh-soft); color:var(--nh-primary); }

/* ---------- HEADER ACTIONS ---------- */
.nh-wa-icon .elementor-icon{
  width:46px; height:46px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--nh-whatsapp); color:#0B2E1A; font-size:22px; transition:transform var(--nh-base) var(--nh-ease);
}
.nh-wa-icon .elementor-icon svg{ fill:#0B2E1A; width:22px; height:22px; }
.nh-wa-icon .elementor-icon:hover{ transform:scale(1.08); }
.nh-burger .elementor-icon{
  width:44px; height:44px; border-radius:12px; border:1px solid var(--nh-line); display:inline-flex; align-items:center; justify-content:center;
  color:var(--nh-ink); font-size:20px;
}
.nh-burger .elementor-icon svg{ fill:var(--nh-ink); width:20px; height:20px; }

/* ---------- OFF-CANVAS MOBILE MENU (Elementor Off-Canvas widget) ---------- */
.nh-drawer .e-off-canvas__content{ width:min(88vw,380px) !important; border-radius:24px 0 0 24px; }
.nh-drawer .e-off-canvas__overlay{ background:rgba(15,42,61,.55) !important; backdrop-filter:blur(2px); }
.nh-drawer-menu .elementor-nav-menu--dropdown{ background:transparent !important; }
.nh-drawer-menu .elementor-item, .nh-drawer-menu .elementor-sub-item{
  font-family:var(--nh-font-head); font-size:17px !important; font-weight:600; color:var(--nh-ink) !important;
  padding:14px 4px !important; border-bottom:1px solid var(--nh-line);
}
.nh-drawer-menu .sub-menu .elementor-sub-item{ font-size:15px !important; font-weight:500; padding-left:16px !important; color:var(--nh-text) !important; }
.nh-drawer-menu .elementor-item-active, .nh-drawer-menu .elementor-item:hover{ color:var(--nh-primary) !important; background:transparent !important; }

/* ---------- FLOATING WHATSAPP (desktop/tablet) ---------- */
.nh-wa-float{ position:fixed !important; right:24px; bottom:24px; z-index:998; width:auto !important; }
.nh-wa-float .elementor-icon{
  width:60px; height:60px; border-radius:50%; background:var(--nh-whatsapp); color:#0B2E1A;
  display:inline-flex; align-items:center; justify-content:center; font-size:28px;
  box-shadow:0 10px 30px rgba(37,211,102,.4); animation:nh-pulse 2.8s ease-out infinite;
}
.nh-wa-float .elementor-icon svg{ fill:#0B2E1A; width:28px; height:28px; }
@keyframes nh-pulse{ 0%{ box-shadow:0 0 0 0 rgba(37,211,102,.45),0 10px 30px rgba(37,211,102,.35); } 70%{ box-shadow:0 0 0 16px rgba(37,211,102,0),0 10px 30px rgba(37,211,102,.35); } 100%{ box-shadow:0 0 0 0 rgba(37,211,102,0),0 10px 30px rgba(37,211,102,.35); } }
@media (max-width:767px){ .nh-wa-float{ display:none !important; } }

/* ---------- MOBILE BOTTOM BAR ---------- */
.nh-mbar{ display:none !important; }
@media (max-width:767px){
  .nh-mbar{
    display:grid !important; grid-template-columns:repeat(3,1fr); gap:0 !important;
    position:fixed !important; left:0; right:0; bottom:0; z-index:998; padding:0 !important;
    padding-bottom:env(safe-area-inset-bottom,0px) !important;
    background:#fff; border-top:1px solid var(--nh-line); box-shadow:0 -6px 20px rgba(15,42,61,.08);
    transform:translateY(0); transition:transform var(--nh-base) var(--nh-ease);
  }
  .nh-mbar.is-hidden{ transform:translateY(110%); }
  .nh-mbar .elementor-widget-button{ width:100%; }
  .nh-mbar .elementor-button{
    width:100%; min-height:60px; border-radius:0 !important; background:#fff !important; color:var(--nh-ink) !important;
    font-family:var(--nh-font-head); font-size:13px !important; font-weight:700; padding:6px 4px !important;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  }
  .nh-mbar .elementor-button .elementor-button-content-wrapper{ flex-direction:column !important; gap:4px; }
  .nh-mbar .elementor-button-icon svg{ width:20px; height:20px; fill:currentColor; }
  .nh-mbar .nh-mbar-wa .elementor-button{ color:#128C4A !important; }
  .nh-mbar .nh-mbar-book .elementor-button{ background:var(--nh-primary) !important; color:#fff !important; }
  body{ padding-bottom:calc(60px + env(safe-area-inset-bottom,0px)); }
}

/* ---------- FOOTER ---------- */
.nh-footer{ background:var(--nh-ink) !important; color:#B8C7D3; }
.nh-footer p, .nh-footer .elementor-icon-list-text{ color:#B8C7D3 !important; font-size:15px; }
.nh-footer .elementor-heading-title{ color:#fff !important; font-family:var(--nh-font-head); font-size:16px !important; font-weight:700; }
.nh-footer a .elementor-icon-list-text{ transition:color var(--nh-fast),transform var(--nh-base) var(--nh-ease); display:inline-block; }
.nh-footer a:hover .elementor-icon-list-text{ color:#fff !important; transform:translateX(4px); }
.nh-footer .elementor-icon-list-icon i, .nh-footer .elementor-icon-list-icon svg{ color:var(--nh-accent); fill:var(--nh-accent); }
.nh-footer .elementor-social-icon{ background:transparent !important; border:1px solid #2A4A62; width:40px; height:40px; font-size:16px; transition:background-color var(--nh-fast),border-color var(--nh-fast),transform var(--nh-base) var(--nh-ease); }
.nh-footer .elementor-social-icon i{ color:#DCE6EE; } .nh-footer .elementor-social-icon svg{ fill:#DCE6EE; }
.nh-footer .elementor-social-icon:hover{ background:var(--nh-primary) !important; border-color:var(--nh-primary); transform:translateY(-3px); }
.nh-footer-bottom{ border-top:1px solid #1F3D54; margin-top:56px; padding-block:22px !important; }
.nh-footer-bottom p, .nh-footer-bottom .elementor-icon-list-text{ font-size:13.5px !important; }

/* Mobile: collapsible link columns (Services, Company) */
.nh-fcol-title{ cursor:default; }
@media (max-width:767px){
  .nh-fcol{ border-bottom:1px solid #1F3D54; }
  .nh-fcol-title{ cursor:pointer; padding-block:16px; }
  .nh-fcol-title .elementor-heading-title{ display:flex; justify-content:space-between; align-items:center; }
  .nh-fcol-title .elementor-heading-title::after{ content:"+"; font-size:22px; font-weight:400; color:var(--nh-accent); transition:transform var(--nh-base) var(--nh-ease); }
  .nh-fcol.is-open .nh-fcol-title .elementor-heading-title::after{ transform:rotate(45deg); }
  .nh-fcol-links{ display:none !important; padding-bottom:16px; }
  .nh-fcol.is-open .nh-fcol-links{ display:block !important; }
  .nh-footer-bottom{ margin-top:32px; text-align:center; }
}

/* =====================================================================
   NISSY HOME CARE — PAGE COMPONENTS  (Stage 6–9 · v1.0)
   Used by the imported pages and saved templates.
   ===================================================================== */

/* ---------- Elementor base overrides (safe even if "default colors/fonts" are on) ---------- */
body .elementor-widget-heading .elementor-heading-title{ color:var(--nh-ink); font-family:var(--nh-font-head); }
body .elementor-widget-text-editor{ color:var(--nh-text); font-family:var(--nh-font-body); }
body .elementor-widget-text-editor p:last-child{ margin-bottom:0; }
body .elementor-widget-image img{ display:block; }
.nh-center .elementor-heading-title, .nh-center .elementor-widget-text-editor{ text-align:center; }
.nh-center .nh-text-narrow{ margin-inline:auto; }
.nh-center .nh-eyebrow .elementor-heading-title{ justify-content:center; }
.nh-text-narrow{ max-width:620px; }
.nh-mt0 .elementor-heading-title{ margin-top:0; }

/* Image ratios (put on the Image widget) */
.nh-ratio-4x5 img{ aspect-ratio:4/5; } .nh-ratio-5x6 img{ aspect-ratio:5/6; } .nh-ratio-4x3 img{ aspect-ratio:4/3; }
.nh-ratio-3x4 img{ aspect-ratio:3/4; } .nh-ratio-16x10 img{ aspect-ratio:16/10; } .nh-ratio-13x9 img{ aspect-ratio:13/9; }
[class*="nh-ratio-"] img{ width:100% !important; height:auto !important; object-fit:cover; max-width:100%; }
@media (max-width:1024px){ .nh-ratio-t-4x3 img{ aspect-ratio:4/3; } .nh-ratio-t-16x10 img{ aspect-ratio:16/10; } }

/* Absolute helpers for floating badges */
.nh-hero-media, .nh-why-media, .nh-pair{ position:relative; }
.nh-hero-media > .elementor-widget-html, .nh-why-media > .elementor-widget-html{ position:absolute !important; width:auto !important; max-width:none; margin:0 !important; z-index:2; }

/* ---------- HERO ---------- */
.nh-hero{ background:radial-gradient(60% 70% at 85% 20%, rgba(3,143,159,.10), transparent 70%), linear-gradient(180deg,var(--nh-soft),#fff) !important; overflow:hidden; }
.nh-hero-lead p{ max-width:540px; }
.nh-hero-ticks .elementor-icon-list-items{ gap:6px 22px; }
.nh-hero-ticks .elementor-icon-list-text{ font-size:14.5px; }
.nh-hero-media > .elementor-widget-html:nth-of-type(2){ left:-36px; top:18%; }
.nh-hero-media > .elementor-widget-html:nth-of-type(3){ right:-20px; bottom:14%; }
.nh-badge{ background:#fff; border-radius:16px; padding:14px 18px; box-shadow:var(--nh-sh-lg); display:flex; gap:12px; align-items:center; font-size:12.5px; line-height:1.35; color:var(--nh-muted); white-space:nowrap; }
.nh-badge b{ display:block; font:800 18px var(--nh-font-head); color:var(--nh-ink); }
.nh-badge--2{ animation-delay:-3s; }
.nh-icon-circle{ width:72px; height:72px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:var(--nh-primary-50); color:var(--nh-primary); font-size:26px; flex:none; }
.nh-icon-circle.is-sm{ width:44px; height:44px; border-radius:12px; font-size:18px; }
@media (max-width:1024px){
  .nh-hero .nh-hero-text{ text-align:center; align-items:center; }
  .nh-hero .nh-hero-text .elementor-heading-title{ text-align:center; }
  .nh-hero .nh-eyebrow .elementor-heading-title{ justify-content:center; }
  .nh-hero .nh-btn-row{ justify-content:center; }
  .nh-hero .nh-hero-ticks .elementor-icon-list-items{ justify-content:center; }
  .nh-hero-lead p{ margin-inline:auto; }
  .nh-hero-media > .elementor-widget-html:nth-of-type(2){ left:16px; top:16px; }
  .nh-hero-media > .elementor-widget-html:nth-of-type(3){ right:16px; bottom:16px; }
}
@media (max-width:767px){
  .nh-hero .nh-hero-text{ text-align:left; align-items:stretch; }
  .nh-hero .nh-hero-text .elementor-heading-title{ text-align:left; }
  .nh-hero .nh-eyebrow .elementor-heading-title{ justify-content:flex-start; }
  .nh-hero .nh-hero-ticks .elementor-icon-list-items{ justify-content:flex-start; flex-direction:column; }
  .nh-hero-media > .elementor-widget-html:nth-of-type(3){ display:none; }
  .nh-badge{ padding:10px 14px; } .nh-badge b{ font-size:16px; }
}

/* ---------- STATS ---------- */
.nh-stats-wrap{ position:relative; z-index:3; margin-top:-60px !important; }
.nh-stats-wrap.is-static{ margin-top:0 !important; }
.nh-stats{ background:#fff; border-radius:var(--nh-r-lg); box-shadow:0 12px 40px rgba(15,42,61,.10); overflow:hidden; }
.nh-stats-wrap.is-static .nh-stats{ box-shadow:none; border:1px solid var(--nh-line); }
.nh-stat{ --padding-top:30px; --padding-bottom:30px; --padding-left:28px; --padding-right:28px; border-right:1px solid var(--nh-line); }
.nh-stat:last-child{ border-right:0; }
@media (max-width:1024px){
  .nh-stat:nth-child(2){ border-right:0; }
  .nh-stat:nth-child(-n+2){ border-bottom:1px solid var(--nh-line); }
}
@media (max-width:767px){ .nh-stat{ --padding-top:22px; --padding-bottom:22px; --padding-left:18px; --padding-right:18px; } }

/* ---------- CARDS (container-based) ---------- */
.nh-card{ --padding-top:32px; --padding-bottom:32px; --padding-left:32px; --padding-right:32px; padding:32px; }
@media (max-width:1024px){ .nh-card{ --padding-top:28px; --padding-bottom:28px; --padding-left:28px; --padding-right:28px; padding:28px; } }
@media (max-width:767px){ .nh-card{ --padding-top:24px; --padding-bottom:24px; --padding-left:24px; --padding-right:24px; padding:24px; } }
.nh-card--flat{ box-shadow:none; }
.nh-card.nh-bg-soft, .nh-card--flat{ border-color:var(--nh-line); }
.nh-card--image{ --padding-top:0; --padding-bottom:0; --padding-left:0; --padding-right:0; padding:0 !important; }
.nh-card--image .nh-card__img{ overflow:hidden; margin:0; }
.nh-card--image .nh-card__img img{ border-radius:0; transition:transform .8s var(--nh-ease); }
.nh-card--image:hover .nh-card__img img{ transform:scale(1.06); }
.nh-card__body{ --padding-top:22px; --padding-bottom:24px; --padding-left:24px; --padding-right:24px; padding:22px 24px 24px; }
.nh-card-title .elementor-heading-title{ font-size:1.1875rem !important; line-height:1.3; font-weight:700; margin:20px 0 8px; }
.nh-card-text{ font-size:15px; line-height:1.6; margin-bottom:16px; }
.nh-card--link{ position:relative; }
.nh-card--link .elementor-widget-button, .nh-card--link .elementor-widget-icon{ position:static; }
.nh-card--link .nh-link .elementor-button::before{ content:""; position:absolute; inset:0; z-index:1; border-radius:inherit; }
.nh-card--link .elementor-widget-icon .elementor-icon{ position:relative; z-index:2; }
body .nh-link .elementor-button{ background:none !important; padding:0 !important; min-height:0; border:0 !important; box-shadow:none !important; color:var(--nh-primary) !important; font-family:var(--nh-font-head); font-weight:700; font-size:15px; display:inline-flex; gap:8px; align-items:center; }
body .nh-link .elementor-button::after{ content:"→"; transition:transform var(--nh-base) var(--nh-ease); }
body .nh-link .elementor-button:hover::after, .nh-card--link:hover .nh-link .elementor-button::after{ transform:translateX(4px); }
@media (max-width:767px){
  .nh-swipe-mobile{ grid-template-columns:none !important; grid-auto-flow:column !important; grid-auto-columns:82%; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:12px; scrollbar-width:thin; }
  .nh-swipe-mobile > .e-con{ scroll-snap-align:start; }
}

/* Reasons (Why Choose Us) */
.nh-reason .elementor-widget-icon{ flex:none; }
.nh-reason-title .elementor-heading-title{ font-size:16.5px !important; font-weight:700; line-height:1.35; }
.nh-reason .nh-small p{ font-size:14px; line-height:1.55; }
.nh-exp{ background:var(--nh-primary); color:#fff; border-radius:20px; padding:22px 26px; box-shadow:var(--nh-sh-lg); }
.nh-exp b{ display:block; font:800 40px/1 var(--nh-font-head); color:#fff; }
.nh-exp span{ font-size:13.5px; opacity:.92; }
.nh-why-media > .elementor-widget-html{ right:-24px; bottom:40px; }
@media (max-width:1024px){ .nh-why-media > .elementor-widget-html{ right:16px; bottom:16px; } }

/* Steps */
.nh-steps{ position:relative; }
.nh-step{ text-align:center; align-items:center; position:relative; }
.nh-step .elementor-heading-title, .nh-step .elementor-widget-text-editor{ text-align:center; }
.nh-step .nh-small p{ max-width:250px; margin-inline:auto; }
.nh-step-title .elementor-heading-title{ font-size:18px !important; font-weight:700; margin-top:10px; }
.nh-step-num{ width:48px; height:48px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; background:var(--nh-ink); color:#fff; font-family:var(--nh-font-head); font-weight:800; font-size:17px; box-shadow:0 0 0 8px #fff; position:relative; z-index:1; }
.nh-bg-soft .nh-step-num, .e-con[class*="soft"] .nh-step-num{ box-shadow:0 0 0 8px var(--nh-soft); }
.nh-step-num.is-sm{ width:36px; height:36px; font-size:14px; box-shadow:none; }
@media (min-width:1025px){
  .nh-steps::before{ content:""; position:absolute; top:24px; left:12%; right:12%; width:auto !important; height:0 !important; border-top:2px dashed #CFD8DE; background:none !important; }
  .nh-steps--5::before{ left:10%; right:10%; }
}
@media (max-width:767px){
  .nh-step{ display:grid !important; grid-template-columns:48px 1fr; column-gap:16px; text-align:left; align-items:start; }
  .nh-step > .elementor-widget-html{ grid-row:span 2; }
  .nh-step .elementor-heading-title, .nh-step .elementor-widget-text-editor{ text-align:left; }
  .nh-step-title .elementor-heading-title{ margin-top:4px; }
  .nh-step .nh-small p{ margin:0; max-width:none; }
}

/* Overlapping image pair */
.nh-pair{ padding-bottom:60px; }
.nh-pair > .nh-pair-inset{ position:absolute !important; right:-10px; bottom:0; width:48% !important; z-index:2; }
.nh-pair-inset img{ border-radius:16px !important; border:6px solid #fff; box-shadow:0 20px 40px rgba(0,0,0,.12); }
@media (max-width:767px){ .nh-pair{ padding-bottom:40px; } .nh-pair > .nh-pair-inset{ right:0; } }

/* Roles */
.nh-role{ background:#fff; border:1px solid var(--nh-line); border-radius:16px; --padding-top:16px; --padding-bottom:16px; --padding-left:16px; --padding-right:16px; padding:16px; }
.nh-role-title .elementor-heading-title{ font-size:15px !important; font-weight:700; line-height:1.3; }
.nh-role .nh-small p{ font-size:12.5px; }
.nh-team-imgs .nh-offset{ margin-top:48px; }
@media (max-width:767px){ .nh-team-imgs .nh-offset{ margin-top:24px; } }

/* ---------- TABS (Nested Tabs widget) ---------- */
.nh-tabs .e-n-tabs-heading{ justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:36px; }
.nh-tabs .e-n-tab-title{ border:1px solid var(--nh-line) !important; background:#fff !important; border-radius:999px !important; padding:12px 22px !important; flex:0 0 auto !important; transition:background-color var(--nh-fast),color var(--nh-fast); }
.nh-tabs .e-n-tab-title-text{ font-family:var(--nh-font-head) !important; font-weight:600 !important; font-size:14.5px !important; color:var(--nh-ink) !important; }
.nh-tabs .e-n-tab-title[aria-selected="true"]{ background:var(--nh-ink) !important; border-color:var(--nh-ink) !important; }
.nh-tabs .e-n-tab-title[aria-selected="true"] .e-n-tab-title-text{ color:#fff !important; }
.nh-tabs .e-n-tab-title:hover:not([aria-selected="true"]){ background:var(--nh-soft) !important; }
.nh-tabs .e-n-tabs-content > .e-con{ border:0 !important; padding:0 !important; }
@media (max-width:767px){ .nh-tabs .e-n-tabs-heading{ justify-content:flex-start; flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; } }

/* ---------- TESTIMONIALS ---------- */
.nh-slider{ flex-wrap:nowrap !important; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:4px 2px 8px !important; }
.nh-slider::-webkit-scrollbar{ display:none; }
.nh-slider > .nh-slide{ flex:0 0 calc((100% - 48px) / 3) !important; width:auto !important; scroll-snap-align:start; }
@media (max-width:1024px){ .nh-slider > .nh-slide{ flex-basis:calc((100% - 24px) / 2) !important; } }
@media (max-width:767px){ .nh-slider > .nh-slide{ flex-basis:88% !important; } }
.nh-slider-nav{ display:flex; justify-content:center; align-items:center; gap:8px; margin-top:28px; }
.nh-slider-nav button.nh-arrow{ width:44px; height:44px; border-radius:50%; border:1px solid var(--nh-line); background:#fff; color:var(--nh-ink); cursor:pointer; font-size:18px; margin:0 8px; transition:background-color var(--nh-fast),color var(--nh-fast); }
.nh-slider-nav button.nh-arrow:hover{ background:var(--nh-primary); color:#fff; border-color:var(--nh-primary); }
.nh-slider-nav .nh-dot{ width:8px; height:8px; padding:0; border:0; border-radius:99px; background:#CFD8DE; cursor:pointer; transition:width var(--nh-base) var(--nh-ease),background-color var(--nh-fast); }
.nh-slider-nav .nh-dot.is-active{ width:26px; background:var(--nh-primary); }
.nh-quote{ position:relative; }
.nh-quote-text p{ font-size:16px; line-height:1.7; color:var(--nh-text); }
.nh-stars .elementor-heading-title, .nh-stars{ color:var(--nh-accent) !important; letter-spacing:3px; font-size:18px !important; }
.nh-person{ border-top:1px solid var(--nh-line); padding-top:18px !important; margin-top:auto; }
.nh-person-name .elementor-heading-title{ font-size:15px !important; font-weight:700; }
.nh-avatar{ width:48px; height:48px; border-radius:50%; background:var(--nh-primary-50); color:var(--nh-primary); display:inline-flex; align-items:center; justify-content:center; font:800 15px var(--nh-font-head); }
.nh-placeholder-tag{ display:inline-block; font:700 10.5px var(--nh-font-head); letter-spacing:.08em; text-transform:uppercase; background:#FFF4E0; color:#8A5A00; padding:4px 10px; border-radius:6px; }
.nh-rating{ display:inline-flex; gap:10px; align-items:center; font-size:14.5px; color:var(--nh-ink); background:#fff; border:1px solid var(--nh-line); border-radius:999px; padding:8px 16px; }
.nh-center-block{ text-align:center; margin:0; }
.nh-single-quote{ max-width:760px; margin-inline:auto; }
.nh-rating-card{ display:flex; align-items:center; gap:16px; }
.nh-rating-card b{ font:800 44px/1 var(--nh-font-head); color:var(--nh-ink); }
.nh-rating-card small{ display:block; color:var(--nh-muted); font-size:14px; }

/* ---------- FAQ ---------- */
@media (min-width:1025px){ .nh-faq-side{ position:sticky !important; top:110px; } }
.nh-faq .e-n-accordion{ display:flex; flex-direction:column; gap:12px; }
.nh-faq .e-n-accordion-item{ margin:0 !important; }
.nh-faq .e-n-accordion-item-title{ border:0 !important; background:#fff !important; justify-content:space-between !important; }
.nh-faq .e-n-accordion-item-title-text{ font-family:var(--nh-font-head) !important; font-size:17px !important; font-weight:600 !important; color:var(--nh-ink) !important; line-height:1.4; }
.nh-faq .e-n-accordion-item[open] .e-n-accordion-item-title-text{ color:var(--nh-primary) !important; }
.nh-faq .e-n-accordion-item-title-icon{ width:32px; height:32px; border-radius:50%; background:var(--nh-primary-50); display:inline-flex !important; align-items:center; justify-content:center; flex:none; }
.nh-faq .e-n-accordion-item-title-icon svg{ width:12px !important; height:12px !important; fill:var(--nh-primary) !important; }
.nh-faq .e-n-accordion-item > .e-con{ border:0 !important; --padding-top:0; --padding-left:28px; --padding-right:28px; --padding-bottom:22px; padding:0 28px 22px !important; }
.nh-faq-group{ max-width:880px; margin-inline:auto; }
@media (max-width:767px){ .nh-faq .e-n-accordion-item-title{ padding:18px 20px !important; } .nh-faq .e-n-accordion-item > .e-con{ padding:0 20px 18px !important; } }

/* ---------- FINAL CTA ---------- */
.nh-cta-box{ border-radius:var(--nh-r-xl); overflow:hidden; position:relative; isolation:isolate; --padding-top:80px; --padding-bottom:80px; --padding-left:48px; --padding-right:48px; padding:80px 48px; text-align:center; }
.nh-cta-box::before{ content:"" !important; position:absolute; inset:0; width:auto !important; height:auto !important; z-index:-1; mix-blend-mode:normal !important; opacity:1 !important; background:linear-gradient(120deg,rgba(3,143,159,.96),rgba(3,143,159,.84)); }
.nh-cta-box .elementor-heading-title{ color:#fff !important; max-width:720px; margin-inline:auto; }
.nh-cta-box .elementor-widget-text-editor, .nh-cta-box .nh-lead p{ color:#DCE6EE !important; max-width:600px; margin-inline:auto; }
.nh-cta-box .nh-btn-row{ justify-content:center; }
@media (max-width:767px){ .nh-cta-box{ --padding-top:48px; --padding-bottom:48px; --padding-left:22px; --padding-right:22px; padding:48px 22px; border-radius:22px; } }

/* ---------- PAGE BANNER ---------- */
.nh-banner{ background:radial-gradient(50% 80% at 90% 0%, rgba(3,143,159,.10), transparent 70%), linear-gradient(180deg,var(--nh-soft),#fff) !important; border-bottom:1px solid var(--nh-line); }
.nh-h1--page .elementor-heading-title{ font-size:clamp(2rem,1.3rem + 2.4vw,3rem) !important; line-height:1.12; }
.nh-banner .nh-lead p{ max-width:640px; }
.nh-crumbs{ font-size:14px; color:var(--nh-muted); display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.nh-crumbs a{ color:var(--nh-primary); text-decoration:none; font-weight:500; }
.nh-crumbs a:hover{ text-decoration:underline; }
.nh-crumbs .sep{ color:#AAB6C0; }

/* ---------- PLANS, STRIPS, WHO ---------- */
.nh-plan{ height:100%; }
.nh-plan .nh-plan-cta{ margin-top:auto; }
.nh-plan.is-featured{ border:2px solid var(--nh-primary) !important; box-shadow:var(--nh-sh-lg); }
.nh-h3 .elementor-heading-title{ font-size:var(--nh-h3) !important; font-weight:700; line-height:1.3; }
.nh-strip{ background:var(--nh-soft) !important; border:1px solid var(--nh-line); }
.nh-strip--dark{ background:var(--nh-ink) !important; border-color:var(--nh-ink); }
.nh-strip--dark .elementor-heading-title{ color:#fff !important; }
.nh-strip--dark .elementor-widget-text-editor{ color:#B8C7D3; }
.nh-strip .nh-btn-row{ justify-content:flex-end; }
@media (max-width:1024px){ .nh-strip .nh-btn-row{ justify-content:flex-start; } }
.nh-who{ background:var(--nh-soft); border:1px solid var(--nh-line); }
.nh-meta .elementor-icon-list-text{ font-size:14px; color:var(--nh-muted) !important; }
.nh-meta .elementor-icon-list-icon svg{ fill:var(--nh-primary); width:14px; }
.nh-hr{ border:0; border-top:1px solid var(--nh-line); margin:4px 0; }
@media (min-width:1025px){ .nh-sticky{ position:sticky !important; top:110px; } }

/* ---------- FORMS (Fluent Forms / Elementor Form) ---------- */
.nh-form-card{ box-shadow:var(--nh-sh-md); }
.nh-form .ff-el-group{ margin-bottom:18px; }
.nh-form .ff-el-input--label label, .nh-form label{ font-family:var(--nh-font-head); font-weight:600; font-size:14px; color:var(--nh-ink); margin-bottom:6px; display:inline-block; }
.nh-form .ff-el-form-control, .nh-form input[type="text"], .nh-form input[type="tel"], .nh-form input[type="email"], .nh-form select, .nh-form textarea{
  width:100%; border:1px solid var(--nh-line) !important; border-radius:var(--nh-r-sm) !important; padding:14px 16px !important; font:16px var(--nh-font-body); color:var(--nh-ink); background:#fff; transition:border-color var(--nh-fast),box-shadow var(--nh-fast); }
.nh-form .ff-el-form-control:focus, .nh-form input:focus, .nh-form select:focus, .nh-form textarea:focus{ outline:0; border-color:var(--nh-primary) !important; box-shadow:0 0 0 4px rgba(2,116,129,.12); }
.nh-form .ff-t-container{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
@media (max-width:767px){ .nh-form .ff-t-container{ grid-template-columns:1fr; } }
.nh-form .ff-btn-submit, .nh-form button[type="submit"]{ background:var(--nh-primary) !important; color:#fff !important; border:0 !important; border-radius:999px !important; min-height:56px; padding:0 32px !important; font:700 16px var(--nh-font-head) !important; cursor:pointer; transition:background-color var(--nh-fast),transform var(--nh-base) var(--nh-ease); }
.nh-form .ff-btn-submit:hover, .nh-form button[type="submit"]:hover{ background:var(--nh-primary-dark) !important; transform:translateY(-2px); }
.nh-form .ff-el-help-message, .nh-form small{ font-size:13px; color:var(--nh-muted); }
@media (max-width:767px){ .nh-form .ff-btn-submit, .nh-form button[type="submit"]{ width:100%; } }

/* ---------- MISC ---------- */
.nh-map iframe{ width:100%; aspect-ratio:4/3; border:0; border-radius:var(--nh-r-lg); display:block; box-shadow:var(--nh-sh-md); }
.nh-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.nh-chips.is-center{ justify-content:center; }
a.nh-chip{ text-decoration:none; transition:background-color var(--nh-fast),color var(--nh-fast); }
a.nh-chip:hover{ background:var(--nh-primary); color:#fff; }
.nh-prose-wrap{ max-width:760px; margin-inline:auto; }
.nh-prose h2{ font-size:1.375rem; margin:2em 0 .6em; color:var(--nh-ink); }
.nh-prose ul{ padding-left:1.2em; } .nh-prose li{ margin-bottom:.4em; }
.nh-legal-note{ background:#FFF4E0; color:#6B4700; border-radius:12px; padding:14px 18px; font-size:14.5px; }
.nh-thanks{ max-width:680px; margin-inline:auto; }
.nh-thanks-icon{ width:84px; height:84px; margin:0 auto; border-radius:50%; background:var(--nh-primary-50); color:var(--nh-primary); display:flex; align-items:center; justify-content:center; font:800 40px var(--nh-font-head); }
.nh-btn-row.nh-center{ justify-content:center; }
.nh-head{ max-width:100%; }

/* Header template helpers */
.nh-mainbar .e-con{ --width:auto; width:auto; }
.nh-mainbar > .e-con-inner > .e-con:nth-child(2){ flex:1 1 auto; }
.nh-menu-placeholder{ border:2px dashed #B9A4F0; background:#F1ECFD; color:#5B3DB8; font-size:13px; padding:10px 14px; border-radius:10px; text-align:center; }
.nh-topbar-list .elementor-icon-list-items{ gap:0 22px; }
.nh-contact-list .elementor-icon-list-item{ align-items:flex-start !important; }
.nh-fcol-links .elementor-icon-list-item a, .nh-legal-links a{ color:#B8C7D3; }
.nh-footer .nh-logo img{ height:48px !important; width:auto !important; }
.nh-floaters{ position:static !important; padding:0 !important; }

/* ---------- BLOG (nissy-functions.php) ---------- */
.nh-posts{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media (max-width:1024px){ .nh-posts{ grid-template-columns:1fr 1fr; } }
@media (max-width:767px){ .nh-posts{ grid-template-columns:1fr; } }
.nh-post{ background:#fff; border:1px solid var(--nh-line); border-radius:var(--nh-r-lg); overflow:hidden; display:flex; flex-direction:column; position:relative; transition:transform var(--nh-base) var(--nh-ease),box-shadow var(--nh-base) var(--nh-ease); }
.nh-post:hover{ transform:translateY(-6px); box-shadow:var(--nh-sh-lg); }
.nh-post__img{ aspect-ratio:16/10; overflow:hidden; background:var(--nh-soft); }
.nh-post__img img{ width:100%; height:100%; object-fit:cover; transition:transform .8s var(--nh-ease); }
.nh-post:hover .nh-post__img img{ transform:scale(1.06); }
.nh-post__body{ padding:22px 24px 26px; display:flex; flex-direction:column; gap:10px; flex:1; }
.nh-post__meta{ font-size:13px; color:var(--nh-muted); display:flex; gap:10px; flex-wrap:wrap; }
.nh-post__cat{ color:var(--nh-primary); font-weight:600; }
.nh-post__title{ font:700 19px/1.35 var(--nh-font-head); color:var(--nh-ink); margin:0; }
.nh-post__title a{ color:inherit; text-decoration:none; }
.nh-post__title a::before{ content:""; position:absolute; inset:0; }
.nh-post__excerpt{ font-size:15px; line-height:1.6; margin:0; }
.nh-post__more{ margin-top:auto; font:700 14.5px var(--nh-font-head); color:var(--nh-primary); }
.nh-pagination{ display:flex; justify-content:center; gap:8px; margin-top:40px; }
.nh-pagination a, .nh-pagination span{ min-width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; border:1px solid var(--nh-line); color:var(--nh-ink); text-decoration:none; padding:0 14px; }
.nh-pagination .current{ background:var(--nh-primary); color:#fff; border-color:var(--nh-primary); }
.nh-empty{ text-align:center; color:var(--nh-muted); padding:40px; border:1px dashed var(--nh-line); border-radius:var(--nh-r-lg); }
/* Single post (Hello Elementor theme) */
.single-post .site-main{ max-width:760px !important; margin-inline:auto; padding:48px 20px 64px; }
.single-post .page-header .entry-title{ font:800 clamp(2rem,1.4rem + 2vw,2.75rem)/1.15 var(--nh-font-head); color:var(--nh-ink); letter-spacing:-.02em; }
.single-post .page-content{ font-size:17.5px; line-height:1.8; color:var(--nh-text); }
.single-post .page-content h2{ font:700 1.625rem/1.3 var(--nh-font-head); color:var(--nh-ink); margin:1.8em 0 .6em; }
.single-post .page-content h3{ font:700 1.25rem/1.35 var(--nh-font-head); color:var(--nh-ink); margin:1.5em 0 .5em; }
.single-post .page-content img{ border-radius:var(--nh-r-lg); }
.nh-post-cta{ margin:48px 0 0; background:var(--nh-ink); color:#B8C7D3; border-radius:var(--nh-r-lg); padding:32px; }
.nh-post-cta h3{ color:#fff !important; margin:0 0 8px !important; font:700 22px var(--nh-font-head); }
.nh-post-cta p{ margin:0 0 18px; }
.nh-post-cta .nh-btn{ margin:0 10px 10px 0; }

/* FAQ title layout: question left, +/- right */
.nh-faq .e-n-accordion-item-title{ display:flex !important; flex-direction:row !important; align-items:center; gap:16px; }
.nh-faq .e-n-accordion-item-title-header{ flex:1 1 auto; text-align:left; order:1; }
.nh-faq .e-n-accordion-item-title-icon{ order:2; }
