.elementor-23316 .elementor-element.elementor-element-cff5876{--display:flex;}.elementor-23316 .elementor-element.elementor-element-6863c22{--display:flex;--margin-top:0px;--margin-bottom:-20px;--margin-left:0px;--margin-right:0px;}.elementor-23316 .elementor-element.elementor-element-a7b36d6{--display:flex;}.elementor-23316 .elementor-element.elementor-element-a7b36d6.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-23316 .elementor-element.elementor-element-3024eca > .elementor-widget-container{margin:-30px 0px -70px 0px;}.elementor-23316 .elementor-element.elementor-element-3024eca{width:100%;max-width:100%;}.elementor-23316 .elementor-element.elementor-element-76fefd6 > .elementor-container{max-width:592px;}.elementor-23316 .elementor-element.elementor-element-76fefd6 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-23316 .elementor-element.elementor-element-76fefd6{margin-top:0px;margin-bottom:50px;padding:0px 30px 0px 30px;}.elementor-23316 .elementor-element.elementor-element-baa055f > .elementor-widget-wrap > .elementor-widget:not(.elementor-widget__width-auto):not(.elementor-widget__width-initial):not(:last-child):not(.elementor-absolute){margin-block-end:0px;}.elementor-23316 .elementor-element.elementor-element-baa055f > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-23316 .elementor-element.elementor-element-02080ca{--display:flex;}.elementor-23316 .elementor-element.elementor-element-02080ca.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-23316 .elementor-element.elementor-element-4e538ee{--display:flex;--justify-content:center;}.elementor-23316 .elementor-element.elementor-element-4e538ee.e-con{--align-self:center;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-23316 .elementor-element.elementor-element-62e659c > .elementor-widget-container{margin:0px 0px -20px 0px;}.elementor-23316 .elementor-element.elementor-element-1140e81{column-gap:0px;}.elementor-23316 .elementor-element.elementor-element-1140e81 > .elementor-widget-container{margin:-10px 0px 20px 0px;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );color:var( --e-global-color-text );}.elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon-box-wrapper{align-items:center;gap:34px;}.elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon-box-title{margin-block-end:5px;color:var( --e-global-color-accent );}.elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon{font-size:64px;}.elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon-box-title, .elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon-box-title a{font-size:18px;font-weight:500;line-height:1.44em;}.elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon-box-description{font-size:14px;}.elementor-23316 .elementor-element.elementor-element-8ae28e9 > .elementor-widget-container{margin:0px 0px 10px 0px;padding:35px 35px 35px 35px;border-radius:20px 20px 20px 20px;box-shadow:0px 0px 50px 10px rgba(0, 0, 0, 0.05);}.elementor-23316 .elementor-element.elementor-element-8ae28e9:hover > .elementor-widget-container{border-radius:10px 10px 10px 10px;}.elementor-23316 .elementor-element.elementor-element-8ae28e9:hover .elementor-widget-container{box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0.1);}.elementor-23316 .elementor-element.elementor-element-8647b43{--display:flex;}.elementor-23316 .elementor-element.elementor-element-8647b43.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-23316 .elementor-element.elementor-element-a4ff32b{width:var( --container-widget-width, 111.54% );max-width:111.54%;--container-widget-width:111.54%;--container-widget-flex-grow:0;}.elementor-23316 .elementor-element.elementor-element-a4ff32b.elementor-element{--flex-grow:0;--flex-shrink:0;}@media(max-width:1024px){.elementor-23316 .elementor-element.elementor-element-3024eca > .elementor-widget-container{margin:-20px 0px -110px 0px;}.elementor-23316 .elementor-element.elementor-element-baa055f > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-23316 .elementor-element.elementor-element-3024eca > .elementor-widget-container{margin:-20px 0px -170px 0px;}.elementor-23316 .elementor-element.elementor-element-76fefd6{padding:0px 15px 0px 15px;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-icon-box .elementor-icon-box-description{font-size:var( --e-global-typography-text-font-size );}.elementor-23316 .elementor-element.elementor-element-8ae28e9 .elementor-icon-box-wrapper{gap:10px;}}@media(min-width:768px){.elementor-23316 .elementor-element.elementor-element-a7b36d6{--width:78%;}.elementor-23316 .elementor-element.elementor-element-02080ca{--width:155.913%;}.elementor-23316 .elementor-element.elementor-element-4e538ee{--width:200%;}.elementor-23316 .elementor-element.elementor-element-8647b43{--width:58.601%;}}@media(max-width:1024px) and (min-width:768px){.elementor-23316 .elementor-element.elementor-element-baa055f{width:100%;}.elementor-23316 .elementor-element.elementor-element-4e538ee{--width:738px;}}/* Start custom CSS for html, class: .elementor-element-34a730b *//* =========================================================
   NIHAPA TOURS — 5 DAY MIGRATION MASTER PRODUCT PAGE
   Page shell only. All .elementor-23316 .elementor-element.elementor-element-34a730bs are scoped.
   ========================================================= */

#nihapa8Master,
#nihapa8Master *,
#nihapa8Master *::before,
#nihapa8Master *::after {
  box-sizing:border-box;
}

#nihapa8Master {
  --nhm-primary:#FF4758;
  --nhm-primary-dark:#d93a49;
  --nhm-primary-soft:#fff3f4;
  --nhm-primary-border:#ffd9de;
  --nhm-teal:#79aaae;
  --nhm-teal-dark:#5f8f93;
  --nhm-teal-soft:#eef6f6;
  --nhm-text:#1f1f1f;
  --nhm-muted:#666666;
  --nhm-border:#e5e5e5;
  --nhm-light:#f7f7f7;
  --nhm-white:#ffffff;
  --nhm-shadow:0 14px 38px rgba(31,31,31,.08);
  width:100%;
  position:relative;
  color:var(--nhm-text);
  background:#fff;
  font-family:inherit;
}

#nihapa8Master [hidden] {
  display:none !important;
}

#nihapa8Master a {
  color:inherit;
  text-decoration:none;
}

#nihapa8Master img {
  max-width:100%;
}

#nihapa8Master .nhm-shell {
  width:min(1180px,calc(100% - 36px));
  margin:0 auto;
}

#nihapa8Master .nhm-section {
  padding:72px 0;
  scroll-margin-top:82px;
}

#nihapa8Master .nhm-section-head {
  max-width:820px;
  margin:0 0 30px;
}

#nihapa8Master .nhm-eyebrow,
#nihapa8Master .nhm-kicker {
  display:inline-flex;
  color:var(--nhm-primary);
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}

#nihapa8Master .nhm-section-head h2,
#nihapa8Master .nhm-final-cta h2 {
  margin:7px 0 10px;
  color:var(--nhm-text);
  font-size:clamp(27px,4vw,42px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.035em;
}

#nihapa8Master .nhm-section-head p,
#nihapa8Master .nhm-final-cta p {
  margin:0;
  color:var(--nhm-muted);
  font-size:14px;
  line-height:1.75;
}

#nihapa8Master .nhm-hero {
  position:relative;
  min-height:650px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:#172123;
}

#nihapa8Master .nhm-hero-media,
#nihapa8Master .nhm-hero-media img,
#nihapa8Master .nhm-hero-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

#nihapa8Master .nhm-hero-media img {
  object-fit:cover;
  object-position:center;
}

#nihapa8Master .nhm-hero-shade {
  background:
    linear-gradient(90deg,rgba(10,18,20,.88) 0%,rgba(10,18,20,.72) 44%,rgba(10,18,20,.34) 70%,rgba(10,18,20,.42) 100%),
    linear-gradient(0deg,rgba(10,18,20,.4),transparent 45%);
}

#nihapa8Master .nhm-hero-grid {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(300px,.68fr);
  gap:52px;
  align-items:center;
  padding:70px 0;
}

#nihapa8Master .nhm-hero-copy {
  max-width:740px;
}

#nihapa8Master .nhm-kicker {
  color:#fff;
  opacity:.9;
}

#nihapa8Master .nhm-hero h1 {
  margin:12px 0 16px;
  color:#fff;
  font-size:clamp(40px,6vw,68px);
  line-height:.98;
  font-weight:950;
  letter-spacing:-.05em;
}

#nihapa8Master .nhm-lead {
  max-width:700px;
  margin:0;
  color:rgba(255,255,255,.9);
  font-size:16px;
  line-height:1.75;
}

#nihapa8Master .nhm-hero-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}

#nihapa8Master .nhm-hero-chips span {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:10.5px;
  line-height:1.2;
  font-weight:850;
  backdrop-filter:blur(8px);
}

#nihapa8Master .nhm-hero-actions,
#nihapa8Master .nhm-center-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

#nihapa8Master .nhm-btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:11px 18px;
  border:1px solid transparent;
  border-radius:12px;
  font-size:12px;
  line-height:1.2;
  font-weight:900;
  text-align:center;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease;
}

#nihapa8Master .nhm-btn:hover {
  transform:translateY(-1px);
}

