/* ============================================================
   Nicci Bio Link Page — Custom (ohne Elementor)
   Scope: body.nicci-bio
   Design folgt Nicci-Branding (analog Landing, kompakter)
   ============================================================ */

body.nicci-bio {
  --nc-radius:    12px;  /* Override: bio nutzt 12px, shared hat 10px */
  --nc-container: 520px; /* Override: bio ist schmaler Stack als Landing (1022px) */

  margin: 0;
  padding: 0;
  background: var(--nc-bg);
  color: var(--nc-ink);
  font-family: var(--nc-font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  overflow-x: clip;
}

/* Shimmer-Hintergrund — unabhängig bewegende Blobs via @property */
@property --nb1x { syntax: "<percentage>"; inherits: false; initial-value: 15%; }
@property --nb1y { syntax: "<percentage>"; inherits: false; initial-value: 20%; }
@property --nb2x { syntax: "<percentage>"; inherits: false; initial-value: 85%; }
@property --nb2y { syntax: "<percentage>"; inherits: false; initial-value: 80%; }
@property --nb3x { syntax: "<percentage>"; inherits: false; initial-value: 50%; }
@property --nb3y { syntax: "<percentage>"; inherits: false; initial-value: 50%; }

body.nicci-bio::before {
  content: "";
  position: fixed;
  inset: -10%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(closest-side, rgb(188 213 132 / 0.35), transparent 70%) var(--nb1x) var(--nb1y) / 55vmin 55vmin no-repeat,
    radial-gradient(closest-side, rgb(255 188 125 / 0.3), transparent 70%) var(--nb2x) var(--nb2y) / 60vmin 60vmin no-repeat,
    radial-gradient(closest-side, rgb(216 233 178 / 0.28), transparent 70%) var(--nb3x) var(--nb3y) / 45vmin 45vmin no-repeat;
  filter: blur(10px);
  opacity: 0.9;
  animation:
    nc-bio-blob1 18s ease-in-out infinite alternate,
    nc-bio-blob2 24s ease-in-out infinite alternate,
    nc-bio-blob3 21s ease-in-out infinite alternate;
}
@keyframes nc-bio-blob1 {
  0%   { --nb1x: 15%; --nb1y: 20%; }
  100% { --nb1x: 42%; --nb1y: 68%; }
}
@keyframes nc-bio-blob2 {
  0%   { --nb2x: 85%; --nb2y: 80%; }
  100% { --nb2x: 52%; --nb2y: 12%; }
}
@keyframes nc-bio-blob3 {
  0%   { --nb3x: 50%; --nb3y: 50%; }
  100% { --nb3x: 80%; --nb3y: 28%; }
}

body.nicci-bio * { box-sizing: border-box; }

body.nicci-bio .nb-stage {
  position: relative;
  z-index: 1;
  max-width: var(--nc-container);
  margin: 0 auto;
  padding: clamp(24px, 5vw, 48px) clamp(16px, 4vw, 24px) 40px;
}

/* === HEADER === */
body.nicci-bio .nb-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-bottom: clamp(24px, 4vw, 36px);
  text-align: center;
}
body.nicci-bio .nb-wordmark {
  font-family: var(--nc-font-head);
  font-style: italic;
  font-weight: 400;
  font-size: clamp(24px, 3vw, 30px);
  color: var(--nc-ink);
  margin: 0;
  letter-spacing: 0.01em;
  line-height: 1;
}
body.nicci-bio .nb-avatar {
  width: clamp(120px, 18vw, 160px);
  height: clamp(120px, 18vw, 160px);
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid var(--nc-surface);
  box-shadow: 0 6px 24px rgb(28 26 21 / 0.14);
  background: var(--nc-surface);
}
body.nicci-bio .nb-bio {
  font-size: 15px;
  line-height: 1.55;
  color: var(--nc-ink);
  max-width: 44ch;
  text-wrap: pretty;
  margin: 6px 0 0;
}

