/* NevShans Clinic – base styles. Loaded before nv-komponenter.css. */

/* <picture> is inline by default which breaks .nv-arch img / .nv-pair img etc.
   display:contents makes it a transparent layout wrapper – img behaves as direct child. */
:where(.nv-body) picture { display: contents; }

/* Honeypot (spamskydd) */
.hp-field {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 404-sida */
.nv-404 {
  padding-block: var(--nv-pad, 112px 112px);
}

/* Integritetspolicy */
.nv-policy {
  padding-block: var(--nv-pad, 112px 112px);
}

.nv-policy__body {
  max-width: var(--nv-text-max, 68ch);
  margin-block-start: 2rem;
}

.nv-policy__body h2 {
  margin-block-start: 2rem;
}

/* Film-video element */
.nv-film__video {
  position: relative;
  border-radius: 999px 999px 28px 28px;
  overflow: hidden;
  aspect-ratio: 9/16;
}

/* Guider – hub och enskilda guider */
.nv-guide__head { padding-block: clamp(48px, 6vw, 80px); background: var(--nv-yta); }
.nv-guide__head-in { max-width: 72ch; display: grid; gap: 8px; }
.nv-guide__head .nv-crumbs { margin: 0 0 10px; }
.nv-guide__head .nv-h1 { margin: 0; }
.nv-guide__kicker { margin-top: 4px; }
.nv-guide__byline {
  font: 400 14px/1.6 var(--nv-brod);
  color: var(--nv-text-mjuk);
  margin: 14px 0 0;
}
.nv-guide__intro {
  font: 400 18px/1.7 var(--nv-brod);
  color: var(--nv-text-mjuk);
  max-width: 72ch;
  margin: 0 0 32px;
}
.nv-guide__toc {
  background: var(--nv-kort);
  border: 1px solid var(--nv-kort2);
  border-radius: var(--nv-r-md);
  padding: 20px 24px;
  max-width: 72ch;
  margin: 0 0 32px;
}
.nv-guide__toc .nv-kicker { margin-bottom: 10px; }
.nv-guide__toc ol {
  margin: 0;
  padding: 0 0 0 18px;
  display: grid;
  gap: 6px;
  font: 400 15px/1.5 var(--nv-brod);
}
.nv-guide__toc li { color: var(--nv-text-mjuk); }
.nv-guide__toc a {
  color: var(--nv-text);
  text-decoration: underline;
  text-decoration-color: var(--nv-guld-mork);
  text-underline-offset: 3px;
}
.nv-prose--guide { max-width: 72ch; }
.nv-prose--guide h2 {
  font-family: var(--nv-rubrik);
  font-weight: 400;
  font-size: clamp(32px, 3.4vw, 48px);
  line-height: 1.08;
  margin: 32px 0 4px;
  color: var(--nv-text);
  scroll-margin-top: calc(var(--nv-head-h) + 24px);
  text-wrap: balance;
}
.nv-prose--guide p { margin: 0; }
.nv-prose--guide strong { font-weight: 600; }
.nv-prose--guide .nv-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 18px;
  border: 1px solid var(--nv-kort2);
}
.nv-prose--guide table {
  border-collapse: collapse;
  width: 100%;
  min-width: 520px;
  font: 400 15px/1.55 var(--nv-brod);
  background: #FFFFFF;
}
.nv-prose--guide th,
.nv-prose--guide td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid var(--nv-kort2);
  vertical-align: top;
}
.nv-prose--guide thead th { background: var(--nv-kort); font-weight: 600; }
.nv-prose--guide tbody tr:nth-child(odd) td { background: var(--nv-bas); }
.nv-prose--guide tbody tr:nth-child(even) td { background: #FFFFFF; }
.nv-prose--guide tbody tr:last-child td { border-bottom: 0; }
.nv-sources {
  margin: 0;
  padding: 0 0 0 22px;
  display: grid;
  gap: 10px;
  font: 400 15px/1.55 var(--nv-brod);
  color: var(--nv-text-mjuk);
  max-width: 72ch;
}
.nv-sources li { padding-left: 4px; }
.nv-sources__meta {
  font-size: 13px;
  color: var(--nv-text-mjuk);
  margin: 4px 0 0;
}
.nv-sources p { margin: 0; }
.nv-sources a {
  color: var(--nv-text);
  text-decoration: underline;
  text-decoration-color: var(--nv-guld-mork);
  text-underline-offset: 3px;
}
.nv-guide-link { margin-top: 8px; }
.nv-guide-link a {
  color: var(--nv-text);
  text-decoration: underline;
  text-decoration-color: var(--nv-guld-mork);
  text-underline-offset: 3px;
  font-weight: 600;
}