#nihapa8Master .nhm-btn-primary {
  background:var(--nhm-primary);
  color:#fff;
  box-shadow:0 8px 18px rgba(255,71,88,.24);
}

#nihapa8Master .nhm-btn-primary:hover {
  background:var(--nhm-primary-dark);
  color:#fff;
}

#nihapa8Master .nhm-btn-secondary {
  border-color:var(--nhm-teal);
  background:#fff;
  color:var(--nhm-teal-dark);
}

#nihapa8Master .nhm-btn-secondary:hover {
  background:var(--nhm-teal-soft);
  color:var(--nhm-teal-dark);
}

#nihapa8Master .nhm-booking-card {
  padding:26px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 22px 60px rgba(0,0,0,.22);
}

#nihapa8Master .nhm-booking-label {
  color:var(--nhm-primary);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#nihapa8Master .nhm-from {
  margin-top:8px;
  color:var(--nhm-muted);
  font-size:13px;
  font-weight:800;
}

#nihapa8Master .nhm-from strong {
  display:block;
  margin-top:3px;
  color:var(--nhm-teal-dark);
  font-size:42px;
  line-height:1;
  letter-spacing:-.04em;
}

#nihapa8Master .nhm-booking-card > p {
  margin:6px 0 18px;
  color:#777;
  font-size:10.5px;
}

#nihapa8Master .nhm-facts {
  margin:0;
  border-top:1px solid var(--nhm-border);
}

#nihapa8Master .nhm-facts div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:10px 0;
  border-bottom:1px solid var(--nhm-border);
}

#nihapa8Master .nhm-facts dt {
  color:#777;
  font-size:10.5px;
  font-weight:800;
}

#nihapa8Master .nhm-facts dd {
  margin:0;
  color:var(--nhm-text);
  font-size:11px;
  font-weight:900;
  text-align:right;
}

#nihapa8Master .nhm-coordinator {
  display:flex;
  align-items:center;
  gap:12px;
  margin-top:16px;
  padding:12px;
  border:1px solid var(--nhm-primary-border);
  border-radius:14px;
  background:linear-gradient(135deg,#fff8f9,#fff);
}

#nihapa8Master .nhm-coordinator img {
  width:58px;
  height:auto;
  flex:0 0 auto;
  display:block;
  border:0;
  border-radius:0;
  background:transparent;
  object-fit:contain;
}

#nihapa8Master .nhm-coordinator div {
  display:flex;
  flex-direction:column;
  gap:2px;
}

#nihapa8Master .nhm-coordinator span {
  color:#777;
  font-size:9.5px;
  font-weight:800;
}

#nihapa8Master .nhm-coordinator strong {
  font-size:12px;
  font-weight:900;
}

#nihapa8Master .nhm-coordinator a {
  color:var(--nhm-teal-dark);
  font-size:10px;
  font-weight:800;
}

#nihapa8Master .nhm-trust {
  border-bottom:1px solid var(--nhm-border);
  background:#fff;
}

#nihapa8Master .nhm-trust-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
}

#nihapa8Master .nhm-trust-grid div {
  min-width:0;
  padding:20px 15px;
  border-right:1px solid var(--nhm-border);
}

#nihapa8Master .nhm-trust-grid div:last-child {
  border-right:0;
}

#nihapa8Master .nhm-trust-grid strong,
#nihapa8Master .nhm-trust-grid span {
  display:block;
}

#nihapa8Master .nhm-trust-grid strong {
  color:var(--nhm-text);
  font-size:11px;
  font-weight:900;
}

#nihapa8Master .nhm-trust-grid span {
  margin-top:3px;
  color:#777;
  font-size:9.5px;
  line-height:1.4;
}

#nihapa8Master .nhm-nav {
  position:sticky;
  top:0;
  z-index:500;
  border-bottom:1px solid var(--nhm-border);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
}

#nihapa8Master .nhm-nav-scroll {
  display:flex;
  align-items:center;
  gap:4px;
  padding:8px 0;
  overflow-x:auto;
  scrollbar-width:none;
}

#nihapa8Master .nhm-nav-scroll::-webkit-scrollbar {
  display:none;
}

#nihapa8Master .nhm-nav a {
  flex:0 0 auto;
  min-height:36px;
  padding:9px 11px;
  border-radius:9px;
  color:#666;
  font-size:10.5px;
  line-height:1;
  font-weight:850;
}

#nihapa8Master .nhm-nav a:hover {
  background:var(--nhm-teal-soft);
  color:var(--nhm-teal-dark);
}

#nihapa8Master .nhm-nav a.is-active {
  background:var(--nhm-primary);
  color:#fff;
}

#nihapa8Master .nhm-overview {
  background:#fff;
}

#nihapa8Master .nhm-route {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 28px;
  padding:16px 18px;
  border:1px solid var(--nhm-border);
  border-radius:14px;
  background:var(--nhm-light);
}

#nihapa8Master .nhm-route span {
  display:inline-flex;
  padding:6px 9px;
  border:1px solid var(--nhm-border);
  border-radius:999px;
  background:#fff;
  font-size:10.5px;
  font-weight:850;
}

#nihapa8Master .nhm-route i {
  color:var(--nhm-primary);
  font-style:normal;
  font-weight:900;
}

#nihapa8Master .nhm-overview-grid,
#nihapa8Master .nhm-feature-grid,
#nihapa8Master .nhm-process-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

#nihapa8Master .nhm-overview-grid article,
#nihapa8Master .nhm-feature-grid article,
#nihapa8Master .nhm-process-grid article {
  padding:20px;
  border:1px solid var(--nhm-border);
  border-radius:17px;
  background:#fff;
}

#nihapa8Master .nhm-overview-grid article > span,
#nihapa8Master .nhm-feature-grid article > span,
#nihapa8Master .nhm-process-grid article > span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  min-height:26px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--nhm-primary-soft);
  color:var(--nhm-primary);
  font-size:10px;
  font-weight:900;
}

#nihapa8Master .nhm-overview-grid h3,
#nihapa8Master .nhm-feature-grid h3,
#nihapa8Master .nhm-process-grid h3 {
  margin:12px 0 6px;
  font-size:15px;
  line-height:1.25;
  font-weight:900;
}

#nihapa8Master .nhm-overview-grid p,
#nihapa8Master .nhm-feature-grid p,
#nihapa8Master .nhm-process-grid p {
  margin:0;
  color:var(--nhm-muted);
  font-size:11px;
  line-height:1.65;
}

#nihapa8Master .nhm-notice {
  margin-top:18px;
  padding:14px 16px;
  border:1px solid var(--nhm-primary-border);
  border-left:4px solid var(--nhm-primary);
  border-radius:12px;
  background:#fff8f9;
  color:#666;
  font-size:11px;
  line-height:1.65;
}

#nihapa8Master .nhm-notice strong {
  color:var(--nhm-text);
}

#nihapa8Master .nhm-departures {
  padding-bottom:70px;
  background:#fafafa;
}

#nihapa8Master .nhm-departures > .nhm-shell {
  padding-bottom:0;
}

/* Avoid competing sticky bars: page section nav remains sticky. */
#nihapa8Master #nihapaMigration8 .nh-filters {
  position:relative;
  top:auto;
  z-index:20;
}

/* Calendar itself sits naturally inside the master page. */
#nihapa8Master #nihapaMigration8 .nh-shell {
  max-width:1180px;
  padding-top:0;
  padding-bottom:0;
}

/* Hard fail-safe for the calendar-local modal. */
#nihapa8Master #nihapaMigration8 #nh8Overlay[hidden],
#nihapa8Master #nihapaMigration8 #nh8Popup[hidden] {
  display:none !important;
}

#nihapa8Master .nhm-group-section,
#nihapa8Master .nhm-lodges,
#nihapa8Master .nhm-process,
#nihapa8Master .nhm-related {
  background:#f8f9f9;
}

#nihapa8Master .nhm-feature-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

#nihapa8Master .nhm-feature-grid article {
  box-shadow:0 7px 18px rgba(31,31,31,.035);
}

#nihapa8Master .nhm-days {
  display:grid;
  gap:14px;
}

#nihapa8Master .nhm-day {
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  padding:20px;
  border:1px solid var(--nhm-border);
  border-radius:19px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,31,31,.045);
}

#nihapa8Master .nhm-day-number {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:86px;
  border:2px solid var(--nhm-primary-border);
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fff7f8);
}

#nihapa8Master .nhm-day-number span {
  color:#888;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

#nihapa8Master .nhm-day-number strong {
  margin-top:3px;
  color:var(--nhm-primary);
  font-size:28px;
  line-height:1;
  font-weight:950;
}

#nihapa8Master .nhm-day-title {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}

#nihapa8Master .nhm-day-title > div > span {
  color:var(--nhm-teal-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}

#nihapa8Master .nhm-day-title h3 {
  margin:4px 0 0;
  font-size:20px;
  line-height:1.25;
  font-weight:900;
}

#nihapa8Master .nhm-day-badge {
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:999px;
  background:var(--nhm-primary-soft);
  color:var(--nhm-primary);
  font-size:9.5px;
  font-weight:900;
}