/* === SOCIAL ICONS === */
body.nicci-bio .nb-socials {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin: 6px 0;
}
body.nicci-bio .nb-social {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background-color: var(--nc-sage);
  color: var(--nc-ink);
  text-decoration: none;
  box-shadow: 0 2px 8px rgb(188 213 132 / 0.45);
  transition: background-color 0.22s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s ease;
}
body.nicci-bio .nb-social:hover {
  background-color: color-mix(in oklch, var(--nc-sage) 82%, black 18%);
  color: var(--nc-ink);
  transform: scale(1.1);
  box-shadow: 0 6px 18px rgb(188 213 132 / 0.65), 0 2px 6px rgb(28 26 21 / 0.12);
}
body.nicci-bio .nb-social:active {
  transform: scale(0.96);
  transition-duration: 0.08s;
}
body.nicci-bio .nb-social {
  background-size: 22px 22px;
  background-repeat: no-repeat;
  background-position: center;
}
/* Instagram icon (Font Awesome solid, inline SVG data-uri, fill=#1C1A15) */
body.nicci-bio .nb-social--ig {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='%231C1A15' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/></svg>");
}
/* Envelope icon */
body.nicci-bio .nb-social--mail {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%231C1A15' d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/></svg>");
}

/* === LINKS STACK — Pill-Style === */
body.nicci-bio .nb-links {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: clamp(24px, 3vw, 36px) 0;
  padding: 0;
}
body.nicci-bio .nb-link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding: 16px 28px;
  background-color: var(--nc-sage);
  color: var(--nc-ink);
  font-family: var(--nc-font-body);
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 0.01em;
  text-decoration: none;
  border: 0;
  border-radius: var(--nc-radius-pill);
  box-shadow: 0 2px 10px rgb(188 213 132 / 0.45);
  transition: background-color 0.22s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s ease;
}
body.nicci-bio .nb-link:hover {
  background-color: color-mix(in oklch, var(--nc-sage) 82%, black 18%);
  color: var(--nc-ink);
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 8px 22px rgb(188 213 132 / 0.55), 0 2px 6px rgb(28 26 21 / 0.10);
}
body.nicci-bio .nb-link:active {
  transform: translateY(0) scale(0.99);
  transition-duration: 0.08s;
}
body.nicci-bio .nb-link__ico {
  flex: 0 0 auto;
  display: inline-block;
  width: 18px;
  height: 18px;
  background-size: 18px 18px;
  background-repeat: no-repeat;
  background-position: center;
}
/* Star icon */
body.nicci-bio .nb-link--star .nb-link__ico {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'><path fill='%231C1A15' d='M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z'/></svg>");
}
/* Compass icon */
body.nicci-bio .nb-link--compass .nb-link__ico {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'><path fill='%231C1A15' d='M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/></svg>");
}
/* Amazon icon */
body.nicci-bio .nb-link--amazon .nb-link__ico {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'><path fill='%231C1A15' d='M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415 203 488.7 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.7 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1-.2 27.1-6.5 43.1z'/></svg>");
}
body.nicci-bio .nb-link__label {
  line-height: 1.3;
}
body.nicci-bio .nb-link__badge {
  position: absolute;
  right: 12px;
  bottom: -10px;
  background: var(--nc-sage-soft);
  color: var(--nc-ink);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 3px 12px;
  border-radius: var(--nc-radius-pill);
  box-shadow: 0 1px 4px rgb(28 26 21 / 0.08);
}
body.nicci-bio .nb-link--ad { margin-bottom: 6px; }

/* Disabled / Coming-Soon State */
body.nicci-bio .nb-link--disabled {
  background-color: color-mix(in oklch, var(--nc-sage) 32%, var(--nc-surface) 68%);
  color: var(--nc-ink-muted);
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
}
body.nicci-bio .nb-link--disabled:hover,
body.nicci-bio .nb-link--disabled:active {
  transform: none;
  background-color: color-mix(in oklch, var(--nc-sage) 32%, var(--nc-surface) 68%);
  box-shadow: none;
}
body.nicci-bio .nb-link--disabled .nb-link__ico { opacity: 0.5; }

