/* NEXUS Points · Abschnitt „Warum es Points gibt“ V3.4 – Ergänzung zu pt.css
   Signature: Die Aufgaben eines Treueprogramms wandern vom Hotel zu NEXUS.
   Beim Hotel bleiben die eigenen Regeln und die Gäste. Präfix: ptx- */
.ptx{--ptx-a:#F5B23F;--ptx-a2:#FFE2A8;--ptx-o:#F0873A;--ptx-d:#A35A12;--ptx-night:#0D1A2B;--ptx-ease:cubic-bezier(.2,.7,.2,1);
  position:relative;overflow:hidden;padding:clamp(90px,10vw,140px) 0;background:radial-gradient(ellipse at 90% 0%,rgba(245,178,63,.16),rgba(255,255,255,0) 45%),linear-gradient(180deg,#FFFBF3,#FBF3E4)}
.ptx svg{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ptx h2{overflow-wrap:break-word;hyphens:auto}
.ptx h2 em{font-style:normal;color:var(--ptx-d)}
.ptx-eyebrow{color:var(--ptx-d)}
.ptx-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:9%;align-items:end;margin-bottom:54px}
.ptx-body{color:var(--schiefer);font-size:1.03rem;line-height:1.8;margin:0 0 14px}
.ptx-body:last-child{margin-bottom:0}
.ptx-body strong{color:var(--tinte)}

/* Bühne */
.ptx-stage{margin:0;padding:clamp(20px,3vw,36px);border-radius:30px;background:linear-gradient(165deg,#13233A,#0B1525);color:#fff;box-shadow:0 50px 100px rgba(13,26,43,.25);position:relative;isolation:isolate;overflow:hidden}
.ptx-stage::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 100%,rgba(245,178,63,.18),rgba(0,0,0,0) 50%),radial-gradient(ellipse at 85% 100%,rgba(90,150,255,.14),rgba(0,0,0,0) 50%)}
.ptx-switch{display:flex;width:max-content;max-width:100%;margin:0 auto 28px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.ptx-mode{border:0;background:transparent;color:#B9C6D6;padding:9px 18px;border-radius:999px;font-size:.9rem;font-weight:650;cursor:pointer;transition:background .3s,color .3s}
.ptx-mode[aria-pressed="true"]{background:linear-gradient(135deg,var(--ptx-a2),var(--ptx-a));color:#2B1804}
.ptx-mode:not([aria-pressed="true"]):hover{color:#fff}
.ptx-lanes{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);align-items:end;gap:0}
.ptx-lane{display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.ptx-stack{list-style:none;margin:0;padding:0 8px;display:flex;flex-direction:column-reverse;gap:7px;min-height:386px;justify-content:flex-start}
.ptx-blk{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-size:.88rem;font-weight:650;line-height:1.2;will-change:transform}
.ptx-blk span{display:grid;place-items:center;flex:0 0 26px;height:26px;border-radius:8px}
.ptx-blk svg{width:15px;height:15px}
.ptx-blk.is-tech{background:linear-gradient(180deg,#2A3D58,#22344D);border:1px solid rgba(160,190,230,.22);color:#DCE6F2}
.ptx-blk.is-tech span{background:rgba(160,190,230,.14);color:#A9C6EE}
.ptx-blk.is-own{background:linear-gradient(135deg,var(--ptx-a2),var(--ptx-a));color:#2B1804;box-shadow:0 8px 20px rgba(245,178,63,.25)}
.ptx-blk.is-own span{background:rgba(255,255,255,.45)}
.ptx-lane-nexus .ptx-blk.is-tech{background:linear-gradient(180deg,#244A86,#1C3D72);border-color:rgba(120,170,255,.4);color:#fff}
.ptx-need{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 8px 10px;transition:opacity .5s,transform .5s var(--ptx-ease)}
.ptx-need span{padding:5px 10px;border-radius:999px;border:1.5px dashed rgba(255,150,120,.7);color:#FFC2AE;font-size:.76rem;font-weight:650}
.ptx-stage[data-mode="points"] .ptx-need{opacity:0;transform:translateY(-10px)}
.ptx-base{display:flex;align-items:center;gap:12px;margin-top:12px;padding:14px 16px;border-radius:16px;border-top:3px solid;transition:box-shadow .5s}
.ptx-lane-hotel .ptx-base{background:rgba(245,178,63,.1);border-color:var(--ptx-a)}
.ptx-lane-nexus .ptx-base{background:rgba(90,150,255,.1);border-color:#5A96FF}
.ptx-base-ic{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:11px}
.ptx-lane-hotel .ptx-base-ic{background:var(--ptx-a);color:#2B1804}
.ptx-lane-nexus .ptx-base-ic{background:#0A6CF0;color:#fff}
.ptx-base-ic svg{width:20px;height:20px}
.ptx-base b{display:block;font-size:1.02rem}
.ptx-base small{display:block;font-size:.8rem;color:#A9B7C8}
.ptx-base output{font-weight:750;color:#fff;font-variant-numeric:tabular-nums}
.ptx-stage[data-mode="own"] .ptx-lane-hotel .ptx-base{box-shadow:0 0 0 1px rgba(255,150,120,.35),0 10px 30px rgba(255,120,80,.15)}
.ptx-bridge{align-self:center;display:grid;gap:10px;justify-items:center;padding-bottom:70px}
.ptx-bridge i{width:34px;height:3px;border-radius:3px;background:rgba(255,255,255,.12);position:relative;overflow:hidden}
.ptx-bridge i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--ptx-a),transparent);transform:translateX(-100%)}
.ptx-stage.is-moving .ptx-bridge i::after{animation:ptxFlow .9s ease-in-out 2}
.ptx-bridge i:nth-child(2)::after{animation-delay:.15s!important}.ptx-bridge i:nth-child(3)::after{animation-delay:.3s!important}
.ptx-live{margin:22px auto 4px;max-width:44em;text-align:center;font-weight:600;color:#E8DCC8;font-size:.95rem;line-height:1.55;min-height:3em}
.ptx-stage figcaption{text-align:center;font-size:.78rem;color:#8193AA}

/* Drei Spalten */
.ptx-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.ptx-col{padding:24px;border-radius:22px;background:#fff;border:1px solid #F0E3CB}
.ptx-col-k{display:flex;align-items:center;gap:10px;font-weight:750;font-size:1.06rem;margin:0 0 12px;color:var(--tinte)}
.ptx-col-k span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px}
.ptx-col-k svg{width:17px;height:17px}
.ptx-col-n .ptx-col-k span{background:#E7F0FE;color:#0A6CF0}
.ptx-col-h{border-color:var(--ptx-a);background:linear-gradient(165deg,#FFFDF7,#FFF3DC);box-shadow:0 20px 44px rgba(163,90,18,.1)}
.ptx-col-h .ptx-col-k span{background:var(--ptx-a);color:#2B1804}
.ptx-col-x .ptx-col-k span{background:#F2EEE8;color:#8C8378}
.ptx-col ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ptx-col li{position:relative;padding-left:18px;color:#3E5068;font-size:.95rem;line-height:1.5}
.ptx-col li::before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--ptx-a)}
.ptx-col-n li::before{background:#0A6CF0}
.ptx-col-x li::before{background:#C9BFB2}
.ptx-claim{margin:clamp(40px,5vw,60px) auto 0;max-width:30em;text-align:center;font-size:clamp(1.3rem,2.2vw,1.8rem);font-weight:700;line-height:1.3;letter-spacing:-.02em;color:var(--tinte)}
.ptx-claim em{font-style:normal;color:var(--ptx-d)}

@keyframes ptxFlow{to{transform:translateX(100%)}}
@media(max-width:960px){
  .ptx-intro,.ptx-cols{grid-template-columns:minmax(0,1fr)}
  .ptx-intro{gap:20px}
}
@media(max-width:640px){
  .ptx-lanes{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr)}
  .ptx-bridge i{width:14px}
  .ptx-stack{padding:0;gap:5px;min-height:352px}
  .ptx-blk{padding:7px 7px;gap:6px;font-size:.72rem;border-radius:10px;hyphens:manual;overflow-wrap:break-word}
  .ptx-blk span{flex-basis:20px;height:20px;border-radius:6px}
  .ptx-blk svg{width:12px;height:12px}
  .ptx-base{padding:10px;gap:8px}
  .ptx-base-ic{flex-basis:30px;height:30px}
  .ptx-base b{font-size:.88rem}
  .ptx-need{margin:0 0 8px}
  .ptx-need span{font-size:.66rem;padding:4px 7px}
  .ptx-mode{padding:8px 12px;font-size:.8rem}
}
@media(prefers-reduced-motion:reduce){
  .ptx *,.ptx *::before,.ptx *::after{animation:none!important;transition:none!important}
}