#nihapa8Master .nhm-day-content > p {
  max-width:900px;
  margin:11px 0;
  color:var(--nhm-muted);
  font-size:12px;
  line-height:1.7;
}

#nihapa8Master .nhm-day-meta {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}

#nihapa8Master .nhm-day-meta span {
  padding:9px 10px;
  border:1px solid var(--nhm-border);
  border-radius:10px;
  background:var(--nhm-light);
  color:#555;
  font-size:10px;
  line-height:1.45;
}

#nihapa8Master .nhm-day-meta b {
  display:block;
  margin-bottom:2px;
  color:#888;
  font-size:8.5px;
  text-transform:uppercase;
}

#nihapa8Master .nhm-wildlife {
  margin-top:9px;
  color:#555;
  font-size:10.5px;
  line-height:1.55;
}

#nihapa8Master .nhm-lodge-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

#nihapa8Master .nhm-lodge-grid article {
  padding:20px;
  border:1px solid var(--nhm-border);
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,31,31,.04);
}

#nihapa8Master .nhm-lodge-grid span {
  color:var(--nhm-primary);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

#nihapa8Master .nhm-lodge-grid h3 {
  margin:8px 0 6px;
  font-size:16px;
  line-height:1.25;
  font-weight:900;
}

#nihapa8Master .nhm-lodge-grid p,
#nihapa8Master .nhm-smallprint {
  margin:0;
  color:var(--nhm-muted);
  font-size:10.5px;
  line-height:1.6;
}

#nihapa8Master .nhm-smallprint {
  margin-top:12px;
}

#nihapa8Master .nhm-price-layout {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.72fr);
  gap:18px;
  align-items:start;
}

#nihapa8Master .nhm-price-table-wrap,
#nihapa8Master .nhm-price-notes {
  overflow:hidden;
  border:1px solid var(--nhm-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,31,31,.045);
}

#nihapa8Master .nhm-price-table {
  width:100%;
  border-collapse:collapse;
}

#nihapa8Master .nhm-price-table th,
#nihapa8Master .nhm-price-table td {
  padding:14px 16px;
  border-bottom:1px solid var(--nhm-border);
  font-size:11px;
}

#nihapa8Master .nhm-price-table th {
  background:var(--nhm-teal-soft);
  color:var(--nhm-teal-dark);
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
  text-align:left;
}

#nihapa8Master .nhm-price-table th:last-child,
#nihapa8Master .nhm-price-table td:last-child {
  text-align:right;
}

#nihapa8Master .nhm-price-table td:last-child {
  color:var(--nhm-teal-dark);
  font-size:15px;
  font-weight:950;
}

#nihapa8Master .nhm-price-table tr.is-value td {
  background:#fbfefe;
}

#nihapa8Master .nhm-price-table tr.is-best td {
  background:var(--nhm-primary-soft);
}

#nihapa8Master .nhm-price-table tr:last-child td {
  border-bottom:0;
}

#nihapa8Master .nhm-price-notes {
  padding:20px;
}

#nihapa8Master .nhm-price-notes h3 {
  margin:0 0 12px;
  font-size:17px;
  font-weight:900;
}

#nihapa8Master .nhm-price-notes > div {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:10px 0;
  border-bottom:1px solid var(--nhm-border);
}

#nihapa8Master .nhm-price-notes span {
  color:#666;
  font-size:10.5px;
}

#nihapa8Master .nhm-price-notes strong {
  color:var(--nhm-primary);
  font-size:11px;
  text-align:right;
}

#nihapa8Master .nhm-price-notes p {
  margin:13px 0 0;
  color:#777;
  font-size:10px;
  line-height:1.6;
}

#nihapa8Master .nhm-inclusion-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

#nihapa8Master .nhm-inclusion-grid article {
  padding:22px;
  border:1px solid var(--nhm-border);
  border-radius:18px;
  background:#fff;
}

#nihapa8Master .nhm-inclusion-grid article.is-included {
  border-top:4px solid var(--nhm-teal);
}

#nihapa8Master .nhm-inclusion-grid article.is-excluded {
  border-top:4px solid var(--nhm-primary);
}

#nihapa8Master .nhm-inclusion-grid h3 {
  margin:0 0 12px;
  font-size:18px;
  font-weight:900;
}

#nihapa8Master .nhm-inclusion-grid ul {
  margin:0;
  padding-left:18px;
}

#nihapa8Master .nhm-inclusion-grid li {
  margin:0 0 7px;
  color:#5f5f5f;
  font-size:11px;
  line-height:1.55;
}

#nihapa8Master .nhm-process-grid article > span {
  min-width:34px;
  min-height:34px;
  border-radius:50%;
  background:var(--nhm-teal);
  color:#fff;
}

#nihapa8Master .nhm-review-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

#nihapa8Master .nhm-review-grid article {
  padding:22px;
  border:1px solid var(--nhm-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(31,31,31,.04);
}

#nihapa8Master .nhm-stars {
  color:#d9a522;
  letter-spacing:.06em;
  font-size:14px;
}

#nihapa8Master .nhm-review-grid blockquote {
  min-height:72px;
  margin:13px 0 18px;
  color:#444;
  font-size:13px;
  line-height:1.65;
  font-weight:700;
}

#nihapa8Master .nhm-review-grid footer {
  display:flex;
  flex-direction:column;
  gap:2px;
}

#nihapa8Master .nhm-review-grid footer strong {
  font-size:11px;
  font-weight:900;
}

#nihapa8Master .nhm-review-grid footer span {
  color:#888;
  font-size:9.5px;
}

#nihapa8Master .nhm-faq-list {
  display:grid;
  gap:9px;
}

#nihapa8Master .nhm-faq-list details {
  border:1px solid var(--nhm-border);
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}

#nihapa8Master .nhm-faq-list summary {
  position:relative;
  padding:15px 46px 15px 16px;
  cursor:pointer;
  list-style:none;
  color:var(--nhm-text);
  font-size:12px;
  font-weight:900;
}

#nihapa8Master .nhm-faq-list summary::-webkit-details-marker {
  display:none;
}

#nihapa8Master .nhm-faq-list summary::after {
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  color:var(--nhm-primary);
  font-size:20px;
  font-weight:500;
}

#nihapa8Master .nhm-faq-list details[open] summary::after {
  content:"−";
}

#nihapa8Master .nhm-faq-list details p {
  margin:0;
  padding:0 16px 16px;
  color:#666;
  font-size:11px;
  line-height:1.7;
}

#nihapa8Master .nhm-related-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

#nihapa8Master .nhm-related-grid > a {
  display:block;
  padding:22px;
  border:1px solid var(--nhm-border);
  border-radius:18px;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

#nihapa8Master .nhm-related-grid > a:hover {
  transform:translateY(-3px);
  border-color:var(--nhm-primary-border);
  box-shadow:var(--nhm-shadow);
}

#nihapa8Master .nhm-related-grid span {
  color:var(--nhm-primary);
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
}

#nihapa8Master .nhm-related-grid h3 {
  margin:8px 0 7px;
  font-size:17px;
  line-height:1.3;
  font-weight:900;
}

#nihapa8Master .nhm-related-grid p {
  min-height:56px;
  margin:0 0 13px;
  color:#666;
  font-size:10.5px;
  line-height:1.6;
}

#nihapa8Master .nhm-related-grid strong {
  color:var(--nhm-teal-dark);
  font-size:10.5px;
}

#nihapa8Master .nhm-final-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
  margin-top:28px;
  padding:28px;
  border:1px solid var(--nhm-primary-border);
  border-radius:22px;
  background:linear-gradient(135deg,#fff8f9 0%,#fff 68%);
}

#nihapa8Master .nhm-final-cta > div:last-child {
  display:flex;
  flex:0 0 auto;
  gap:8px;
}

@media(max-width:980px) {
  #nihapa8Master .nhm-hero-grid {
    grid-template-columns:1fr;
    gap:28px;
  }

  #nihapa8Master .nhm-booking-card {
    max-width:520px;
  }

  #nihapa8Master .nhm-trust-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #nihapa8Master .nhm-overview-grid,
  #nihapa8Master .nhm-feature-grid,
  #nihapa8Master .nhm-process-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #nihapa8Master .nhm-lodge-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #nihapa8Master .nhm-price-layout {
    grid-template-columns:1fr;
  }
}