/* "Bald verfügbar"-Badge — kräftiger als Standard-Badge, oben statt unten */
body.nicci-bio .nb-link__badge--soon {
  top: -10px;
  bottom: auto;
  background: var(--nc-sage);
  color: var(--nc-ink);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 10px;
  box-shadow: 0 2px 8px rgb(188 213 132 / 0.55);
}

/* === NEWSLETTER CARD === */
body.nicci-bio .nb-newsletter {
  background: var(--nc-surface);
  border-radius: var(--nc-radius);
  padding: clamp(20px, 3vw, 28px);
  box-shadow: 0 2px 10px rgb(28 26 21 / 0.06);
  border-top: 3px solid var(--nc-sage);
  margin: clamp(20px, 3vw, 32px) 0;
  text-align: center;
}
body.nicci-bio .nb-newsletter h2 {
  font-family: var(--nc-font-head);
  font-weight: 600;
  font-size: clamp(20px, 2.4vw, 26px);
  letter-spacing: -0.01em;
  color: var(--nc-ink);
  margin: 0 0 6px;
}
body.nicci-bio .nb-newsletter p {
  font-size: 14px;
  color: var(--nc-ink-muted);
  margin: 0 0 16px;
}
body.nicci-bio .nb-newsletter__placeholder {
  padding: 18px;
  border: 1px dashed var(--nc-rule);
  border-radius: 10px;
  color: var(--nc-ink-muted);
  font-size: 13px;
  font-style: italic;
}

/* === DASHBOARD CARD === */
@property --nb-dashboard-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

body.nicci-bio .nb-dashboard {
  position: relative;
  background: var(--nc-surface);
  border-radius: var(--nc-radius);
  padding: clamp(20px, 3vw, 28px);
  box-shadow: 0 2px 10px rgb(28 26 21 / 0.06);
  border-top: 3px solid var(--nc-sage);
  margin: clamp(20px, 3vw, 32px) 0;
  text-align: center;
  animation: nb-dashboard-pulse 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
body.nicci-bio .nb-dashboard::before {
  content: '';
  position: absolute;
  inset: -3px;
  border-radius: calc(var(--nc-radius) + 3px);
  padding: 3px;
  background: conic-gradient(
    from var(--nb-dashboard-angle, 0deg),
    transparent 0deg,
    var(--nc-sage) 40deg,
    var(--nc-olive) 70deg,
    var(--nc-peach) 100deg,
    transparent 140deg
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  opacity: 0;
  pointer-events: none;
  animation: nb-dashboard-swoosh 5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes nb-dashboard-swoosh {
  0%   { --nb-dashboard-angle:   0deg; opacity: 0; }
  4%   { opacity: 1; }
  36%  { opacity: 1; }
  40%  { --nb-dashboard-angle: 360deg; opacity: 0; }
  100% { --nb-dashboard-angle: 360deg; opacity: 0; }
}
@keyframes nb-dashboard-pulse {
  0%, 40%, 100% { box-shadow: 0 2px 10px rgb(28 26 21 / 0.06); transform: scale(1); }
  20%           { box-shadow: 0 8px 32px rgb(93 118 40 / 0.28); transform: scale(1.012); }
}

@media (prefers-reduced-motion: reduce) {
  body.nicci-bio .nb-dashboard,
  body.nicci-bio .nb-dashboard::before {
    animation: none;
  }
}
body.nicci-bio .nb-dashboard h2 {
  font-family: var(--nc-font-head);
  font-weight: 600;
  font-size: clamp(20px, 2.4vw, 26px);
  letter-spacing: -0.01em;
  color: var(--nc-ink);
  margin: 0 0 6px;
  text-wrap: balance;
}
body.nicci-bio .nb-dashboard p {
  font-size: 14px;
  line-height: 1.6;
  color: var(--nc-ink-muted);
  margin: 0 0 16px;
  text-wrap: pretty;
}
body.nicci-bio .nb-dashboard__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 24px;
  background-color: var(--nc-sage);
  color: var(--nc-ink);
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
  border-radius: var(--nc-radius-pill);
  box-shadow: 0 2px 10px rgb(188 213 132 / 0.45);
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}
body.nicci-bio .nb-dashboard__cta:hover,
body.nicci-bio .nb-dashboard__cta:focus-visible {
  background-color: color-mix(in oklch, var(--nc-sage) 82%, black 18%);
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 8px 22px rgb(188 213 132 / 0.55);
}

/* === NEWSLETTER FORM === */
body.nicci-bio .nb-nl {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  text-align: left;
}
body.nicci-bio .nb-nl__row { display: flex; flex-direction: column; gap: 4px; }
body.nicci-bio .nb-nl__label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--nc-ink-muted);
}
body.nicci-bio .nb-nl__input {
  background: var(--nc-surface-soft);
  border: 1px solid var(--nc-rule);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: var(--nc-font-body);
  font-size: 15px;
  color: var(--nc-ink);
  width: 100%;
  line-height: 1.4;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}
