.elementor-1015 .elementor-element.elementor-element-c90fb9d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-1015 .elementor-element.elementor-element-c90fb9d.e-con{--flex-grow:0;--flex-shrink:0;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1015 .elementor-element.elementor-element-c90fb9d{--width:96.431%;}}/* Start custom CSS for html, class: .elementor-element-c369be4 *//* ══════════════════════════════════════════════════
       Alle stijlen gescooped onder .nkp
       → raakt NOOIT knoppen of elementen buiten deze pagina
    ══════════════════════════════════════════════════ */

    .nkp {
      --bg:          #E8E1D9;
      --bg-card:     rgba(255,255,255,0.42);
      --text:        #000000;
      --text-mid:    rgba(0,0,0,0.55);
      --text-dim:    rgba(0,0,0,0.35);
      --gold:        #D58C0C;
      --gold-bg:     rgba(213,140,12,0.09);
      --gold-border: rgba(213,140,12,0.28);
      --green:       #D6D8B1;
      --peach:       #F9E7D3;
      --blue:        #E5FFF9;
      --border:      rgba(0,0,0,0.09);
      --border-mid:  rgba(0,0,0,0.13);
      --r:           10px;
      --rpill:       100px;
      --px:          clamp(20px, 5vw, 72px);

      background: var(--bg);
      color: var(--text);
      font-family: 'Inter', sans-serif;
      font-weight: 300;
      font-size: 16px;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
    }

    /* RESET within scope */
    .nkp *, .nkp *::before, .nkp *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
    }

    .nkp h1, .nkp h2, .nkp h3,
    .nkp .cat-badge, .nkp .eyebrow,
    .nkp .block-label {
      font-family: 'Tenor Sans', serif;
      font-weight: 400;
    }

    /* ─── HERO ─── */
    .nkp .hero {
      text-align: center;
      padding: 88px var(--px) 64px;
    }

    .nkp .eyebrow {
      display: inline-block;
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--gold);
      border: 1px solid var(--gold-border);
      background: var(--gold-bg);
      padding: 5px 18px;
      border-radius: var(--rpill);
      margin-bottom: 26px;
    }

    .nkp .hero h1 {
      font-family: 'Tenor Sans', serif;
      font-weight: 400;
      font-size: clamp(32px, 5vw, 58px);
      line-height: 1.12;
      color: var(--text);
      margin: 0 auto 20px;
      max-width: 700px;
    }

    .nkp .hero h1 span { color: var(--gold); }

    .nkp .hero-lead {
      font-size: 17px;
      font-weight: 300;
      color: var(--text-mid);
      max-width: 520px;
      margin: 0 auto 48px;
      line-height: 1.75;
    }

    /* Jump nav */
    .nkp .jump-nav {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 7px;
    }

    .nkp .jump-nav a {
      font-family: 'Inter', sans-serif;
      font-weight: 300;
      font-size: 13px;
      color: var(--text-mid);
      text-decoration: none;
      background: rgba(255,255,255,0.5);
      border: 1px solid var(--border-mid);
      padding: 6px 15px;
      border-radius: var(--rpill);
      transition: color 0.18s, border-color 0.18s, background 0.18s;
      white-space: nowrap;
    }

    .nkp .jump-nav a:hover {
      color: var(--gold);
      border-color: var(--gold-border);
      background: var(--gold-bg);
    }

    /* ─── DIVIDER ─── */
    .nkp .divider {
      width: 44px;
      height: 1px;
      background: var(--gold);
      margin: 0 auto;
      opacity: 0.45;
    }

    /* ─── SECTION ─── */
    .nkp .section {
      padding: 72px var(--px);
      border-bottom: 1px solid var(--border);
    }

    .nkp .section:last-of-type { border-bottom: none; }

    /* Two-column grid */
    .nkp .section-inner {
      display: grid;
      grid-template-columns: minmax(0, 35%) minmax(0, 65%);
      gap: 56px;
      align-items: start;
    }

    /* LEFT */
    .nkp .section-left {
      position: sticky;
      top: 100px;
    }

    .nkp .cat-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-size: 13px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--text-dim);
      margin-bottom: 12px;
    }

    .nkp .cat-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      flex-shrink: 0;
    }

    .nkp .section h2 {
      font-size: clamp(24px, 2.8vw, 34px);
      line-height: 1.2;
      color: var(--text);
      margin-bottom: 8px;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      word-break: break-word;
      hyphens: auto;
    }

    .nkp .section-subtitle {
      font-size: 16px;
      font-weight: 300;
      color: var(--text-dim);
      margin-bottom: 20px;
    }

    /* Result box */
    .nkp .result-box {
      border-radius: var(--r);
      padding: 13px 16px;
      font-size: 13px;
      font-weight: 300;
      line-height: 1.55;
      margin-bottom: 20px;
      border: 1px solid transparent;
    }

    .nkp .result-box strong {
      display: block;
      font-family: 'Tenor Sans', serif;
      font-weight: 400;
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 4px;
      opacity: 0.55;
    }

    .nkp .rb-gold  { background: var(--gold-bg);              border-color: var(--gold-border); }
    .nkp .rb-green { background: rgba(214,216,177,0.38);      border-color: rgba(140,145,60,0.2); }
    .nkp .rb-peach { background: rgba(249,231,211,0.5);       border-color: rgba(213,140,12,0.15); }
    .nkp .rb-blue  { background: rgba(229,255,249,0.65);      border-color: rgba(80,180,160,0.2); }
    .nkp .rb-plain { background: rgba(255,255,255,0.38);      border-color: var(--border); }

    /* Warning box */
    .nkp .warning-box {
      background: rgba(249,231,211,0.5);
      border: 1px solid rgba(213,140,12,0.2);
      border-radius: var(--r);
      padding: 12px 16px;
      font-size: 13px;
      font-weight: 300;
      color: rgba(0,0,0,0.6);
      line-height: 1.5;
      margin-bottom: 20px;
    }

    .nkp .warning-box strong {
      display: block;
      font-family: 'Tenor Sans', serif;
      font-size: 10px;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      margin-bottom: 4px;
      color: var(--gold);
    }

    /* ─── BUTTON — volledig gescooped, raakt header-knop NIET ─── */
    .nkp .nkp-btn {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      background: var(--gold);
      color: #fff !important;
      font-family: 'Tenor Sans', serif;
      font-weight: 400;
      font-size: 13px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 12px 24px;
      border-radius: var(--r);
      text-decoration: none !important;
      border: none;
      cursor: pointer;
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    }

    .nkp .nkp-btn:hover {
      background: #b8770a;
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(213,140,12,0.28);
    }

    .nkp .nkp-btn svg {
      width: 13px;
      height: 13px;
      flex-shrink: 0;
      stroke: #fff;
    }

    .nkp .nkp-btn-lg {
      font-size: 15px;
      padding: 16px 38px;
      border-radius: var(--r);
    }

    /* RIGHT */
    .nkp .section-right {
      display: flex;
      flex-direction: column;
      gap: 14px;
    }

    .nkp .block {
      border-radius: var(--r);
      padding: 20px 22px;
      border: 1px solid var(--border);
    }

    .nkp .block-label {
      font-size: 12px;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-dim);
      margin-bottom: 13px;
    }

    /* Accent backgrounds */
    .nkp .acc-plain { background: rgba(255,255,255,0.38); }
    .nkp .acc-gold  { background: var(--gold-bg);  border-color: var(--gold-border); }
    .nkp .acc-green { background: rgba(214,216,177,0.32); border-color: rgba(140,145,60,0.18); }
    .nkp .acc-peach { background: rgba(249,231,211,0.45); border-color: rgba(213,140,12,0.15); }
    .nkp .acc-blue  { background: rgba(229,255,249,0.55); border-color: rgba(80,180,160,0.18); }

    /* Klachten pills */
    .nkp .klachten-list {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      list-style: none;
    }

    .nkp .klachten-list li {
      font-size: 14px;
      font-weight: 300;
      color: var(--text-mid);
      background: rgba(255,255,255,0.58);
      border: 1px solid var(--border-mid);
      border-radius: var(--rpill);
      padding: 5px 13px;
      transition: all 0.16s;
    }

    .nkp .klachten-list li:hover {
      color: var(--text);
      border-color: rgba(0,0,0,0.22);
      background: rgba(255,255,255,0.82);
    }

    /* Massage list */
    .nkp .massage-list {
      list-style: none;
    }

    .nkp .massage-list li {
      display: flex;
      align-items: center;
      gap: 11px;
      padding: 10px 0;
      border-bottom: 1px solid var(--border);
      font-size: 15px;
      font-weight: 300;
      color: var(--text);
    }

    .nkp .massage-list li:last-child { border-bottom: none; padding-bottom: 0; }
    .nkp .massage-list li:first-child { padding-top: 0; }

    .nkp .massage-list li::before {
      content: '';
      display: block;
      width: 4px;
      height: 4px;
      min-width: 4px;
      border-radius: 50%;
      background: var(--gold);
    }

    /* ─── SERVICE AREA ─── */
    .nkp .service-area {
      background: rgba(255,255,255,0.3);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 26px var(--px);
      text-align: center;
    }

    .nkp .service-area p {
      font-size: 13px;
      font-weight: 300;
      color: var(--text-dim);
      line-height: 1.9;
    }

    .nkp .service-area strong {
      font-weight: 400;
      color: var(--text-mid);
    }

    /* ─── FINAL CTA ─── */
    .nkp .final-cta {
      text-align: center;
      padding: 90px var(--px) 100px;
    }

    .nkp .final-cta h2 {
      font-size: clamp(26px, 3.5vw, 42px);
      margin-bottom: 14px;
      line-height: 1.15;
      text-transform: uppercase;
      letter-spacing: 0.05em;
    }

    .nkp .final-cta p {
      font-size: 16px;
      font-weight: 300;
      color: var(--text-mid);
      max-width: 440px;
      margin: 0 auto 34px;
    }

    /* ─── STICKY BOOK BUTTON ─── */
    .nkp-sticky {
      position: fixed;
      bottom: 22px;
      right: 22px;
      z-index: 999;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--gold, #D58C0C);
      color: #fff !important;
      font-family: 'Tenor Sans', serif;
      font-size: 13px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      padding: 12px 22px;
      border-radius: 100px;
      text-decoration: none !important;
      box-shadow: 0 4px 18px rgba(0,0,0,0.16);
      transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
      border: none;
      cursor: pointer;
    }

    .nkp-sticky:hover {
      background: #b8770a;
      transform: scale(1.04) translateY(-2px);
      box-shadow: 0 8px 28px rgba(213,140,12,0.3);
    }

    /* ─── MOBILE ─── */
    @media (max-width: 700px) {
      .nkp .section {
        padding: 52px var(--px);
      }

      .nkp .section-inner {
        grid-template-columns: 1fr;
        gap: 24px;
      }

      .nkp .section-left {
        position: static;
      }

      .nkp .section h2 {
        font-size: clamp(20px, 6vw, 28px);
      }

      .nkp .hero {
        padding: 60px var(--px) 48px;
      }

      .nkp .hero h1 {
        font-size: clamp(28px, 8vw, 40px);
      }

      .nkp .hero-lead {
        font-size: 15px;
      }

      .nkp .jump-nav a {
        font-size: 12px;
        padding: 5px 12px;
      }

      .nkp .massage-list li {
        font-size: 14px;
      }

      .nkp .block {
        padding: 16px 18px;
      }

      .nkp .final-cta h2 {
        font-size: clamp(22px, 7vw, 32px);
      }

      .nkp-sticky {
        bottom: 16px;
        right: 16px;
        font-size: 12px;
        padding: 11px 18px;
      }
    }

    @media (max-width: 420px) {
      .nkp {
        --px: 16px;
      }
    }

    /* ─── AFBEELDINGEN ─── */
    .nkp .nkp-img {
      width: 50%;
      aspect-ratio: 1 / 1;
      object-fit: cover;
      border-radius: var(--r);
      display: block;
      margin: 0 auto;
    }

    .nkp .img-caption {
      font-size: 12px;
      font-weight: 300;
      color: var(--text-dim);
      margin-top: 8px;
      text-align: center;
    }

    /* ─── INLINE LINKS ─── */
    .nkp a.nkp-link {
      color: var(--gold);
      text-decoration: underline;
      text-decoration-color: rgba(213,140,12,0.35);
      text-underline-offset: 3px;
      transition: text-decoration-color 0.18s;
    }

    .nkp a.nkp-link:hover {
      text-decoration-color: var(--gold);
    }

    /* ─── INTRO BLOK ─── */
    .nkp .intro-blok {
      padding: 40px var(--px) 0;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      align-items: center;
    }

    .nkp .intro-blok-tekst p {
      font-size: 16px;
      font-weight: 300;
      color: var(--text-mid);
      line-height: 1.8;
      margin-bottom: 14px;
    }

    .nkp .intro-blok-tekst p:last-child { margin-bottom: 0; }

    @media (max-width: 700px) {
      .nkp .intro-blok {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-bottom: 0;
      }
    }
    /* ─── HOLISTISCHE INTRO ─── */
    .nkp .holistic-intro {
      padding: 40px var(--px) 0;
      max-width: 760px;
    }

    .nkp .holistic-intro p {
      font-size: 16px;
      font-weight: 300;
      color: var(--text-mid);
      line-height: 1.8;
      margin-bottom: 10px;
    }

    .nkp .holistic-intro p:last-child {
      margin-bottom: 0;
    }

    /* ─── CATEGORY ICONS ─── */
    .nkp .nkp-cat-icon {
      display: block;
      width: 150px;
      height: 150px;
      object-fit: contain;
      margin-bottom: 14px;
    }

    @media (max-width: 700px) {
      .nkp .holistic-intro {
        padding: 28px var(--px) 0;
      }

      .nkp .nkp-cat-icon {
        width: 44px;
        height: 44px;
      }
    }/* End custom CSS */