@media(max-width:760px) {
  #nihapa8Master .nhm-shell {
    width:min(100% - 24px,1180px);
  }

  #nihapa8Master .nhm-section {
    padding:52px 0;
  }

  #nihapa8Master .nhm-hero {
    min-height:auto;
  }

  #nihapa8Master .nhm-hero-grid {
    padding:54px 0 44px;
  }

  #nihapa8Master .nhm-hero h1 {
    font-size:clamp(38px,12vw,52px);
  }

  #nihapa8Master .nhm-lead {
    font-size:14px;
  }

  #nihapa8Master .nhm-hero-actions,
  #nihapa8Master .nhm-final-cta > div:last-child {
    flex-direction:column;
    align-items:stretch;
  }

  #nihapa8Master .nhm-btn {
    width:100%;
  }

  #nihapa8Master .nhm-trust-grid {
    grid-template-columns:1fr 1fr;
  }

  #nihapa8Master .nhm-trust-grid div {
    border-right:0;
    border-bottom:1px solid var(--nhm-border);
  }

  #nihapa8Master .nhm-nav-scroll {
    padding-left:2px;
    padding-right:2px;
  }

  #nihapa8Master .nhm-overview-grid,
  #nihapa8Master .nhm-feature-grid,
  #nihapa8Master .nhm-process-grid,
  #nihapa8Master .nhm-lodge-grid,
  #nihapa8Master .nhm-review-grid,
  #nihapa8Master .nhm-related-grid,
  #nihapa8Master .nhm-inclusion-grid {
    grid-template-columns:1fr;
  }

  #nihapa8Master .nhm-day {
    grid-template-columns:58px minmax(0,1fr);
    gap:12px;
    padding:14px;
  }

  #nihapa8Master .nhm-day-number {
    min-height:66px;
  }

  #nihapa8Master .nhm-day-number strong {
    font-size:23px;
  }

  #nihapa8Master .nhm-day-title {
    flex-direction:column;
    gap:7px;
  }

  #nihapa8Master .nhm-day-title h3 {
    font-size:17px;
  }

  #nihapa8Master .nhm-day-meta {
    grid-template-columns:1fr;
  }

  #nihapa8Master .nhm-final-cta {
    flex-direction:column;
    align-items:stretch;
    padding:21px 18px;
  }

  #nihapa8Master .nhm-related-grid p {
    min-height:0;
  }
}

@media(max-width:430px) {
  #nihapa8Master .nhm-trust-grid {
    grid-template-columns:1fr;
  }

  #nihapa8Master .nhm-booking-card {
    padding:20px;
  }

  #nihapa8Master .nhm-from strong {
    font-size:36px;
  }

  #nihapa8Master .nhm-day {
    grid-template-columns:1fr;
  }

  #nihapa8Master .nhm-day-number {
    width:64px;
  }

  #nihapa8Master .nhm-price-table th,
  #nihapa8Master .nhm-price-table td {
    padding:12px 11px;
  }
}



/* =========================================================
   FULL-BLEED HERO
   The safari image stretches to the true viewport edges even when
   this component is placed inside an Elementor boxed container.
   No global body/html reset is used, so the rest of the site is safe.
   ========================================================= */

#nihapa8Master .nhm-hero-fullbleed {
  position:relative;
  left:50%;
  width:100vw;
  max-width:100vw;
  margin-left:-50vw;
  margin-right:0;
}

/* The actual content remains centered and readable. */
#nihapa8Master .nhm-hero-fullbleed .nhm-shell {
  width:min(1200px,calc(100% - 36px));
  max-width:1200px;
  margin-left:auto;
  margin-right:auto;
}

/* =========================================================
   CLEAN BOOKING SECTION
   No background photo. Neutral surface + strong form hierarchy.
   ========================================================= */

#nihapa8Master .nhm-booking-section {
  background:
    linear-gradient(180deg,#f8fafa 0%,#ffffff 100%);
}

#nihapa8Master .nhm-booking-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);
  gap:54px;
  align-items:start;
}

#nihapa8Master .nhm-booking-guide {
  max-width:650px;
  padding-top:8px;
}

#nihapa8Master .nhm-booking-guide > h2 {
  margin:8px 0 12px;
  color:var(--nhm-text);
  font-size:clamp(30px,4.6vw,48px);
  line-height:1.04;
  font-weight:950;
  letter-spacing:-.04em;
}

#nihapa8Master .nhm-booking-guide > p {
  max-width:620px;
  margin:0;
  color:var(--nhm-muted);
  font-size:14px;
  line-height:1.75;
}

#nihapa8Master .nhm-booking-guide-card {
  margin-top:26px;
  padding:22px;
  border:1px solid var(--nhm-border);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,31,31,.04);
}

#nihapa8Master .nhm-booking-guide-card h3 {
  margin:0 0 14px;
  color:var(--nhm-text);
  font-size:15px;
  line-height:1.3;
  font-weight:900;
}

#nihapa8Master .nhm-booking-step {
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:start;
  padding:12px 0;
  border-top:1px solid var(--nhm-border);
}

#nihapa8Master .nhm-booking-step:first-of-type {
  border-top:0;
  padding-top:0;
}

#nihapa8Master .nhm-booking-step:last-child {
  padding-bottom:0;
}

#nihapa8Master .nhm-booking-step > span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:var(--nhm-primary-soft);
  color:var(--nhm-primary);
  font-size:9.5px;
  font-weight:900;
}

#nihapa8Master .nhm-booking-step strong {
  display:block;
  color:var(--nhm-text);
  font-size:11px;
  line-height:1.4;
  font-weight:900;
}

#nihapa8Master .nhm-booking-step p {
  margin:3px 0 0;
  color:#777;
  font-size:10px;
  line-height:1.55;
}

#nihapa8Master .nhm-booking-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:14px;
}

#nihapa8Master .nhm-booking-facts div {
  min-width:0;
  padding:13px;
  border:1px solid var(--nhm-border);
  border-radius:13px;
  background:#fff;
}

#nihapa8Master .nhm-booking-facts strong,
#nihapa8Master .nhm-booking-facts span {
  display:block;
}

#nihapa8Master .nhm-booking-facts strong {
  color:var(--nhm-teal-dark);
  font-size:14px;
  line-height:1.2;
  font-weight:950;
}

#nihapa8Master .nhm-booking-facts span {
  margin-top:3px;
  color:#777;
  font-size:9px;
  line-height:1.45;
}

#nihapa8Master .nhm-booking-help {
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:20px;
}

#nihapa8Master .nhm-booking-help span {
  color:#888;
  font-size:9.5px;
}

#nihapa8Master .nhm-booking-help a {
  color:var(--nhm-teal-dark);
  font-size:11px;
  line-height:1.4;
  font-weight:900;
}

#nihapa8Master .nhm-open-form-card {
  position:sticky;
  top:82px;
  width:100%;
  padding:24px;
  border:1px solid var(--nhm-border);
  border-radius:22px;
  background:#fff;
  color:var(--nhm-text);
  box-shadow:
    0 18px 50px rgba(31,31,31,.09),
    0 2px 5px rgba(31,31,31,.03);
}

#nihapa8Master .nhm-form-head {
  margin-bottom:18px;
  padding-bottom:15px;
  border-bottom:1px solid var(--nhm-border);
}

#nihapa8Master .nhm-form-head span {
  color:var(--nhm-primary);
  font-size:9.5px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

#nihapa8Master .nhm-form-head strong {
  display:block;
  margin-top:4px;
  color:var(--nhm-text);
  font-size:18px;
  line-height:1.25;
  font-weight:950;
}

#nihapa8Master .nhm-form-head p {
  margin:5px 0 0;
  color:#777;
  font-size:10px;
  line-height:1.5;
}

#nihapa8Master .nhm-booking-form {
  display:grid;
  gap:12px;
}

#nihapa8Master .nhm-booking-form label {
  display:grid;
  gap:5px;
  margin:0;
}

#nihapa8Master .nhm-booking-form label > span {
  color:#555;
  font-size:9.5px;
  line-height:1.3;
  font-weight:850;
}

#nihapa8Master .nhm-form-row {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

#nihapa8Master .nhm-booking-form input,
#nihapa8Master .nhm-booking-form select,
#nihapa8Master .nhm-booking-form textarea {
  display:block;
  width:100%;
  min-width:0;
  margin:0;
  border:1px solid #dedede;
  border-radius:10px;
  background:#fff;
  color:var(--nhm-text);
  font:inherit;
  font-size:11px;
  outline:none;
  box-shadow:none;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;
}

#nihapa8Master .nhm-booking-form input,
#nihapa8Master .nhm-booking-form select {
  min-height:42px;
  padding:0 11px;
}

#nihapa8Master .nhm-booking-form textarea {
  min-height:92px;
  padding:10px 11px;
  resize:vertical;
}

#nihapa8Master .nhm-booking-form input:focus,
#nihapa8Master .nhm-booking-form select:focus,
#nihapa8Master .nhm-booking-form textarea:focus {
  border-color:var(--nhm-teal);
  box-shadow:0 0 0 3px rgba(121,170,174,.14);
}

#nihapa8Master .nhm-booking-form input::placeholder,
#nihapa8Master .nhm-booking-form textarea::placeholder {
  color:#aaa;
}

#nihapa8Master .nhm-form-consent {
  grid-template-columns:18px minmax(0,1fr) !important;
  align-items:start;
  gap:8px !important;
  padding:2px 0;
}

#nihapa8Master .nhm-form-consent input {
  width:16px;
  min-height:16px;
  height:16px;
  margin:1px 0 0;
}

#nihapa8Master .nhm-form-consent span {
  color:#777 !important;
  font-size:9px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
}