body.nicci-bio .nb-nl__input:focus {
  outline: none;
  border-color: var(--nc-sage);
  background: var(--nc-surface);
  box-shadow: 0 0 0 3px rgb(188 213 132 / 0.35);
}
body.nicci-bio .nb-nl__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 12px;
  line-height: 1.5;
  color: var(--nc-ink-muted);
  cursor: pointer;
  padding: 4px 0;
}
body.nicci-bio .nb-nl__consent input[type="checkbox"] {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 3px 0 0;
  accent-color: var(--nc-sage);
  cursor: pointer;
}
body.nicci-bio .nb-nl__consent a {
  color: var(--nc-ink);
  text-decoration: underline;
  text-decoration-color: var(--nc-sage);
}
body.nicci-bio .nb-nl__honeypot {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
body.nicci-bio .nb-nl__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 24px;
  background-color: var(--nc-sage);
  color: var(--nc-ink);
  font-family: var(--nc-font-body);
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.02em;
  border: 0;
  border-radius: var(--nc-radius-pill);
  cursor: pointer;
  box-shadow: 0 2px 10px rgb(188 213 132 / 0.45);
  transition: background-color 0.22s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.22s ease;
  margin-top: 4px;
}
body.nicci-bio .nb-nl__submit:hover:not([disabled]) {
  background-color: color-mix(in oklch, var(--nc-sage) 82%, black 18%);
  transform: translateY(-2px) scale(1.015);
  box-shadow: 0 8px 22px rgb(188 213 132 / 0.55), 0 2px 6px rgb(28 26 21 / 0.10);
}
body.nicci-bio .nb-nl__submit:active:not([disabled]) {
  transform: translateY(0) scale(0.99);
  transition-duration: 0.08s;
}
body.nicci-bio .nb-nl__submit[disabled] {
  opacity: 0.65;
  cursor: wait;
}
body.nicci-bio .nb-nl__status {
  margin: 4px 0 0;
  font-size: 13px;
  line-height: 1.5;
  min-height: 1.5em;
}
body.nicci-bio .nb-nl__status.is-success {
  color: var(--nc-ink);
  background: var(--nc-sage-soft);
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 500;
}
body.nicci-bio .nb-nl__status.is-error {
  color: #8a2d25;
  background: rgb(194 69 58 / 0.08);
  border-radius: 10px;
  padding: 10px 14px;
}

/* === FOOTER === */
/* Footer-Styles → shared/components.css (.nc-site-footer) */

/* Focus styles */
body.nicci-bio a:focus-visible,
body.nicci-bio button:focus-visible {
  outline: 2px solid var(--nc-ink);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.nicci-bio::before { animation: none; }
  body.nicci-bio * { transition-duration: 0.001ms !important; }
}
