{"id":22800,"date":"2026-07-02T00:33:01","date_gmt":"2026-07-02T06:33:01","guid":{"rendered":"https:\/\/ndikandii.com\/?page_id=22800"},"modified":"2026-07-08T21:19:27","modified_gmt":"2026-07-09T03:19:27","slug":"massage-menu","status":"publish","type":"page","link":"https:\/\/ndikandii.com\/en\/massage-menu\/","title":{"rendered":"Massage Menu"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n\/* NDIKANDI\u00cd Massage Menu\n   Styles are isolated inside #ndk-massage-menu to avoid affecting the theme. *\/\n\n#ndk-massage-menu {\n  --ndk-dark: #0b1628;\n  --ndk-accent: #c78384;\n  --ndk-accent-dark: #af6d70;\n  --ndk-bg: #fff1ed;\n  --ndk-text: #494445;\n  --ndk-light: #f5e2df;\n  --ndk-border: #e5c9c6;\n  width: 100%;\n  max-width: none;\n  margin: 0;\n  padding: 0;\n  overflow: hidden;\n  background: var(--ndk-bg);\n  color: var(--ndk-text);\n  font-family: \"Montserrat\", Arial, sans-serif;\n  font-size: 16px;\n  line-height: 1.65;\n  -webkit-font-smoothing: antialiased;\n}\n\n#ndk-massage-menu,\n#ndk-massage-menu * {\n  box-sizing: border-box;\n}\n\n#ndk-massage-menu .ndk-container {\n  width: min(100% - 32px, 1200px);\n  margin-inline: auto;\n}\n\n#ndk-massage-menu .ndk-hero {\n  position: relative;\n  display: grid;\n  min-height: 430px;\n  place-items: center;\n  overflow: hidden;\n  padding: 80px 24px;\n  background:\n    linear-gradient(rgba(255, 241, 237, 0.84), rgba(255, 241, 237, 0.84)),\n    url(\"https:\/\/ndikandii.com\/wp-content\/uploads\/2026\/07\/Menu-de-Masajes_2-1.png\") center \/ cover no-repeat;\n  color: var(--ndk-dark);\n}\n\n#ndk-massage-menu .ndk-hero::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  background: radial-gradient(circle at center, transparent 0, rgba(199, 131, 132, 0.12) 78%);\n  pointer-events: none;\n}\n\n#ndk-massage-menu .ndk-hero__content {\n  position: relative;\n  z-index: 1;\n  text-align: center;\n}\n\n#ndk-massage-menu .ndk-eyebrow {\n  margin: 0 0 16px;\n  color: var(--ndk-accent);\n  font-size: 0.82rem;\n  font-weight: 600;\n  letter-spacing: 0.3em;\n  line-height: 1.4;\n  text-transform: uppercase;\n}\n\n#ndk-massage-menu .ndk-hero h1 {\n  margin: 0 0 24px;\n  color: var(--ndk-dark);\n  font-family: \"Berlin Sans FB\", \"Berlin Sans\", \"Montserrat\", sans-serif;\n  font-size: clamp(2.5rem, 6vw, 4rem);\n  font-weight: 400;\n  letter-spacing: 0;\n  line-height: 1.08;\n}\n\n#ndk-massage-menu .ndk-hero__intro {\n  max-width: 760px;\n  margin: 0 auto;\n  color: var(--ndk-text);\n  font-size: clamp(1rem, 2vw, 1.2rem);\n  font-weight: 300;\n  line-height: 1.7;\n}\n\n#ndk-massage-menu .ndk-content {\n  padding-block: 48px 64px;\n}\n\n#ndk-massage-menu .ndk-filters {\n  margin-bottom: 48px;\n  border-bottom: 1px solid var(--ndk-border);\n}\n\n#ndk-massage-menu .ndk-filters__scroll {\n  display: flex;\n  gap: 12px;\n  justify-content: center;\n  overflow-x: auto;\n  padding: 0 2px 16px;\n  scrollbar-width: none;\n  -webkit-overflow-scrolling: touch;\n}\n\n#ndk-massage-menu .ndk-filters__scroll::-webkit-scrollbar {\n  display: none;\n}\n\n#ndk-massage-menu .ndk-filter {\n  flex: 0 0 auto;\n  min-height: 42px;\n  margin: 0;\n  padding: 9px 22px;\n  border: 1px solid var(--ndk-border);\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.55);\n  color: var(--ndk-text);\n  box-shadow: none;\n  cursor: pointer;\n  font: 500 0.88rem\/1.3 \"Montserrat\", Arial, sans-serif;\n  letter-spacing: 0;\n  text-transform: none;\n  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;\n}\n\n#ndk-massage-menu .ndk-filter:hover,\n#ndk-massage-menu .ndk-filter:focus-visible {\n  border-color: var(--ndk-accent);\n  background: #fffaf8;\n  color: var(--ndk-accent-dark);\n}\n\n#ndk-massage-menu .ndk-filter:focus-visible,\n#ndk-massage-menu .ndk-button:focus-visible {\n  outline: 3px solid rgba(199, 131, 132, 0.35);\n  outline-offset: 3px;\n}\n\n#ndk-massage-menu .ndk-filter.is-active,\n#ndk-massage-menu .ndk-filter.is-active:hover {\n  border-color: var(--ndk-accent);\n  background: var(--ndk-accent);\n  color: #fff;\n}\n\n#ndk-massage-menu .ndk-grid {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 32px;\n  align-items: stretch;\n}\n\n#ndk-massage-menu .ndk-card {\n  display: flex;\n  min-width: 0;\n  overflow: hidden;\n  flex-direction: column;\n  border: 1px solid var(--ndk-border);\n  border-radius: 10px;\n  background: #fffaf8;\n  box-shadow: 0 3px 14px rgba(11, 22, 40, 0.06);\n  opacity: 1;\n  transform: translateY(0);\n  transition: box-shadow 250ms ease, transform 250ms ease, opacity 180ms ease;\n}\n\n#ndk-massage-menu .ndk-card:hover {\n  box-shadow: 0 16px 35px rgba(11, 22, 40, 0.14);\n  transform: translateY(-4px);\n}\n\n#ndk-massage-menu .ndk-card[hidden] {\n  display: none !important;\n}\n\n#ndk-massage-menu .ndk-card.is-leaving {\n  opacity: 0;\n  transform: translateY(12px);\n}\n\n#ndk-massage-menu .ndk-card--special {\n  border-color: var(--ndk-border);\n  background: var(--ndk-light);\n}\n\n#ndk-massage-menu .ndk-card__media {\n  position: relative;\n  height: 256px;\n  overflow: hidden;\n  background: var(--ndk-light);\n}\n\n#ndk-massage-menu .ndk-card__media img {\n  display: block;\n  width: 100%;\n  height: 100%;\n  margin: 0;\n  object-fit: cover;\n  transition: transform 600ms ease;\n}\n\n#ndk-massage-menu .ndk-card:hover .ndk-card__media img {\n  transform: scale(1.05);\n}\n\n#ndk-massage-menu .ndk-badge {\n  position: absolute;\n  inset: 16px auto auto 16px !important;\n  z-index: 2;\n  display: inline-flex !important;\n  align-items: center;\n  justify-content: center;\n  float: none !important;\n  width: max-content !important;\n  min-width: 0 !important;\n  max-width: calc(100% - 32px);\n  height: auto !important;\n  margin: 0 !important;\n  padding: 5px 12px;\n  border-radius: 999px;\n  background: rgba(255, 255, 255, 0.92);\n  color: var(--ndk-dark);\n  font-size: 0.7rem;\n  font-weight: 600;\n  letter-spacing: 0.1em;\n  line-height: 1.4;\n  text-align: center;\n  text-indent: 0 !important;\n  text-transform: uppercase;\n  white-space: nowrap !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  overflow: visible !important;\n  clip: auto !important;\n  clip-path: none !important;\n  translate: none !important;\n  transform: none !important;\n  backdrop-filter: blur(5px);\n}\n\n#ndk-massage-menu .ndk-badge--gold {\n  color: var(--ndk-accent-dark);\n}\n\n#ndk-massage-menu .ndk-badge--dark {\n  background: rgba(11, 22, 40, 0.92);\n  color: #f7d8d4;\n}\n\n#ndk-massage-menu .ndk-card__body {\n  display: flex !important;\n  flex: 1;\n  flex-direction: column;\n  width: 100%;\n  min-width: 0;\n  padding: 30px;\n  overflow: visible;\n}\n\n#ndk-massage-menu .ndk-card h2 {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  margin: 0 0 12px;\n  color: var(--ndk-dark);\n  font-family: \"Berlin Sans FB\", \"Berlin Sans\", \"Montserrat\", sans-serif;\n  font-size: 1.65rem;\n  font-weight: 400;\n  letter-spacing: 0;\n  line-height: 1.2;\n  white-space: normal !important;\n  overflow: visible !important;\n  overflow-wrap: break-word;\n  text-overflow: clip !important;\n}\n\n#ndk-massage-menu .ndk-card p {\n  display: block;\n  flex: 1;\n  width: 100%;\n  max-width: 100%;\n  margin: 0 0 24px;\n  color: var(--ndk-text);\n  font-size: 0.96rem;\n  font-weight: 300;\n  line-height: 1.7;\n  white-space: normal !important;\n  word-break: normal;\n  overflow: visible !important;\n  overflow-wrap: break-word;\n  text-overflow: clip !important;\n}\n\n#ndk-massage-menu .ndk-card--special .ndk-card__body,\n#ndk-massage-menu .ndk-card--special h2,\n#ndk-massage-menu .ndk-card--special p,\n#ndk-massage-menu .ndk-card--special .ndk-button {\n  min-width: 0 !important;\n  max-width: 100% !important;\n  white-space: normal !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  overflow: visible !important;\n}\n\n#ndk-massage-menu .ndk-button {\n  position: static !important;\n  display: block !important;\n  flex: 0 0 auto;\n  align-self: stretch;\n  width: 100%;\n  max-width: 100%;\n  min-height: 45px;\n  margin: auto 0 0;\n  padding: 12px 16px;\n  border: 1px solid var(--ndk-accent);\n  border-radius: 5px;\n  background: var(--ndk-accent);\n  color: #fff;\n  font: 500 0.9rem\/1.4 \"Montserrat\", Arial, sans-serif;\n  letter-spacing: 0.025em;\n  text-align: center;\n  text-decoration: none;\n  text-transform: none;\n  white-space: normal !important;\n  visibility: visible !important;\n  opacity: 1 !important;\n  transition: border-color 200ms ease, background-color 200ms ease, color 200ms ease;\n}\n\n#ndk-massage-menu .ndk-button:hover {\n  border-color: var(--ndk-accent-dark);\n  background: var(--ndk-accent-dark);\n  color: #fff;\n  text-decoration: none;\n}\n\n#ndk-massage-menu .ndk-button--gold {\n  border-color: var(--ndk-accent);\n  background: var(--ndk-accent);\n}\n\n#ndk-massage-menu .ndk-button--gold:hover {\n  border-color: var(--ndk-accent-dark);\n  background: var(--ndk-accent-dark);\n}\n\n#ndk-massage-menu .ndk-actions {\n  padding: 56px 0;\n  border-top: 1px solid var(--ndk-border);\n  background:\n    radial-gradient(circle at 10% 20%, rgba(199, 131, 132, 0.13), transparent 34%),\n    #fff8f5;\n}\n\n#ndk-massage-menu .ndk-actions__grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 24px;\n}\n\n#ndk-massage-menu .ndk-action-card {\n  position: relative !important;\n  display: grid !important;\n  grid-template-columns: auto minmax(0, 1fr);\n  gap: 4px 18px;\n  min-width: 0;\n  min-height: 190px;\n  margin: 0 !important;\n  padding: 30px !important;\n  overflow: hidden;\n  border: 1px solid var(--ndk-border);\n  border-radius: 14px;\n  background: #fffaf8;\n  color: var(--ndk-dark) !important;\n  box-shadow: 0 8px 24px rgba(11, 22, 40, 0.07);\n  text-decoration: none !important;\n  transform: translateY(0);\n  transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;\n}\n\n#ndk-massage-menu .ndk-action-card::after {\n  content: \"\";\n  position: absolute;\n  right: -48px;\n  bottom: -58px;\n  width: 150px;\n  height: 150px;\n  border-radius: 50%;\n  background: rgba(199, 131, 132, 0.1);\n  pointer-events: none;\n}\n\n#ndk-massage-menu .ndk-action-card:hover {\n  border-color: var(--ndk-accent);\n  color: var(--ndk-dark) !important;\n  box-shadow: 0 16px 34px rgba(11, 22, 40, 0.12);\n  text-decoration: none !important;\n  transform: translateY(-4px);\n}\n\n#ndk-massage-menu .ndk-action-card:focus-visible {\n  outline: 3px solid rgba(199, 131, 132, 0.35);\n  outline-offset: 4px;\n}\n\n#ndk-massage-menu .ndk-action-card--support {\n  border-color: var(--ndk-dark);\n  background: var(--ndk-dark);\n  color: #fff !important;\n}\n\n#ndk-massage-menu .ndk-action-card--support:hover {\n  border-color: var(--ndk-accent);\n  color: #fff !important;\n}\n\n#ndk-massage-menu .ndk-action-card--support::after {\n  background: rgba(199, 131, 132, 0.18);\n}\n\n#ndk-massage-menu .ndk-action-card__icon {\n  display: grid !important;\n  grid-row: 1 \/ span 2;\n  width: 46px !important;\n  height: 46px !important;\n  margin: 0 !important;\n  border-radius: 50%;\n  place-items: center;\n  background: var(--ndk-light);\n  color: var(--ndk-accent-dark);\n  font-size: 1.3rem;\n  font-weight: 600;\n  line-height: 1;\n  text-indent: 0 !important;\n  transform: none !important;\n}\n\n#ndk-massage-menu .ndk-action-card--support .ndk-action-card__icon {\n  background: var(--ndk-accent);\n  color: #fff;\n}\n\n#ndk-massage-menu .ndk-action-card__content {\n  display: flex !important;\n  min-width: 0;\n  flex-direction: column;\n  align-self: center;\n  white-space: normal !important;\n  transform: none !important;\n}\n\n#ndk-massage-menu .ndk-action-card__content strong,\n#ndk-massage-menu .ndk-action-card__content > span {\n  display: block !important;\n  max-width: 100%;\n  margin: 0;\n  white-space: normal !important;\n  overflow: visible !important;\n  text-overflow: clip !important;\n}\n\n#ndk-massage-menu .ndk-action-card__content strong {\n  color: inherit;\n  font-family: \"Berlin Sans FB\", \"Berlin Sans\", \"Montserrat\", sans-serif;\n  font-size: clamp(1.3rem, 2vw, 1.65rem);\n  font-weight: 400;\n  line-height: 1.2;\n}\n\n#ndk-massage-menu .ndk-action-card__content > span {\n  margin-top: 6px;\n  color: var(--ndk-text);\n  font-size: 0.98rem;\n  line-height: 1.5;\n}\n\n#ndk-massage-menu .ndk-action-card--support .ndk-action-card__content > span {\n  color: rgba(255, 255, 255, 0.74);\n}\n\n#ndk-massage-menu .ndk-action-card__link {\n  display: block !important;\n  grid-column: 2;\n  align-self: end;\n  margin: 18px 0 0 !important;\n  color: var(--ndk-accent-dark);\n  font-size: 0.85rem;\n  font-weight: 600;\n  letter-spacing: 0.04em;\n  line-height: 1.4;\n  text-transform: uppercase;\n  white-space: normal !important;\n  transform: none !important;\n}\n\n#ndk-massage-menu .ndk-action-card--support .ndk-action-card__link {\n  color: #f2c7c4;\n}\n\n#ndk-massage-menu .ndk-footer {\n  padding: 30px 24px;\n  background: var(--ndk-dark);\n  color: #fff;\n  text-align: center;\n}\n\n#ndk-massage-menu .ndk-footer p {\n  margin: 0;\n  color: rgba(255, 255, 255, 0.72);\n  font-size: 0.82rem;\n  font-weight: 300;\n  letter-spacing: 0.04em;\n}\n\n@media (max-width: 960px) {\n  #ndk-massage-menu .ndk-grid {\n    grid-template-columns: repeat(2, minmax(0, 1fr));\n  }\n\n  #ndk-massage-menu .ndk-filters__scroll {\n    justify-content: flex-start;\n  }\n}\n\n@media (max-width: 640px) {\n  #ndk-massage-menu .ndk-container {\n    width: min(100% - 24px, 1200px);\n  }\n\n  #ndk-massage-menu .ndk-hero {\n    min-height: 390px;\n    padding: 64px 18px;\n  }\n\n  #ndk-massage-menu .ndk-content {\n    padding-block: 36px 48px;\n  }\n\n  #ndk-massage-menu .ndk-filters {\n    margin-bottom: 32px;\n  }\n\n  #ndk-massage-menu .ndk-grid {\n    grid-template-columns: 1fr;\n    gap: 24px;\n  }\n\n  #ndk-massage-menu .ndk-card__media {\n    height: 230px;\n  }\n\n  #ndk-massage-menu .ndk-card__body {\n    padding: 24px;\n  }\n\n  #ndk-massage-menu .ndk-actions {\n    padding: 40px 0;\n  }\n\n  #ndk-massage-menu .ndk-actions__grid {\n    grid-template-columns: 1fr;\n  }\n\n  #ndk-massage-menu .ndk-action-card {\n    min-height: 170px;\n    padding: 24px !important;\n  }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  #ndk-massage-menu *,\n  #ndk-massage-menu *::before,\n  #ndk-massage-menu *::after {\n    scroll-behavior: auto !important;\n    transition-duration: 0.01ms !important;\n  }\n}\n\n#ndk-massage-menu .ndk-card__price {\n  display: block;\n  margin: 0 0 10px;\n  color: var(--ndk-dark);\n  font-size: 0.88rem;\n  font-weight: 600;\n  line-height: 1.4;\n  text-align: center;\n}\n\n\n\/* Selector inicial, configuraci\u00f3n de sesi\u00f3n y paneles *\/\n#ndk-massage-menu .ndk-panel[hidden] {\n  display: none !important;\n}\n\n#ndk-massage-menu .ndk-section-kicker {\n  margin: 0 0 10px;\n  color: var(--ndk-accent);\n  font-size: 0.76rem;\n  font-weight: 700;\n  letter-spacing: 0.22em;\n  line-height: 1.4;\n  text-transform: uppercase;\n}\n\n#ndk-massage-menu .ndk-intent,\n#ndk-massage-menu .ndk-config,\n#ndk-massage-menu .ndk-feature-panel {\n  margin: 0 0 38px;\n  padding: 34px;\n  border: 1px solid var(--ndk-border);\n  border-radius: 18px;\n  background: #fffaf8;\n  box-shadow: 0 10px 30px rgba(11, 22, 40, 0.07);\n  text-align: center;\n}\n\n#ndk-massage-menu .ndk-intent h2,\n#ndk-massage-menu .ndk-config h2,\n#ndk-massage-menu .ndk-techniques h2,\n#ndk-massage-menu .ndk-feature-panel h2 {\n  margin: 0 0 12px;\n  color: var(--ndk-dark);\n  font-family: \"Berlin Sans FB\", \"Berlin Sans\", \"Montserrat\", sans-serif;\n  font-size: clamp(2rem, 4vw, 2.8rem);\n  font-weight: 400;\n  line-height: 1.15;\n}\n\n#ndk-massage-menu .ndk-intent__intro,\n#ndk-massage-menu .ndk-config__header p,\n#ndk-massage-menu .ndk-techniques__intro,\n#ndk-massage-menu .ndk-feature-panel > p {\n  max-width: 760px;\n  margin: 0 auto;\n  color: var(--ndk-text);\n  font-size: 0.98rem;\n  font-weight: 300;\n  line-height: 1.7;\n}\n\n#ndk-massage-menu .ndk-intent__options {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n  margin-top: 26px;\n}\n\n#ndk-massage-menu .ndk-intent-card {\n  display: flex !important;\n  min-width: 0;\n  min-height: 180px;\n  margin: 0;\n  padding: 24px 20px;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  border: 1px solid var(--ndk-border);\n  border-radius: 16px;\n  background: rgba(245, 226, 223, 0.45);\n  color: var(--ndk-dark);\n  box-shadow: none;\n  cursor: pointer;\n  font-family: \"Montserrat\", Arial, sans-serif;\n  text-align: center;\n  text-transform: none;\n  transition: border-color 200ms ease, background-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;\n}\n\n#ndk-massage-menu .ndk-intent-card:hover,\n#ndk-massage-menu .ndk-intent-card:focus-visible {\n  border-color: var(--ndk-accent);\n  background: #fff;\n  box-shadow: 0 10px 26px rgba(11, 22, 40, 0.1);\n  transform: translateY(-2px);\n}\n\n#ndk-massage-menu .ndk-intent-card:focus-visible,\n#ndk-massage-menu .ndk-choice:focus-visible {\n  outline: 3px solid rgba(199, 131, 132, 0.35);\n  outline-offset: 3px;\n}\n\n#ndk-massage-menu .ndk-intent-card.is-active {\n  border-color: var(--ndk-accent);\n  background:\n    linear-gradient(135deg, rgba(199, 131, 132, 0.16), rgba(255, 250, 248, 0.95));\n  box-shadow: 0 12px 30px rgba(199, 131, 132, 0.16);\n}\n\n#ndk-massage-menu .ndk-intent-card__icon {\n  display: grid;\n  width: 52px;\n  height: 52px;\n  margin: 0 0 14px;\n  border-radius: 50%;\n  place-items: center;\n  background: #fff;\n  color: var(--ndk-accent-dark);\n  font-size: 1.45rem;\n  line-height: 1;\n}\n\n#ndk-massage-menu .ndk-intent-card strong {\n  display: block;\n  margin: 0 0 8px;\n  color: var(--ndk-dark);\n  font-size: 1.05rem;\n  font-weight: 700;\n  line-height: 1.35;\n}\n\n#ndk-massage-menu .ndk-intent-card span:last-child {\n  display: block;\n  color: var(--ndk-text);\n  font-size: 0.88rem;\n  font-weight: 300;\n  line-height: 1.55;\n}\n\n#ndk-massage-menu .ndk-config {\n  background:\n    radial-gradient(circle at 8% 18%, rgba(199, 131, 132, 0.13), transparent 28%),\n    radial-gradient(circle at 90% 10%, rgba(11, 22, 40, 0.08), transparent 24%),\n    #fffaf8;\n}\n\n#ndk-massage-menu .ndk-config__groups {\n  display: grid;\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n  gap: 16px;\n  margin-top: 26px;\n}\n\n#ndk-massage-menu .ndk-config__group {\n  min-width: 0;\n  margin: 0;\n  padding: 20px;\n  border: 1px solid var(--ndk-border);\n  border-radius: 16px;\n  background: rgba(255, 255, 255, 0.72);\n}\n\n#ndk-massage-menu .ndk-config__group legend {\n  display: block;\n  width: 100%;\n  margin: 0 0 14px;\n  padding: 0;\n  color: var(--ndk-dark);\n  font-size: 0.92rem;\n  font-weight: 700;\n  line-height: 1.35;\n  text-align: center;\n}\n\n#ndk-massage-menu .ndk-choice-list {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 10px;\n}\n\n#ndk-massage-menu .ndk-choice-list--three {\n  grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n#ndk-massage-menu .ndk-choice {\n  display: inline-flex !important;\n  min-width: 0;\n  min-height: 44px;\n  margin: 0;\n  padding: 10px 12px;\n  align-items: center;\n  justify-content: center;\n  gap: 6px;\n  border: 1px solid var(--ndk-border);\n  border-radius: 999px;\n  background: #fffaf8;\n  color: var(--ndk-text);\n  box-shadow: none;\n  cursor: pointer;\n  font: 600 0.86rem\/1.25 \"Montserrat\", Arial, sans-serif;\n  letter-spacing: 0;\n  text-align: center;\n  text-transform: none;\n  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, transform 180ms ease;\n}\n\n#ndk-massage-menu .ndk-choice:hover,\n#ndk-massage-menu .ndk-choice:focus-visible {\n  border-color: var(--ndk-accent);\n  color: var(--ndk-accent-dark);\n  transform: translateY(-1px);\n}\n\n#ndk-massage-menu .ndk-choice.is-active,\n#ndk-massage-menu .ndk-choice.is-active:hover {\n  border-color: var(--ndk-accent);\n  background: var(--ndk-accent);\n  color: #fff;\n}\n\n#ndk-massage-menu .ndk-config__summary {\n  display: inline-flex;\n  max-width: 100%;\n  margin: 24px auto 0;\n  padding: 12px 18px;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  border-radius: 999px;\n  background: var(--ndk-dark);\n  color: #fff;\n  line-height: 1.4;\n}\n\n#ndk-massage-menu .ndk-config__summary span {\n  color: rgba(255, 255, 255, 0.72);\n  font-size: 0.86rem;\n}\n\n#ndk-massage-menu .ndk-config__summary strong {\n  color: #fff;\n  font-size: 0.9rem;\n  font-weight: 700;\n}\n\n#ndk-massage-menu .ndk-techniques {\n  margin-top: 42px;\n  text-align: center;\n}\n\n#ndk-massage-menu .ndk-techniques .ndk-filters {\n  margin-top: 28px;\n}\n\n#ndk-massage-menu .ndk-grid--featured {\n  max-width: 520px;\n  margin: 28px auto 0;\n  grid-template-columns: minmax(0, 1fr);\n}\n\n#ndk-massage-menu .ndk-button.is-unavailable {\n  border-color: var(--ndk-dark);\n  background: transparent;\n  color: var(--ndk-dark);\n}\n\n#ndk-massage-menu .ndk-button.is-unavailable:hover {\n  border-color: var(--ndk-accent-dark);\n  background: #fff;\n  color: var(--ndk-accent-dark);\n}\n\n@media (max-width: 960px) {\n  #ndk-massage-menu .ndk-intent__options,\n  #ndk-massage-menu .ndk-config__groups {\n    grid-template-columns: 1fr;\n  }\n\n  #ndk-massage-menu .ndk-intent-card {\n    min-height: 150px;\n  }\n}\n\n@media (max-width: 640px) {\n  #ndk-massage-menu .ndk-intent,\n  #ndk-massage-menu .ndk-config,\n  #ndk-massage-menu .ndk-feature-panel {\n    padding: 24px 18px;\n    border-radius: 16px;\n  }\n\n  #ndk-massage-menu .ndk-choice-list,\n  #ndk-massage-menu .ndk-choice-list--three {\n    grid-template-columns: 1fr;\n  }\n\n  #ndk-massage-menu .ndk-config__summary {\n    display: flex;\n    border-radius: 16px;\n    flex-direction: column;\n    gap: 2px;\n  }\n}\n#ndk-massage-menu .ndk-card__learn-more {\n  display: inline-flex;\n  align-items: center;\n  width: fit-content;\n  margin: 0 0 18px;\n  color: var(--ndk-accent-dark);\n  font-size: 0.84rem;\n  font-weight: 600;\n  letter-spacing: 0.02em;\n  line-height: 1.4;\n  text-decoration: none;\n}\n\n#ndk-massage-menu .ndk-card__learn-more:hover,\n#ndk-massage-menu .ndk-card__learn-more:focus-visible {\n  color: var(--ndk-dark);\n  text-decoration: underline;\n}\n\n#ndk-massage-menu .ndk-card__learn-more:focus-visible {\n  outline: 3px solid rgba(199, 131, 132, 0.35);\n  outline-offset: 3px;\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(() => {\n  \"use strict\";\n\n  const serviceLinks = {\n    \"relajante\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-relaxing-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-relaxing-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-relaxing-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-relaxing-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-relaxing-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-relaxing-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-relaxing-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-relaxing-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-relaxing-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-relaxing-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-relaxing-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-relaxing-120-night\"\n    },\n    \"sueco\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-swedish-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-swedish-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-swedish-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-swedish-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-swedish-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-swedish-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-swedish-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-swedish-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-swedish-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-swedish-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-swedish-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-swedish-120-night\"\n    },\n    \"hawaiano\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-hawaiian-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-hawaiian-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-hawaiian-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-hawaiian-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-hawaiian-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-hawaiian-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-hawaiian-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-hawaiian-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-hawaiian-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-hawaiian-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-hawaiian-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-hawaiian-120-night\"\n    },\n    \"descontracturante\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-decontracting-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-decontracting-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-decontracting-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-decontracting-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-decontracting-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-decontracting-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-decontracting-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-decontracting-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-decontracting-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-decontracting-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-decontracting-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-decontracting-120-night\"\n    },\n    \"deep-tissue\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-deep-tissue-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-deep-tissue-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-deep-tissue-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-deep-tissue-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-deep-tissue-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-deep-tissue-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-deep-tissue-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-deep-tissue-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-deep-tissue-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-deep-tissue-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-deep-tissue-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-deep-tissue-120-night\"\n    },\n    \"deportivo\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-sports-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-sports-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-sports-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-sports-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-sports-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-sports-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-sports-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-sports-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-sports-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-sports-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-sports-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-sports-120-night\"\n    },\n    \"shiatsu\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-shiatsu-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-shiatsu-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-shiatsu-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-shiatsu-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-shiatsu-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-shiatsu-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-shiatsu-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-shiatsu-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-shiatsu-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-shiatsu-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-shiatsu-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-shiatsu-120-night\"\n    },\n    \"ayurveda\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-ayurvedic-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-ayurvedic-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-ayurvedic-120\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-ayurvedic-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-ayurvedic-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-ayurvedic-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-ayurvedic-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-ayurvedic-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-ayurvedic-120-night\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-ayurvedic-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-ayurvedic-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-ayurvedic-120-night\"\n    },\n    \"piedras-calientes\": {\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-hot-stone-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-hot-stone-120\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-hot-stone-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-hot-stone-120-night\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-hot-stone-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-hot-stone-120\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-hot-stone-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-hot-stone-120-night\"\n    },\n    \"holistico\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-holistic-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-holistic-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-holistic-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-holistic-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-holistic-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-holistic-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-holistic-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-holistic-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-holistic-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-holistic-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-holistic-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-holistic-120-night\"\n    },\n    \"maya-rebozo\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-mayan-with-rebozo-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-mayan-with-rebozo-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-mayan-with-rebozo-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-mayan-with-rebozo-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-mayan-with-rebozo-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-mayan-with-rebozo-120-night\"\n    },\n    \"drenaje-linfatico\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-120\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-lymphatic-drainage-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-lymphatic-drainage-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-lymphatic-drainage-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-120-night\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-lymphatic-drainage-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-lymphatic-drainage-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-lymphatic-drainage-120-night\"\n    },\n    \"prenatal\": {\n      \"day-single-60\": \"https:\/\/ndikandii.as.me\/single-prenatal-60\",\n      \"day-single-90\": \"https:\/\/ndikandii.as.me\/single-prenatal-90\",\n      \"day-single-120\": \"https:\/\/ndikandii.as.me\/single-prenatal-120\",\n      \"night-single-60\": \"https:\/\/ndikandii.as.me\/single-prenatal-60-night\",\n      \"night-single-90\": \"https:\/\/ndikandii.as.me\/single-prenatal-90-night\",\n      \"night-single-120\": \"https:\/\/ndikandii.as.me\/single-prenatal-120-night\",\n      \"day-couple-60\": \"https:\/\/ndikandii.as.me\/couples-prenatal-60\",\n      \"day-couple-90\": \"https:\/\/ndikandii.as.me\/couples-prenatal-90\",\n      \"day-couple-120\": \"https:\/\/ndikandii.as.me\/couples-prenatal-120\",\n      \"night-couple-60\": \"https:\/\/ndikandii.as.me\/couples-prenatal-60-night\",\n      \"night-couple-90\": \"https:\/\/ndikandii.as.me\/couples-prenatal-90-night\",\n      \"night-couple-120\": \"https:\/\/ndikandii.as.me\/couples-prenatal-120-night\"\n    }\n  };\n\n  const configLabels = {\n    period: {\n      day: \"Day\",\n      night: \"Night\"\n    },\n    session: {\n      single: \"Single\",\n      couple: \"Couples\"\n    },\n    duration: {\n      60: \"60 minutes\",\n      90: \"90 minutes\",\n      120: \"120 minutes\"\n    }\n  };\n\n  const priceTable = {\n    single: {\n      60: 1200,\n      90: 1500,\n      120: 1800\n    },\n    couple: {\n      60: 2400,\n      90: 3000,\n      120: 3600\n    }\n  };\n\n  const nightSurcharge = {\n    single: 300,\n    couple: 600\n  };\n\n  const formatPrice = (amount) => `$${amount.toLocaleString(\"en-US\")} MXN`;\n\n  const getSessionPrice = ({ period, session, duration }) => {\n    const basePrice = priceTable[session]?.[duration];\n\n    if (typeof basePrice !== \"number\") {\n      return null;\n    }\n\n    return basePrice + (period === \"night\" ? nightSurcharge[session] || 0 : 0);\n  };\n\n  const getPriceText = (selection) => {\n    const price = getSessionPrice(selection);\n\n    if (price === null) {\n      return \"Ask on WhatsApp\";\n    }\n\n    const nightNote = selection.period === \"night\" ? \" \u00b7 Night rate included\" : \"\";\n\n    return `${configLabels.session[selection.session]} \u00b7 ${configLabels.duration[selection.duration]} \u00b7 ${formatPrice(price)}${nightNote}`;\n  };\n\n  const initMassageMenu = () => {\n    const menu = document.querySelector(\"#ndk-massage-menu\");\n\n    if (!menu || menu.dataset.initialized === \"true\") {\n      return;\n    }\n\n    menu.dataset.initialized = \"true\";\n\n    const state = {\n      view: \"massage\",\n      period: \"day\",\n      session: \"single\",\n      duration: \"60\"\n    };\n\n    const intentButtons = Array.from(menu.querySelectorAll(\".ndk-intent-card[data-view]\"));\n    const panels = {\n      massage: menu.querySelector(\"#ndk-panel-massage\"),\n      packages: menu.querySelector(\"#ndk-panel-packages\"),\n      gifts: menu.querySelector(\"#ndk-panel-gifts\")\n    };\n\n    const massagePanel = panels.massage;\n    const filterButtons = massagePanel\n      ? Array.from(massagePanel.querySelectorAll(\".ndk-filter\"))\n      : [];\n\n    const massageCards = massagePanel\n      ? Array.from(massagePanel.querySelectorAll(\".ndk-card[data-category][data-service]\"))\n      : [];\n\n    const configChoices = Array.from(menu.querySelectorAll(\".ndk-choice[data-config][data-value]\"));\n    const summary = menu.querySelector(\"[data-config-summary]\");\n\n    const mobileQuery = window.matchMedia ? window.matchMedia(\"(max-width: 640px)\") : null;\n    const reducedMotionQuery = window.matchMedia ? window.matchMedia(\"(prefers-reduced-motion: reduce)\") : null;\n    const touchedConfig = {\n      period: false,\n      session: false,\n      duration: false\n    };\n\n    let hasAutoScrolledToTechniques = false;\n\n    const isMobileViewport = () => mobileQuery ? mobileQuery.matches : window.innerWidth <= 640;\n\n    const getStickyOffset = () => {\n      const adminBar = document.querySelector(\"#wpadminbar\");\n      const adminOffset = adminBar ? adminBar.offsetHeight : 0;\n      const headerSelectors = [\".site-header\", \"#masthead\", \".ast-primary-header-bar\"];\n      const stickyHeader = headerSelectors\n        .map((selector) => document.querySelector(selector))\n        .find((element) => {\n          if (!element) {\n            return false;\n          }\n\n          const position = window.getComputedStyle(element).position;\n          return position === \"fixed\" || position === \"sticky\";\n        });\n      const headerOffset = stickyHeader ? stickyHeader.offsetHeight : 0;\n\n      return adminOffset + headerOffset + 18;\n    };\n\n    const scrollToElementOnMobile = (target) => {\n      if (!target || !isMobileViewport()) {\n        return;\n      }\n\n      window.setTimeout(() => {\n        const top = target.getBoundingClientRect().top + window.pageYOffset - getStickyOffset();\n        const behavior = reducedMotionQuery && reducedMotionQuery.matches ? \"auto\" : \"smooth\";\n\n        window.scrollTo({\n          top: Math.max(0, top),\n          behavior\n        });\n      }, 90);\n    };\n\n    const getViewScrollTarget = (view) => {\n      if (view === \"massage\") {\n        return menu.querySelector(\"#ndk-session-config\") || panels.massage;\n      }\n\n      return panels[view];\n    };\n\n    const getTechniquesScrollTarget = () =>\n      menu.querySelector(\".ndk-techniques\") ||\n      menu.querySelector(\".ndk-filters\") ||\n      menu.querySelector(\".ndk-grid\");\n\n    const isConfigCompleteByTouch = () =>\n      touchedConfig.period && touchedConfig.session && touchedConfig.duration;\n\n    const maybeScrollToTechniques = () => {\n      if (!isConfigCompleteByTouch() || hasAutoScrolledToTechniques) {\n        return;\n      }\n\n      hasAutoScrolledToTechniques = true;\n      scrollToElementOnMobile(getTechniquesScrollTarget());\n    };\n\n    const getBookingKey = () => `${state.period}-${state.session}-${state.duration}`;\n\n    const getCardTitle = (card) => {\n      const title = card.querySelector(\"h2\");\n      return title ? title.textContent.trim() : \"this massage\";\n    };\n\n    const getFallbackWhatsappUrl = (card) => {\n      const title = encodeURIComponent(getCardTitle(card));\n      const readableSelection = encodeURIComponent(\n        `${configLabels.period[state.period]} \u00b7 ${configLabels.session[state.session]} \u00b7 ${configLabels.duration[state.duration]}`\n      );\n\n      return `https:\/\/api.whatsapp.com\/send\/?phone=525546856501&text=Hello%2C+I+want+to+book+${title}+with+this+configuration%3A+${readableSelection}.+Can+you+help+me%3F&type=phone_number&app_absent=0`;\n    };\n\n    const updateSummary = () => {\n      if (!summary) {\n        return;\n      }\n\n      summary.textContent = `${configLabels.period[state.period]} \u00b7 ${getPriceText(state)}`;\n    };\n\n    const updateConfigButtons = () => {\n      configChoices.forEach((choice) => {\n        const configName = choice.dataset.config;\n        const isActive = state[configName] === choice.dataset.value;\n\n        choice.classList.toggle(\"is-active\", isActive);\n        choice.setAttribute(\"aria-pressed\", String(isActive));\n      });\n    };\n\n    const updateBookingLinks = () => {\n      const bookingKey = getBookingKey();\n\n      massageCards.forEach((card) => {\n        const service = card.dataset.service;\n        const button = card.querySelector(\"[data-booking-button]\");\n        const price = card.querySelector(\".ndk-card__price\");\n\n        if (!service || !button) {\n          return;\n        }\n\n        const serviceMap = serviceLinks[service] || {};\n        const href = serviceMap[bookingKey];\n\n        button.classList.remove(\"is-unavailable\");\n        button.removeAttribute(\"aria-disabled\");\n        button.setAttribute(\"target\", \"_blank\");\n        button.setAttribute(\"rel\", \"noopener noreferrer\");\n        button.textContent = button.dataset.originalLabel || \"Book\";\n\n        if (price) {\n          price.textContent = getPriceText(state);\n        }\n\n        if (href) {\n          button.href = href;\n          button.removeAttribute(\"title\");\n          return;\n        }\n\n        if (service === \"piedras-calientes\" && state.duration === \"60\") {\n          const availableSelection = {\n            period: state.period,\n            session: state.session,\n            duration: \"90\"\n          };\n\n          if (price) {\n            price.textContent = `${configLabels.session[state.session]} \u00b7 available from 90 minutes \u00b7 ${formatPrice(getSessionPrice(availableSelection))}${state.period === \"night\" ? \" \u00b7 Night rate included\" : \"\"}`;\n          }\n\n          button.href = \"#ndk-session-config\";\n          button.removeAttribute(\"target\");\n          button.removeAttribute(\"rel\");\n          button.classList.add(\"is-unavailable\");\n          button.setAttribute(\"title\", \"Hot Stone Massage is available only in 90 or 120 minutes.\");\n          button.textContent = \"Available from 90 min\";\n          return;\n        }\n\n        if (price) {\n          price.textContent = \"Ask on WhatsApp\";\n        }\n\n        button.href = getFallbackWhatsappUrl(card);\n        button.classList.add(\"is-unavailable\");\n        button.textContent = \"Ask on WhatsApp\";\n      });\n    };\n\n    const setView = (view) => {\n      state.view = view;\n\n      intentButtons.forEach((button) => {\n        const isActive = button.dataset.view === view;\n\n        button.classList.toggle(\"is-active\", isActive);\n        button.setAttribute(\"aria-selected\", String(isActive));\n      });\n\n      Object.entries(panels).forEach(([panelName, panel]) => {\n        if (!panel) {\n          return;\n        }\n\n        const shouldShow = panelName === view;\n        panel.hidden = !shouldShow;\n        panel.classList.toggle(\"is-active\", shouldShow);\n      });\n    };\n\n    const applyFilter = (category) => {\n      filterButtons.forEach((button) => {\n        const isActive = button.dataset.filter === category;\n        button.classList.toggle(\"is-active\", isActive);\n        button.setAttribute(\"aria-pressed\", String(isActive));\n      });\n\n      massageCards.forEach((card) => {\n        const shouldShow =\n          category === \"all\" || card.dataset.category === category;\n\n        if (shouldShow) {\n          card.hidden = false;\n          card.classList.remove(\"is-leaving\");\n        } else {\n          card.classList.add(\"is-leaving\");\n          card.hidden = true;\n        }\n      });\n    };\n\n    intentButtons.forEach((button) => {\n      button.addEventListener(\"click\", () => {\n        const selectedView = button.dataset.view || \"massage\";\n\n        setView(selectedView);\n        scrollToElementOnMobile(getViewScrollTarget(selectedView));\n      });\n    });\n\n    filterButtons.forEach((button) => {\n      button.addEventListener(\"click\", () => {\n        applyFilter(button.dataset.filter || \"all\");\n      });\n    });\n\n    configChoices.forEach((choice) => {\n      choice.addEventListener(\"click\", () => {\n        const configName = choice.dataset.config;\n        const value = choice.dataset.value;\n\n        if (!configName || !value) {\n          return;\n        }\n\n        state[configName] = value;\n        touchedConfig[configName] = true;\n        updateConfigButtons();\n        updateSummary();\n        updateBookingLinks();\n        maybeScrollToTechniques();\n      });\n    });\n\n    setView(\"massage\");\n    applyFilter(\"all\");\n    updateConfigButtons();\n    updateSummary();\n    updateBookingLinks();\n  };\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\"DOMContentLoaded\", initMassageMenu, {\n      once: true\n    });\n  } else {\n    initMassageMenu();\n  }\n})();\n<\/script>\n\n<section id=\"ndk-massage-menu\" class=\"ndk-menu\" aria-labelledby=\"ndk-menu-title\">\n  <div class=\"ndk-hero\">\n    <div class=\"ndk-container ndk-hero__content\">\n      <p class=\"ndk-eyebrow\">The luxury of immediacy<\/p>\n      <h1 id=\"ndk-menu-title\">Our Massage Menu<\/h1>\n      <p class=\"ndk-hero__intro\">\n        Choose the experience your body needs today. Our elite team of therapists will arrive at your door with everything needed for an unforgettable moment of wellness.\n      <\/p>\n    <\/div>\n  <\/div>\n\n  <div class=\"ndk-container ndk-content\">\n    <section class=\"ndk-intent\" aria-labelledby=\"ndk-intent-title\">\n      <p class=\"ndk-section-kicker\">Step 1<\/p>\n      <h2 id=\"ndk-intent-title\">What would you like to do today?<\/h2>\n      <p class=\"ndk-intent__intro\">\n        Choose the type of experience first. This helps us avoid confusion and show you only the options you need.\n      <\/p>\n\n      <div class=\"ndk-intent__options\" role=\"tablist\" aria-label=\"NDIKANDI\u00cd experience type\">\n        <button class=\"ndk-intent-card is-active\" type=\"button\" role=\"tab\" aria-selected=\"true\" aria-controls=\"ndk-panel-massage\" id=\"ndk-tab-massage\" data-view=\"massage\">\n          <span class=\"ndk-intent-card__icon\" aria-hidden=\"true\">\ud83d\udc86<\/span>\n          <strong>Book a massage<\/strong>\n          <span>Choose technique, duration, time and format.<\/span>\n        <\/button>\n\n        <button class=\"ndk-intent-card\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"ndk-panel-packages\" id=\"ndk-tab-packages\" data-view=\"packages\">\n          <span class=\"ndk-intent-card__icon\" aria-hidden=\"true\">\ud83c\udf3f<\/span>\n          <strong>Buy a package<\/strong>\n          <span>Purchase several sessions with a preferential rate.<\/span>\n        <\/button>\n\n        <button class=\"ndk-intent-card\" type=\"button\" role=\"tab\" aria-selected=\"false\" aria-controls=\"ndk-panel-gifts\" id=\"ndk-tab-gifts\" data-view=\"gifts\">\n          <span class=\"ndk-intent-card__icon\" aria-hidden=\"true\">\ud83c\udf81<\/span>\n          <strong>Gift certificate<\/strong>\n          <span>Give an in-home wellness experience to someone special.<\/span>\n        <\/button>\n      <\/div>\n    <\/section>\n\n    <div class=\"ndk-panel ndk-panel--massage is-active\" id=\"ndk-panel-massage\" role=\"tabpanel\" aria-labelledby=\"ndk-tab-massage\">\n      <section class=\"ndk-config\" id=\"ndk-session-config\" aria-labelledby=\"ndk-config-title\">\n        <div class=\"ndk-config__header\">\n          <p class=\"ndk-section-kicker\">Step 2<\/p>\n          <h2 id=\"ndk-config-title\">Configure your massage<\/h2>\n          <p>\n            First define how your session will work. Then choose the technique and press \u201cBook\u201d.\n          <\/p>\n        <\/div>\n\n        <div class=\"ndk-config__groups\">\n          <fieldset class=\"ndk-config__group\">\n            <legend>When will it be?<\/legend>\n            <div class=\"ndk-choice-list\">\n              <button class=\"ndk-choice is-active\" type=\"button\" data-config=\"period\" data-value=\"day\" aria-pressed=\"true\">\n                <span aria-hidden=\"true\">\u2600\ufe0f<\/span>\n                Day\n              <\/button>\n              <button class=\"ndk-choice\" type=\"button\" data-config=\"period\" data-value=\"night\" aria-pressed=\"false\">\n                <span aria-hidden=\"true\">\ud83c\udf19<\/span>\n                Night\n              <\/button>\n            <\/div>\n          <\/fieldset>\n\n          <fieldset class=\"ndk-config__group\">\n            <legend>Who is it for?<\/legend>\n            <div class=\"ndk-choice-list\">\n              <button class=\"ndk-choice is-active\" type=\"button\" data-config=\"session\" data-value=\"single\" aria-pressed=\"true\">\n                <span aria-hidden=\"true\">\ud83d\udc64<\/span>\n                Single\n              <\/button>\n              <button class=\"ndk-choice\" type=\"button\" data-config=\"session\" data-value=\"couple\" aria-pressed=\"false\">\n                <span aria-hidden=\"true\">\ud83d\udc65<\/span>\n                Couples\n              <\/button>\n            <\/div>\n          <\/fieldset>\n\n          <fieldset class=\"ndk-config__group\">\n            <legend>How long would you like?<\/legend>\n            <div class=\"ndk-choice-list ndk-choice-list--three\">\n              <button class=\"ndk-choice is-active\" type=\"button\" data-config=\"duration\" data-value=\"60\" aria-pressed=\"true\">60 min<\/button>\n              <button class=\"ndk-choice\" type=\"button\" data-config=\"duration\" data-value=\"90\" aria-pressed=\"false\">90 min<\/button>\n              <button class=\"ndk-choice\" type=\"button\" data-config=\"duration\" data-value=\"120\" aria-pressed=\"false\">120 min<\/button>\n            <\/div>\n          <\/fieldset>\n        <\/div>\n\n        <div class=\"ndk-config__summary\" aria-live=\"polite\">\n          <span>Your selection:<\/span>\n          <strong data-config-summary=\"\">Day \u00b7 Single \u00b7 60 minutes<\/strong>\n        <\/div>\n      <\/section>\n\n      <section class=\"ndk-techniques\" aria-labelledby=\"ndk-techniques-title\">\n        <p class=\"ndk-section-kicker\">Step 3<\/p>\n        <h2 id=\"ndk-techniques-title\">Choose your massage technique<\/h2>\n        <p class=\"ndk-techniques__intro\">\n          You can view all options or filter by category.\n        <\/p>\n\n        <nav class=\"ndk-filters\" aria-label=\"Filter services by category\">\n          <div class=\"ndk-filters__scroll\">\n            <button class=\"ndk-filter is-active\" type=\"button\" data-filter=\"all\" aria-pressed=\"true\">All<\/button>\n            <button class=\"ndk-filter\" type=\"button\" data-filter=\"relajante\" aria-pressed=\"false\">Relaxing<\/button>\n            <button class=\"ndk-filter\" type=\"button\" data-filter=\"terapeutico\" aria-pressed=\"false\">Therapeutic<\/button>\n            <button class=\"ndk-filter\" type=\"button\" data-filter=\"holistico\" aria-pressed=\"false\">Holistic Therapies<\/button>\n            <button class=\"ndk-filter\" type=\"button\" data-filter=\"especifico\" aria-pressed=\"false\">Specific Therapies<\/button>\n          <\/div>\n        <\/nav>\n\n        <div class=\"ndk-grid\">\n          <article class=\"ndk-card\" data-category=\"relajante\" data-service=\"relajante\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Relaxing massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2018\/12\/Masaje-Relajante.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Relaxing<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Relaxing Massage<\/h2>\n              <p>Our signature disconnection therapy. Gentle to medium pressure focused on calming the nervous system, reducing stress and encouraging deep, restorative rest.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/relaxing-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-relaxing-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"relajante\" data-service=\"sueco\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Swedish massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/01\/Masaje-Sueco.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Relaxing<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Swedish Massage<\/h2>\n              <p>The classic anti-stress therapy. Long, flowing and enveloping movements designed to relax your whole body, support circulation and create a deep sense of peace.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/swedish-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-swedish-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"relajante\" data-service=\"hawaiano\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Hawaiian massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2018\/12\/Masaje-Hawaiano.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Relaxing<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Hawaiian Lomi Lomi Massage<\/h2>\n              <p>A flowing therapeutic dance using forearms and broad movements inspired by ocean waves, created to release tension in a smooth, enveloping rhythm.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/hawaiian-lomi-lomi-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-hawaiian-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"terapeutico\" data-service=\"descontracturante\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Decontracting massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2018\/12\/Masaje-Descontracturante.png\" title=\"\">\n              <span class=\"ndk-badge\">Therapeutic<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Decontracting Massage<\/h2>\n              <p>Firm, focused pressure for areas with accumulated tension. Ideal for releasing stress in the neck, shoulders and back caused by routine, posture or overload.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/decontracting-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-decontracting-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"terapeutico\" data-service=\"deep-tissue\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Deep Tissue massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/01\/Masaje-Deep-Tissue.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Therapeutic<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Deep Tissue Massage<\/h2>\n              <p>A deep-pressure technique with slow movements that works inner muscle layers and connective tissue. Ideal for persistent tension, stiffness and muscle overload.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/deep-tissue-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-deep-tissue-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"terapeutico\" data-service=\"deportivo\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Sports massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/02\/Masaje-Deportivo.jpg\" title=\"\">\n              <span class=\"ndk-badge\">Therapeutic<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Sports Massage<\/h2>\n              <p>Designed for active bodies. It combines stretching, targeted friction and recovery techniques to prepare muscles, support mobility and aid post-workout recovery.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/sports-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-sports-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"terapeutico\" data-service=\"shiatsu\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Shiatsu massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2018\/12\/Masaje-Shiatsu.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Therapeutic<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Shiatsu Massage<\/h2>\n              <p>A Japanese-inspired technique based on acupressure. Finger and palm pressure along body pathways supports balance, relaxation and muscular relief.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/shiatsu-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-shiatsu-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"holistico\" data-service=\"ayurveda\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Ayurvedic massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/01\/Masaje-Ayurveda.jpeg\" title=\"\">\n              <span class=\"ndk-badge ndk-badge--gold\">Premium<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Ayurvedic Massage<\/h2>\n              <p>Inspired by the wellness traditions of India. Warm oil, steady rhythm and enveloping movements create a nourishing experience for body and mind.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/ayurvedic-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-ayurvedic-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"holistico\" data-service=\"piedras-calientes\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Hot Stone massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/01\/Masaje-con-Piedras-Calientes.jpeg\" title=\"\">\n              <span class=\"ndk-badge ndk-badge--gold\">Premium<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Hot Stone Massage<\/h2>\n              <p>Deep relaxation through thermotherapy. Warm volcanic stones help soften muscular tension and create a comforting experience without intense pressure.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/hot-stone-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,500 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-hot-stone-90\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"holistico\" data-service=\"holistico\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Holistic massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/02\/Masaje-Holistico.jpg\" title=\"\">\n              <span class=\"ndk-badge ndk-badge--gold\">Holistic<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Holistic Massage<\/h2>\n              <p>A personalized experience that integrates manual techniques and aromatherapy to care for the person as a whole: body, mind and emotions.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/holistic-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-holistic-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"holistico\" data-service=\"maya-rebozo\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Mayan massage with rebozo\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/03\/Masaje-Maya-Con-Rebozo.jpg\" title=\"\">\n              <span class=\"ndk-badge ndk-badge--gold\">Holistic<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Mayan Massage with Rebozo<\/h2>\n              <p>Inspired by Mexican traditional bodywork. Gentle rocking and rebozo-assisted stretches create a comforting experience for posture and deep rest.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/mayan-massage-with-rebozo\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-mayan-with-rebozo-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"especifico\" data-service=\"drenaje-linfatico\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Manual lymphatic drainage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/01\/Drenaje-Linfatico.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Specific<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Manual Lymphatic Drainage<\/h2>\n              <p>Very gentle, rhythmic movements designed to support lymphatic flow. Often chosen for fluid retention, swelling and appropriate pre- or post-surgical care.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/manual-lymphatic-drainage\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-lymphatic-drainage-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n\n          <article class=\"ndk-card\" data-category=\"especifico\" data-service=\"prenatal\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"Prenatal massage\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2019\/01\/Masaje-Prenatal.jpeg\" title=\"\">\n              <span class=\"ndk-badge\">Specific<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Prenatal Massage<\/h2>\n              <p>Specialized, gentle care for pregnancy comfort. It can help ease heavy legs, lower back discomfort and everyday tension during this important stage.<\/p>\n              <a class=\"ndk-card__learn-more\" href=\"https:\/\/ndikandii.com\/en\/prenatal-massages\/\">Learn more about this technique <span aria-hidden=\"true\">\u2192<\/span><\/a>\n              <div class=\"ndk-card__price\">From $1,200 MXN<\/div>\n              <a class=\"ndk-button\" data-booking-button=\"\" data-original-label=\"Book\" href=\"https:\/\/ndikandii.as.me\/single-prenatal-60\" rel=\"noopener noreferrer\" target=\"_blank\">Book<\/a>\n            <\/div>\n          <\/article>\n        <\/div>\n      <\/section>\n    <\/div>\n\n    <div class=\"ndk-panel ndk-panel--packages\" id=\"ndk-panel-packages\" role=\"tabpanel\" aria-labelledby=\"ndk-tab-packages\" hidden=\"\">\n      <section class=\"ndk-feature-panel\" aria-labelledby=\"ndk-packages-title\">\n        <p class=\"ndk-section-kicker\">Massage packages<\/p>\n        <h2 id=\"ndk-packages-title\">Save while caring for your wellbeing<\/h2>\n        <p>\n          Purchase several NDIKANDI\u00cd sessions and schedule your massages at your own pace.\n        <\/p>\n\n        <div class=\"ndk-grid ndk-grid--featured\">\n          <article class=\"ndk-card ndk-card--special\" data-category=\"paquetes\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"NDIKANDI\u00cd massage packages\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2026\/07\/pAQUETES-DE-MASAJE-NDIKANDII.png\" title=\"\">\n              <span class=\"ndk-badge ndk-badge--dark\">Membership<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Session Packages<\/h2>\n              <p>\n                Wellbeing is not an occasional luxury; it is a habit. Purchase packages of 5 or 10 sessions with a preferential rate and schedule them at your own pace.\n              <\/p>\n              <a class=\"ndk-button ndk-button--gold\" href=\"https:\/\/ndikandii.as.me\/catalog\/dc378c83?categories=Paquetes%20de%20Citas\" rel=\"noopener noreferrer\" target=\"_blank\">View packages<\/a>\n            <\/div>\n          <\/article>\n        <\/div>\n      <\/section>\n    <\/div>\n\n    <div class=\"ndk-panel ndk-panel--gifts\" id=\"ndk-panel-gifts\" role=\"tabpanel\" aria-labelledby=\"ndk-tab-gifts\" hidden=\"\">\n      <section class=\"ndk-feature-panel\" aria-labelledby=\"ndk-gifts-title\">\n        <p class=\"ndk-section-kicker\">Gift certificates<\/p>\n        <h2 id=\"ndk-gifts-title\">Give a NDIKANDI\u00cd experience<\/h2>\n        <p>\n          Choose a digital certificate and share it with someone special.\n        <\/p>\n\n        <div class=\"ndk-grid ndk-grid--featured\">\n          <article class=\"ndk-card ndk-card--special\" data-category=\"paquetes\">\n            <div class=\"ndk-card__media\">\n              <img alt=\"NDIKANDI\u00cd gift certificate\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/ndikandii.com\/wp-content\/uploads\/2026\/07\/Certificado-de-Regalo-NDIKANDII.png\" title=\"\">\n              <span class=\"ndk-badge ndk-badge--dark\">For gifting<\/span>\n            <\/div>\n            <div class=\"ndk-card__body\">\n              <h2>Gift Certificates<\/h2>\n              <p>Give an unforgettable NDIKANDI\u00cd experience. Choose the amount or service, personalize your message and send it digitally to that special person.<\/p>\n              <a class=\"ndk-button ndk-button--gold\" href=\"https:\/\/ndikandii.as.me\/catalog\/dc378c83?categories=Vales%20regalo\" rel=\"noopener noreferrer\" target=\"_blank\">Buy certificate<\/a>\n            <\/div>\n          <\/article>\n        <\/div>\n      <\/section>\n    <\/div>\n  <\/div>\n\n  <aside aria-label=\"Other booking and support options\" class=\"ndk-actions\">\n    <div class=\"ndk-container\">\n      <div class=\"ndk-actions__grid\">\n        <a class=\"ndk-action-card\" href=\"https:\/\/ndikandii.com\/reserva-hoy\/\">\n          <span aria-hidden=\"true\" class=\"ndk-action-card__icon\">\u2197<\/span>\n          <span class=\"ndk-action-card__content\">\n            <strong>Looking for the previous catalog?<\/strong>\n            <span>It is here.<\/span>\n          <\/span>\n          <span class=\"ndk-action-card__link\">View previous catalog <span aria-hidden=\"true\">\u2192<\/span><\/span>\n        <\/a>\n        <a class=\"ndk-action-card ndk-action-card--support\" href=\"https:\/\/api.whatsapp.com\/send\/?phone=525546856501&amp;text=Hello%2C+I+was+booking+a+massage+and+would+like+some+help.&amp;type=phone_number&amp;app_absent=0\" rel=\"noopener noreferrer\" target=\"_blank\">\n          <span aria-hidden=\"true\" class=\"ndk-action-card__icon\">\u2726<\/span>\n          <span class=\"ndk-action-card__content\">\n            <strong>Need help?<\/strong>\n            <span>Write to us on WhatsApp.<\/span>\n          <\/span>\n          <span class=\"ndk-action-card__link\">Contact support <span aria-hidden=\"true\">\u2192<\/span><\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n  <\/aside>\n\n  <div class=\"ndk-footer\">\n    <p>\u00a9 2026 NDIKANDI\u00cd | Wellness at Home<\/p>\n  <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>The luxury of immediacy Our Massage Menu Choose the experience your body needs today. Our elite team of therapists will [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":22849,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-22800","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/pages\/22800","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/comments?post=22800"}],"version-history":[{"count":0,"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/pages\/22800\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/media\/22849"}],"wp:attachment":[{"href":"https:\/\/ndikandii.com\/en\/wp-json\/wp\/v2\/media?parent=22800"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}