#nihapa8Master .nhm-form-submit {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin:2px 0 0;
  padding:10px 15px;
  border:0;
  border-radius:11px;
  background:var(--nhm-primary);
  color:#fff;
  cursor:pointer;
  font:inherit;
  font-size:11px;
  line-height:1.2;
  font-weight:900;
  box-shadow:0 8px 18px rgba(255,71,88,.2);
  transition:transform .18s ease,background-color .18s ease;
}

#nihapa8Master .nhm-form-submit:hover {
  transform:translateY(-1px);
  background:var(--nhm-primary-dark);
}

#nihapa8Master .nhm-form-foot {
  margin:0;
  color:#888;
  font-size:8.8px;
  line-height:1.55;
  text-align:center;
}

@media(max-width:980px) {
  #nihapa8Master .nhm-booking-layout {
    grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);
    gap:30px;
  }

  #nihapa8Master .nhm-booking-facts {
    grid-template-columns:1fr;
  }

  #nihapa8Master .nhm-open-form-card {
    top:76px;
  }
}

@media(max-width:760px) {
  #nihapa8Master .nhm-hero-fullbleed .nhm-shell {
    width:min(100% - 24px,1200px);
  }

  #nihapa8Master .nhm-booking-layout {
    grid-template-columns:1fr;
    gap:28px;
  }

  #nihapa8Master .nhm-booking-guide {
    max-width:none;
  }

  #nihapa8Master .nhm-booking-facts {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #nihapa8Master .nhm-open-form-card {
    position:relative;
    top:auto;
    padding:20px 17px;
  }
}

@media(max-width:520px) {
  #nihapa8Master .nhm-form-row,
  #nihapa8Master .nhm-booking-facts {
    grid-template-columns:1fr;
  }

  #nihapa8Master .nhm-hero-fullbleed .nhm-shell {
    width:min(100% - 20px,1200px);
  }
}


/* =========================================================
   REVIEW PLATFORM LINKS
   ========================================================= */

#nihapa8Master .nhm-review-source {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

#nihapa8Master .nhm-review-platform {
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 8px;
  border-radius:999px;
  background:var(--nhm-teal-soft);
  color:var(--nhm-teal-dark);
  font-size:9px;
  line-height:1.2;
  font-weight:900;
}

#nihapa8Master .nhm-review-actions {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

#nihapa8Master .nhm-review-link {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:64px;
  padding:13px 15px;
  border:1px solid var(--nhm-border);
  border-radius:13px;
  background:#fff;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

#nihapa8Master .nhm-review-link:hover {
  transform:translateY(-2px);
  border-color:var(--nhm-primary-border);
  box-shadow:0 8px 22px rgba(31,31,31,.055);
}

#nihapa8Master .nhm-review-link strong {
  color:var(--nhm-text);
  font-size:11px;
  font-weight:900;
}

#nihapa8Master .nhm-review-link span {
  color:var(--nhm-teal-dark);
  font-size:9.5px;
  font-weight:800;
  text-align:right;
}

#nihapa8Master .nhm-booking-form input[readonly] {
  background:#f7f7f7;
  color:#555;
  cursor:default;
}

@media(prefers-reduced-motion:reduce) {
  #nihapa8Master *,
  #nihapa8Master *::before,
  #nihapa8Master *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
  }
}

#nihapaMigration8 #nh8Overlay[hidden],
#nihapaMigration8 #nh8Popup[hidden] {
  display:none !important;
}

#nihapaMigration8,
#nihapaMigration8 *,
#nihapaMigration8 *::before,
#nihapaMigration8 *::after {
  box-sizing:border-box;
}

#nihapaMigration8 {
  --primary:#FF4758;
  --border:#e5e5e5;
  --light:#f7f7f7;
  --teal:#79aaae;
  --teal-dark:#5f8f93;
  --text:#1f1f1f;
  --muted:#666666;
  --white:#ffffff;
  --whatsapp:#25D366;

  width:100%;
  position:relative;
  background:#fff;
  color:var(--text);
  font-family:inherit;
}

#nihapaMigration8 [hidden] {
  display:none !important;
}

#nihapaMigration8 a {
  color:inherit;
  text-decoration:none;
}

#nihapaMigration8 button,
#nihapaMigration8 select {
  font:inherit;
}

#nihapaMigration8 button {
  -webkit-appearance:none;
  appearance:none;
}

#nihapaMigration8 button:focus-visible,
#nihapaMigration8 a:focus-visible,
#nihapaMigration8 select:focus-visible,
#nihapaMigration8 .nh-month-arrow:focus-visible {
  outline:3px solid rgba(121,170,174,.35);
  outline-offset:3px;
}

#nihapaMigration8 .nh-shell {
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:22px 18px 48px;
}

#nihapaMigration8 .nh-intro {
  padding:28px;
  border:1px solid #ffd9de;
  border-radius:22px;
  background:linear-gradient(135deg,#fff8f9 0%,#ffffff 68%);
  box-shadow:0 12px 32px rgba(255,71,88,.08);
}

#nihapaMigration8 .nh-eyebrow {
  display:inline-flex;
  margin:0 0 8px;
  color:var(--primary);
  font-size:11px;
  line-height:1.3;
  font-weight:900;
  letter-spacing:.10em;
  text-transform:uppercase;
}

#nihapaMigration8 .nh-intro h2 {
  max-width:850px;
  margin:0 0 10px;
  color:var(--text);
  font-size:clamp(27px,4vw,42px);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.035em;
}

#nihapaMigration8 .nh-intro > p {
  max-width:900px;
  margin:0;
  color:#5d5d5d;
  font-size:14px;
  line-height:1.72;
}

#nihapaMigration8 .nh-legend {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:16px;
}

#nihapaMigration8 .nh-legend span {
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 9px;
  border:1px solid var(--border);
  border-radius:999px;
  background:#fff;
  color:#444;
  font-size:10.5px;
  line-height:1.25;
  font-weight:800;
}

#nihapaMigration8 .nh-status {
  margin:16px 0 0;
  padding:13px 16px;
  border:1px solid #ffd9de;
  border-left:4px solid var(--primary);
  border-radius:14px;
  background:#fff8f9;
  color:#222;
  font-size:12px;
  line-height:1.45;
  font-weight:800;
}

#nihapaMigration8 .nh-filters {
  position:sticky;
  top:0;
  z-index:30;
  margin:12px 0 22px;
  padding:10px 0 12px;
  background:rgba(255,255,255,.96);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
}


/* =========================================================
   MONTH STRIP NAVIGATION
   Desktop keeps the existing full-width five-button layout.
   Mobile reveals swipe/tap chevrons at the strip edges.
   ========================================================= */

#nihapaMigration8 .nh-month-nav {
  position:relative;
  width:100%;
  min-width:0;
}

#nihapaMigration8 .nh-month-arrow {
  display:none;
}

#nihapaMigration8 .nh-months {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:7px;
}

#nihapaMigration8 .nh-month {
  width:100%;
  min-height:40px;
  margin:0;
  padding:7px 6px;
  border:1px solid var(--border);
  border-radius:10px;
  background:#fff;
  color:var(--text);
  cursor:pointer;
  font-size:11px;
  line-height:1;
  font-weight:800;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease;
}

#nihapaMigration8 .nh-month:hover {
  transform:translateY(-1px);
  border-color:var(--teal);
  background:#eef6f6;
  color:var(--teal-dark);
}

#nihapaMigration8 .nh-month.is-active {
  border-color:var(--primary);
  background:var(--primary);
  color:#fff;
  box-shadow:0 7px 16px rgba(255,71,88,.20);
}

#nihapaMigration8 .nh-month.is-active:hover {
  border-color:var(--teal);
  background:var(--teal);
  color:#fff;
}

#nihapaMigration8 .nh-size-filter {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
}

#nihapaMigration8 .nh-size-filter label {
  color:#777;
  font-size:11px;
  line-height:1.3;
  font-weight:800;
}

#nihapaMigration8 .nh-size-filter select {
  display:block;
  width:auto;
  min-width:220px;
  max-width:100%;
  height:40px;
  margin:0;
  padding:0 42px 0 12px;
  border:1px solid var(--border);
  border-radius:10px;
  background-color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235f8f93' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:14px 14px;
  color:var(--text);
  font-size:11.5px;
  font-weight:700;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

#nihapaMigration8 .nh-size-filter select:hover {
  border-color:var(--teal);
  background-color:#fbfefe;
}

#nihapaMigration8 .nh-size-filter select:focus {
  border-color:var(--teal);
  box-shadow:0 0 0 3px rgba(121,170,174,.14);
}

#nihapaMigration8 .nh-list {
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

#nihapaMigration8 .nh-card {
  display:grid;
  grid-template-columns:82px minmax(220px,1.7fr) minmax(185px,1.08fr) minmax(125px,.76fr) 160px;
  align-items:center;
  gap:17px;
  width:100%;
  min-width:0;
  margin:0;
  padding:20px;
  border:1px solid var(--border);
  border-radius:19px;
  background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.025),0 8px 22px rgba(0,0,0,.04);
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;
}

#nihapaMigration8 .nh-card:hover {
  transform:translateY(-3px);
  border-color:#ffd9de;
  box-shadow:0 12px 34px rgba(0,0,0,.07);
}

#nihapaMigration8 .nh-card > * {
  min-width:0;
}

#nihapaMigration8 .nh-date {
  width:100%;
  padding:11px 7px;
  border:2px solid #ffe1e5;
  border-radius:15px;
  background:linear-gradient(180deg,#fff 0%,#fff7f8 100%);
  text-align:center;
}

#nihapaMigration8 .nh-date strong {
  display:block;
  margin:0;
  color:var(--text);
  font-size:26px;
  line-height:1;
  font-weight:900;
}

#nihapaMigration8 .nh-date span {
  display:block;
  margin-top:5px;
  color:var(--primary);
  font-size:10.5px;
  line-height:1.1;
  font-weight:900;
  text-transform:uppercase;
}

#nihapaMigration8 .nh-main,
#nihapaMigration8 .nh-group,
#nihapaMigration8 .nh-price {
  position:relative;
}

#nihapaMigration8 .nh-main h3 {
  margin:0 0 5px;
  color:var(--text);
  font-size:16px;
  line-height:1.3;
  font-weight:900;
}

#nihapaMigration8 .nh-dates {
  margin:0 0 7px;
  color:#626262;
  font-size:11.5px;
  line-height:1.35;
  font-weight:700;
}

#nihapaMigration8 .nh-tag {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 7px;
  border-radius:999px;
  background:#fff3f4;
  color:var(--primary);
  font-size:9.5px;
  line-height:1.2;
  font-weight:900;
}

#nihapaMigration8 .nh-focus {
  margin:7px 0 0;
  color:#626262;
  font-size:10.8px;
  line-height:1.42;
}

#nihapaMigration8 .nh-group-status {
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef6f6;
  color:var(--teal-dark);
  font-size:10px;
  line-height:1.2;
  font-weight:900;
}

#nihapaMigration8 .nh-group p {
  margin:5px 0 0;
  color:#626262;
  font-size:10.8px;
  line-height:1.42;
}

#nihapaMigration8 .nh-details {
  margin:8px 0 0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--primary);
  cursor:pointer;
  font-size:10.5px;
  line-height:1.35;
  font-weight:900;
  text-align:left;
}

#nihapaMigration8 .nh-details:hover {
  color:var(--teal-dark);
  text-decoration:underline;
}

#nihapaMigration8 .nh-price {
  text-align:right;
}

#nihapaMigration8 .nh-old {
  display:block;
  margin-bottom:5px;
  color:#999;
  font-size:14px;
  line-height:1.2;
  text-decoration:line-through;
}

#nihapaMigration8 .nh-new {
  display:block;
  color:var(--primary);
  font-size:29px;
  line-height:1.05;
  font-weight:900;
  white-space:nowrap;
}

#nihapaMigration8 .nh-price small {
  display:block;
  margin-top:4px;
  color:#777;
  font-size:9.5px;
  line-height:1.35;
}

#nihapaMigration8 .nh-actions {
  display:grid;
  gap:7px;
}

#nihapaMigration8 .nh-action {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:38px;
  margin:0;
  padding:8px 9px;
  border:0;
  border-radius:10px;
  cursor:pointer;
  font-size:10.5px;
  line-height:1.25;
  font-weight:900;
  text-align:center;
  transition:transform .18s ease,opacity .18s ease,background-color .18s ease,color .18s ease;
}

#nihapaMigration8 .nh-action:hover {
  transform:translateY(-1px);
}

#nihapaMigration8 .nh-join {
  background:var(--primary);
  color:#fff;
  box-shadow:0 6px 14px rgba(255,71,88,.18);
}

#nihapaMigration8 .nh-chat {
  background:var(--whatsapp);
  color:#fff;
}

#nihapaMigration8 .nh-tiers {
  background:#f2f2f2;
  color:#222;
}

#nihapaMigration8 .nh-tiers:hover {
  background:#e9e9e9;
}

#nihapaMigration8 .nh-empty {
  display:none;
  margin:0;
  padding:26px 18px;
  border:1px dashed #ffd9de;
  border-radius:16px;
  background:#fff8f9;
  color:#777;
  font-size:13px;
  line-height:1.55;
  text-align:center;
}

#nihapaMigration8 .nh-note {
  margin-top:22px;
  padding:15px 17px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--light);
  color:#666;
  font-size:11px;
  line-height:1.7;
}

#nihapaMigration8 .nh-note strong {
  color:var(--text);
}

/* =========================================================
   SCREEN-BOUND POPUP
   - centered to the visible viewport
   - max-height tied to dvh/svh
   - sticky header keeps close button accessible
   ========================================================= */

#nihapaMigration8 .nh-overlay {
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  background:rgba(0,0,0,.52);
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
}

#nihapaMigration8 .nh-overlay.is-active {
  display:block;
}

#nihapaMigration8 .nh-popup {
  position:fixed;
  top:50%;
  left:50%;
  z-index:2147483001;
  display:none;
  flex-direction:column;
  width:min(620px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  max-height:calc(100dvh - 32px);
  max-height:calc(100svh - 32px);
  margin:0;
  overflow:hidden;
  transform:translate(-50%,-50%);
  border:1px solid #efefef;
  border-radius:22px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.26);
}

#nihapaMigration8 .nh-popup.is-active {
  display:flex;
}

#nihapaMigration8 .nh-popup-head {
  position:sticky;
  top:0;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex:0 0 auto;
  gap:14px;
  min-height:64px;
  padding:14px 16px 14px 20px;
  border-bottom:1px solid #efefef;
  background:#fff;
}

#nihapaMigration8 .nh-popup-head h3 {
  min-width:0;
  margin:0;
  color:var(--text);
  font-size:18px;
  line-height:1.25;
  font-weight:900;
}

#nihapaMigration8 .nh-close {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  margin:0;
  padding:0;
  border:1px solid #ffd9de;
  border-radius:50%;
  background:#fff3f4;
  color:var(--primary);
  cursor:pointer;
  font-size:26px;
  line-height:1;
  font-weight:400;
}

#nihapaMigration8 .nh-close:hover {
  border-color:var(--teal);
  background:#eef6f6;
  color:var(--teal-dark);
}

#nihapaMigration8 .nh-popup-body {
  min-height:0;
  flex:1 1 auto;
  padding:18px 20px 22px;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}

#nihapaMigration8 .nh-stats {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

#nihapaMigration8 .nh-stat {
  min-width:0;
  padding:11px;
  border:1px solid #efefef;
  border-radius:12px;
  background:var(--light);
}

#nihapaMigration8 .nh-stat span {
  display:block;
  color:#888;
  font-size:9px;
  line-height:1.3;
  font-weight:850;
  letter-spacing:.045em;
  text-transform:uppercase;
}

#nihapaMigration8 .nh-stat strong {
  display:block;
  margin-top:3px;
  color:var(--text);
  font-size:11.5px;
  line-height:1.45;
  font-weight:800;
  overflow-wrap:anywhere;
}

#nihapaMigration8 .nh-section {
  margin-top:15px;
}

#nihapaMigration8 .nh-section h4 {
  margin:0 0 7px;
  color:var(--text);
  font-size:12px;
  line-height:1.35;
  font-weight:900;
}

#nihapaMigration8 .nh-copy,
#nihapaMigration8 .nh-list-text {
  margin:0;
  color:#5d5d5d;
  font-size:11.5px;
  line-height:1.68;
}

#nihapaMigration8 .nh-list-text {
  padding-left:19px;
}

#nihapaMigration8 .nh-list-text li {
  margin-bottom:5px;
}

#nihapaMigration8 .nh-warning {
  margin-top:14px;
  padding:12px 13px;
  border:1px solid #ffd9de;
  border-radius:11px;
  background:#fff3f4;
  color:#9f2c39;
  font-size:10.8px;
  line-height:1.62;
}

#nihapaMigration8 .nh-table-wrap {
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}

#nihapaMigration8 .nh-table {
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}

#nihapaMigration8 .nh-table th,
#nihapaMigration8 .nh-table td {
  padding:11px 10px;
  border-bottom:1px solid var(--border);
  color:#5d5d5d;
  font-size:11px;
  line-height:1.4;
  text-align:left;
  vertical-align:top;
}

#nihapaMigration8 .nh-table th {
  background:#eef6f6;
  color:var(--teal-dark);
  font-size:9.5px;
  font-weight:900;
  text-transform:uppercase;
}

#nihapaMigration8 .nh-table th:nth-child(2),
#nihapaMigration8 .nh-table td:nth-child(2) {
  text-align:right;
  white-space:nowrap;
}

#nihapaMigration8 .nh-table td:nth-child(2) {
  color:var(--primary);
  font-weight:900;
}

#nihapaMigration8 .nh-foot {
  margin:12px 0 0;
  color:#777;
  font-size:10.5px;
  line-height:1.62;
}

@media(min-width:981px) {
  #nihapaMigration8 .nh-main::after,
  #nihapaMigration8 .nh-group::after {
    content:"";
    position:absolute;
    top:5%;
    right:-9px;
    width:1px;
    height:90%;
    background:linear-gradient(180deg,transparent,var(--border),transparent);
  }
}

@media(max-width:980px) {
  #nihapaMigration8 .nh-card {
    grid-template-columns:72px minmax(0,1fr) minmax(150px,.8fr);
  }

  #nihapaMigration8 .nh-price {
    text-align:left;
  }

  #nihapaMigration8 .nh-actions {
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:760px) {
  #nihapaMigration8 .nh-shell {
    padding:14px 12px 38px;
  }

  #nihapaMigration8 .nh-intro {
    padding:21px 18px;
    border-radius:18px;
  }

  #nihapaMigration8 .nh-month-nav {
    position:relative;
    width:100%;
    min-width:0;
    overflow:hidden;
    border-radius:12px;
  }

  #nihapaMigration8 .nh-months {
    display:flex;
    width:100%;
    max-width:100%;
    gap:8px;
    padding:2px 42px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x proximity;
    scroll-padding-inline:42px;
    scrollbar-width:none;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }

  #nihapaMigration8 .nh-months::-webkit-scrollbar {
    display:none;
  }

  #nihapaMigration8 .nh-month {
    flex:0 0 auto;
    min-width:92px;
    scroll-snap-align:start;
  }

  #nihapaMigration8 .nh-month-arrow {
    position:absolute;
    top:50%;
    z-index:8;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:34px;
    height:34px;
    margin:0;
    padding:0;
    transform:translateY(-50%);
    border:1px solid rgba(121,170,174,.45);
    border-radius:50%;
    background:rgba(255,255,255,.96);
    color:var(--teal-dark);
    box-shadow:0 5px 16px rgba(0,0,0,.12);
    cursor:pointer;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    transition:
      opacity .18s ease,
      transform .18s ease,
      border-color .18s ease,
      background-color .18s ease;
  }

  #nihapaMigration8 .nh-month-arrow span {
    display:block;
    margin-top:-2px;
    font-size:27px;
    line-height:1;
    font-weight:500;
  }

  #nihapaMigration8 .nh-month-arrow-prev {
    left:4px;
  }

  #nihapaMigration8 .nh-month-arrow-next {
    right:4px;
  }

  #nihapaMigration8 .nh-month-arrow:not(:disabled):active {
    transform:translateY(-50%) scale(.94);
  }

  #nihapaMigration8 .nh-month-arrow.is-disabled,
  #nihapaMigration8 .nh-month-arrow:disabled {
    opacity:.25;
    cursor:default;
    box-shadow:none;
  }

  #nihapaMigration8 .nh-month-arrow.is-unneeded {
    visibility:hidden;
    pointer-events:none;
  }

  #nihapaMigration8 .nh-size-filter {
    align-items:stretch;
    flex-direction:column;
    gap:6px;
  }

  #nihapaMigration8 .nh-size-filter select {
    width:100%;
    min-width:0;
  }

  #nihapaMigration8 .nh-card {
    grid-template-columns:64px minmax(0,1fr);
    gap:12px;
    padding:15px;
    border-radius:17px;
  }

  #nihapaMigration8 .nh-group,
  #nihapaMigration8 .nh-price,
  #nihapaMigration8 .nh-actions {
    grid-column:1/-1;
  }

  #nihapaMigration8 .nh-actions {
    grid-template-columns:1fr;
  }

  #nihapaMigration8 .nh-action {
    min-height:46px;
    font-size:11px;
  }

  #nihapaMigration8 .nh-popup {
    width:calc(100vw - 20px);
    max-width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    max-height:calc(100svh - 20px);
    border-radius:18px;
  }

  #nihapaMigration8 .nh-popup-head {
    min-height:60px;
    padding:10px 10px 10px 15px;
  }

  #nihapaMigration8 .nh-popup-head h3 {
    font-size:16px;
  }

  #nihapaMigration8 .nh-close {
    flex-basis:40px;
    width:40px;
    height:40px;
    font-size:24px;
  }

  #nihapaMigration8 .nh-popup-body {
    padding:14px 14px 18px;
  }

  #nihapaMigration8 .nh-stats {
    grid-template-columns:1fr;
  }

  #nihapaMigration8 .nh-table {
    min-width:470px;
  }
}

@media(max-height:520px) {
  #nihapaMigration8 .nh-popup {
    width:min(680px,calc(100vw - 16px));
    max-width:calc(100vw - 16px);
    max-height:calc(100dvh - 12px);
    max-height:calc(100svh - 12px);
    border-radius:14px;
  }

  #nihapaMigration8 .nh-popup-head {
    min-height:50px;
    padding:6px 8px 6px 14px;
  }

  #nihapaMigration8 .nh-close {
    flex-basis:36px;
    width:36px;
    height:36px;
    font-size:22px;
  }

  #nihapaMigration8 .nh-popup-body {
    padding:10px 14px 14px;
  }
}

@media(max-width:380px) {
  #nihapaMigration8 .nh-popup {
    width:calc(100vw - 12px);
    max-width:calc(100vw - 12px);
    max-height:calc(100dvh - 12px);
    max-height:calc(100svh - 12px);
  }

  #nihapaMigration8 .nh-table {
    min-width:440px;
  }
}

@media(prefers-reduced-motion:reduce) {
  #nihapaMigration8 *,
  #nihapaMigration8 *::before,
  #nihapaMigration8 *::after {
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* =========================================================
   NIHAPA 5-DAY MIGRATION COLOR + VIEWPORT MODAL OVERRIDES
   Matches the published card treatment:
   teal actions/prices, blush accents, WhatsApp green.
   ========================================================= */

#nihapaMigration8 {
  --primary:#79aaae;
  --primary-dark:#5f8f93;
  --brand-pink:#FF4758;
  --blush:#fff3f4;
  --blush-border:#f3d7dc;
}

#nihapaMigration8 .nh-eyebrow,
#nihapaMigration8 .nh-date span,
#nihapaMigration8 .nh-tag,
#nihapaMigration8 .nh-details,
#nihapaMigration8 .nh-new {
  color:var(--primary) !important;
}

#nihapaMigration8 .nh-date {
  border-color:var(--blush-border) !important;
  background:linear-gradient(180deg,#ffffff 0%,#fffafa 100%) !important;
}

#nihapaMigration8 .nh-tag,
#nihapaMigration8 .nh-group-status {
  background:var(--blush) !important;
  color:var(--primary-dark) !important;
}

#nihapaMigration8 .nh-join {
  background:var(--primary) !important;
  color:#fff !important;
  box-shadow:0 6px 14px rgba(121,170,174,.20) !important;
}

#nihapaMigration8 .nh-join:hover {
  background:var(--primary-dark) !important;
}

#nihapaMigration8 .nh-new {
  color:var(--primary-dark) !important;
}

#nihapaMigration8 .nh-month.is-active {
  border-color:var(--primary) !important;
  background:var(--primary) !important;
  box-shadow:0 7px 16px rgba(121,170,174,.20) !important;
}

#nihapaMigration8 .nh-month.is-active:hover {
  border-color:var(--primary-dark) !important;
  background:var(--primary-dark) !important;
}

#nihapaMigration8 .nh-status {
  border-left-color:var(--primary) !important;
}

#nihapaMigration8 .nh-details:hover {
  color:var(--primary-dark) !important;
}

#nihapaMigration8 .nh-table td:nth-child(2) {
  color:var(--primary-dark) !important;
}

/* Modal is portaled to <body> by JavaScript so Elementor/WordPress
   transformed ancestors cannot change fixed-position viewport behavior. */
#nihapaMigration8 #nh8Overlay {
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:none;
  background:rgba(0,0,0,.48) !important;
  -webkit-backdrop-filter:blur(3px);
  backdrop-filter:blur(3px);
}

#nihapaMigration8 #nh8Overlay.is-active {
  display:block !important;
}

#nihapaMigration8 #nh8Popup {
  position:fixed !important;
  top:50% !important;
  left:50% !important;
  z-index:2147483001 !important;
  display:none;
  flex-direction:column;
  width:min(520px,calc(100vw - 36px)) !important;
  max-width:calc(100vw - 36px) !important;
  height:auto !important;
  max-height:min(68dvh,560px) !important;
  max-height:min(68svh,560px) !important;
  margin:0 !important;
  overflow:hidden !important;
  transform:translate(-50%,-50%) !important;
  border:1px solid #e8e8e8 !important;
  border-radius:20px !important;
  background:#fff !important;
  color:#1f1f1f !important;
  box-shadow:0 24px 70px rgba(0,0,0,.24) !important;
  font-family:inherit !important;
}

#nihapaMigration8 #nh8Popup.is-active {
  display:flex !important;
}

#nihapaMigration8 #nh8Popup .nh-popup-head {
  position:relative !important;
  top:auto !important;
  z-index:5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  flex:0 0 auto !important;
  gap:12px !important;
  min-height:54px !important;
  padding:9px 10px 9px 16px !important;
  border-bottom:1px solid #eeeeee !important;
  background:#fff !important;
}

#nihapaMigration8 #nh8Popup .nh-popup-head h3 {
  min-width:0 !important;
  margin:0 !important;
  color:#1f1f1f !important;
  font-size:16px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
}

#nihapaMigration8 #nh8Popup .nh-close {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 38px !important;
  width:38px !important;
  height:38px !important;
  min-width:38px !important;
  min-height:38px !important;
  margin:0 !important;
  padding:0 !important;
  border:1px solid #f3d7dc !important;
  border-radius:50% !important;
  background:#fff3f4 !important;
  color:#5f8f93 !important;
  cursor:pointer !important;
  font-size:24px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

#nihapaMigration8 #nh8Popup .nh-close:hover,
#nihapaMigration8 #nh8Popup .nh-close:focus-visible {
  border-color:#79aaae !important;
  background:#eef6f6 !important;
  color:#5f8f93 !important;
}

#nihapaMigration8 #nh8Popup .nh-popup-body {
  min-height:0 !important;
  flex:1 1 auto !important;
  padding:14px 16px 17px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  -webkit-overflow-scrolling:touch !important;
}

#nihapaMigration8 #nh8Popup .nh-stats {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:7px !important;
}

#nihapaMigration8 #nh8Popup .nh-stat {
  min-width:0 !important;
  padding:9px 10px !important;
  border:1px solid #eeeeee !important;
  border-radius:10px !important;
  background:#f8f8f8 !important;
}

#nihapaMigration8 #nh8Popup .nh-stat span {
  display:block !important;
  color:#888 !important;
  font-size:8.5px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
}

#nihapaMigration8 #nh8Popup .nh-stat strong {
  display:block !important;
  margin-top:2px !important;
  color:#1f1f1f !important;
  font-size:10.5px !important;
  line-height:1.35 !important;
  font-weight:750 !important;
  overflow-wrap:anywhere !important;
}

#nihapaMigration8 #nh8Popup .nh-section {
  margin-top:11px !important;
}

#nihapaMigration8 #nh8Popup .nh-section h4 {
  margin:0 0 5px !important;
  color:#1f1f1f !important;
  font-size:11.5px !important;
  line-height:1.3 !important;
  font-weight:800 !important;
}

#nihapaMigration8 #nh8Popup .nh-copy,
#nihapaMigration8 #nh8Popup .nh-list-text {
  margin:0 !important;
  color:#5d5d5d !important;
  font-size:10.5px !important;
  line-height:1.52 !important;
}

#nihapaMigration8 #nh8Popup .nh-list-text {
  padding-left:17px !important;
}

#nihapaMigration8 #nh8Popup .nh-list-text li {
  margin-bottom:3px !important;
}

#nihapaMigration8 #nh8Popup .nh-warning {
  margin-top:10px !important;
  padding:9px 10px !important;
  border:1px solid #f3d7dc !important;
  border-radius:9px !important;
  background:#fff3f4 !important;
  color:#4d4d4d !important;
  font-size:10px !important;
  line-height:1.5 !important;
}

#nihapaMigration8 #nh8Popup .nh-table-wrap {
  width:100% !important;
  overflow-x:auto !important;
  -webkit-overflow-scrolling:touch !important;
}

#nihapaMigration8 #nh8Popup .nh-table {
  width:100% !important;
  border-collapse:collapse !important;
  table-layout:fixed !important;
}

#nihapaMigration8 #nh8Popup .nh-table th,
#nihapaMigration8 #nh8Popup .nh-table td {
  padding:8px 8px !important;
  border-bottom:1px solid #e5e5e5 !important;
  color:#5d5d5d !important;
  font-size:10px !important;
  line-height:1.35 !important;
  text-align:left !important;
  vertical-align:top !important;
}

#nihapaMigration8 #nh8Popup .nh-table th {
  background:#eef6f6 !important;
  color:#5f8f93 !important;
  font-size:8.5px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

#nihapaMigration8 #nh8Popup .nh-table th:nth-child(2),
#nihapaMigration8 #nh8Popup .nh-table td:nth-child(2) {
  text-align:right !important;
  white-space:nowrap !important;
}

#nihapaMigration8 #nh8Popup .nh-table td:nth-child(2) {
  color:#5f8f93 !important;
  font-weight:900 !important;
}

#nihapaMigration8 #nh8Popup .nh-foot {
  margin:9px 0 0 !important;
  color:#777 !important;
  font-size:9.5px !important;
  line-height:1.48 !important;
}

@media (max-width:820px) {
  #nihapaMigration8 #nh8Popup {
    width:min(490px,calc(100vw - 28px)) !important;
    max-width:calc(100vw - 28px) !important;
    max-height:min(70dvh,540px) !important;
    max-height:min(70svh,540px) !important;
  }
}

@media (max-width:600px) {
  #nihapaMigration8 #nh8Popup {
    width:calc(100vw - 22px) !important;
    max-width:calc(100vw - 22px) !important;
    max-height:min(72dvh,500px) !important;
    max-height:min(72svh,500px) !important;
    border-radius:16px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-popup-head {
    min-height:50px !important;
    padding:6px 7px 6px 13px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-popup-head h3 {
    font-size:14px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-close {
    flex-basis:36px !important;
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    min-height:36px !important;
    font-size:22px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-popup-body {
    padding:10px 11px 13px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-stats {
    grid-template-columns:1fr !important;
    gap:5px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-stat {
    padding:7px 9px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-table {
    min-width:420px !important;
  }
}

@media (max-height:600px) {
  #nihapaMigration8 #nh8Popup {
    max-height:calc(100dvh - 20px) !important;
    max-height:calc(100svh - 20px) !important;
  }
}

@media (max-height:430px) {
  #nihapaMigration8 #nh8Popup {
    width:min(620px,calc(100vw - 16px)) !important;
    max-height:calc(100dvh - 12px) !important;
    max-height:calc(100svh - 12px) !important;
    border-radius:12px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-popup-head {
    min-height:44px !important;
    padding:4px 6px 4px 11px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-close {
    flex-basis:32px !important;
    width:32px !important;
    height:32px !important;
    min-width:32px !important;
    min-height:32px !important;
    font-size:20px !important;
  }

  #nihapaMigration8 #nh8Popup .nh-popup-body {
    padding:8px 10px 10px !important;
  }
}


/* Historical / closed departures */
#nihapaMigration8 .nh-action.nh-disabled,
#nihapaMigration8 .nh-action.nh-disabled:hover {
  transform:none;
  background:#eeeeee;
  color:#8a8a8a;
  box-shadow:none;
  cursor:not-allowed;
  opacity:1;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a4ff32b */.nihapa-visa-tool {
  font-family: Arial, sans-serif;
  color: #4d4d4d;
}

.visa-title {
  margin-bottom: 20px;
}

.nihapa-visa-tool label {
  display: block;
  color: #000000;
  font-weight: 700;
  margin-bottom: 6px;
}

.required {
  color: #ff4758;
}

.form-container {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  flex-wrap: wrap;
}

.search-container {
  position: relative;
  width: 200px;
}

#citizenship {
  width: 100%;
  padding: 8px;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  background-color: #ffffff;
  color: #4d4d4d;
  box-sizing: border-box;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

#citizenship:focus {
  outline: none;
  border-color: #418089;
  box-shadow: 0 0 0 2px rgba(65, 128, 137, 0.15);
}

.dropdown {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  max-height: 200px;
  overflow-y: auto;
  display: none;
  z-index: 999;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.dropdown ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.dropdown li {
  padding: 8px;
  cursor: pointer;
  color: #4d4d4d;
  transition:
    background-color 0.2s ease,
    color 0.2s ease;
}

.dropdown li:hover,
.dropdown li.selected {
  background: #418089;
  color: #ffffff;
}

#visa-required-section {
  width: 200px;
}

#visa-required-btn {
  width: 100%;
  padding: 10px 12px;
  border: none;
  border-radius: 5px;
  background: #999999;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease;
  box-sizing: border-box;
}

#visa-required-btn:hover {
  background: #79aaae;
}

#visa-info {
  display: none;
  margin-top: 20px;
  padding: 15px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  background: #f5f5f5;
  color: #4d4d4d;
  line-height: 1.7;
}

#visa-info strong {
  color: #000000;
}

#visa-info a {
  color: #418089;
  text-decoration: none;
}

#visa-info a:hover {
  color: #ff4758;
}

#visa-info em {
  color: #999999;
}

#visa-info ul {
  margin: 10px 0 10px 20px;
  padding: 0;
}

#visa-info li {
  margin-bottom: 6px;
}

#reset-btn {
  margin-top: 10px;
  padding: 8px 12px;
  border: none;
  border-radius: 5px;
  background: #999999;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

#reset-btn:hover {
  background: #666666;
}

@media (max-width: 768px) {

  .form-container {
    flex-direction: column;
  }

  .search-container,
  #visa-required-section {
    width: 100%;
  }

}/* End custom CSS */