/* Native V4 FAQ, with a continuous ink background at both immediate junctions. */
.review.theme-v4 .section.nf-section {
  --ink: #f5f2ee;
  --muted: #c4c2dc;
  --accent: #b39af0;
  --line: #b39af03d;
  --paper: #171c37;
  background: #0b0e28;
  color: var(--ink);
  padding-block: 52px 0;
  container: faq / inline-size;
}
.review.theme-v4 .section.nf-section > .wrap {
  inline-size: min(1152px, calc(100% - 112px));
  padding-block-end: 56px;
  border-block-end: 1px solid var(--line);
}
.nf-section .nf-heading {
  margin-block-end: 38px;
}
.nf-section .nf-kicker {
  margin-block-end: 12px;
  color: var(--accent);
  font: 500 13px/1.6 var(--body);
  letter-spacing: .26em;
  text-transform: uppercase;
}
.review.theme-v4 .nf-section h2 {
  margin: 0;
  max-inline-size: 660px;
  color: var(--ink);
  font: 400 clamp(34px, 4.3vw, 58px)/1.1 var(--title);
  letter-spacing: -.025em;
  text-align: start;
  text-wrap: balance;
}
.nf-section .nf-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 44px;
  align-items: start;
}
.nf-section .nf-group {
  min-inline-size: 0;
  display: grid;
}
@supports (grid-template-rows: subgrid) {
  .nf-section .nf-group {
    grid-template-rows: subgrid;
    grid-row: span 5;
  }
}
.review.theme-v4 .nf-section h3 {
  margin: 0 0 14px;
  padding-inline: 5px;
  color: var(--muted);
  font: 500 13px/1.7 var(--body);
  letter-spacing: .23em;
  text-transform: uppercase;
}
.nf-section .nf-item {
  min-inline-size: 0;
  align-self: start;
  border-block-start: 1px solid var(--line);
}
.nf-section .nf-item:last-child:not([open]) {
  border-block-end: 1px solid var(--line);
}
.nf-section .nf-item[open] {
  background:
    linear-gradient(
      105deg,
      #171c37,
      #14192f);
  border: 1px solid #b39af01f;
  border-inline-start: 3px solid var(--accent);
  border-radius: 4px;
  margin-block-end: 14px;
}
.nf-section summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  list-style: none;
  padding: 20px 5px;
  min-block-size: 64px;
  color: var(--ink);
  cursor: pointer;
  font: 400 21px/1.4 var(--body);
}
.nf-section summary::-webkit-details-marker {
  display: none;
}
.nf-section summary > [data-msg] {
  min-inline-size: 0;
  overflow-wrap: break-word;
  text-wrap: pretty;
}
.nf-section .nf-item[open] summary {
  padding: 18px 20px 12px;
}
.nf-section .nf-sign {
  position: relative;
  flex: 0 0 20px;
  inline-size: 20px;
  block-size: 20px;
  color: var(--accent);
}
.nf-section .nf-sign::before,
.nf-section .nf-sign::after {
  content: "";
  position: absolute;
  background: currentColor;
  inset-block-start: 9px;
  inset-inline-start: 1px;
  inline-size: 18px;
  block-size: 1.5px;
}
.nf-section .nf-sign::after {
  transform: rotate(90deg);
}
.nf-section [open] .nf-sign::after {
  transform: rotate(0deg);
}
.nf-section .nf-answer {
  padding: 0 20px 20px;
  color: var(--muted);
  font: 400 17px/1.65 var(--body);
  overflow-wrap: break-word;
}
.nf-section .nf-answer p {
  margin: 0;
}
.nf-section .nf-answer a {
  display: inline-block;
  margin-block-start: 8px;
  color: var(--accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
}
.nf-section summary:focus-visible,
.nf-section .nf-answer a:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-radius: 3px;
}
@media (hover: hover) {
  .nf-section summary:hover {
    color: #dfd0ff;
  }
  .nf-section .nf-answer a:hover {
    color: #dfd0ff;
  }
}
@media (prefers-reduced-motion: no-preference) {
  .nf-section summary,
  .nf-section .nf-answer a {
    transition: color 200ms ease;
  }
  .nf-section .nf-sign::after {
    transition: transform 200ms ease;
  }
}
.review.theme-v4 .nf-section + .v4-appointment {
  margin-block-start: 0;
  background: linear-gradient(#0b0e28, #10102e 160px);
}
@container faq (min-width: 1041px) {
  .review.theme-v4 .nf-section h2:lang(fr) {
    white-space: pre-line;
  }
}
@container faq (max-width: 1040px) {
  .nf-section .nf-groups {
    column-gap: 28px;
  }
  .nf-section summary {
    font-size: 20px;
  }
}
@container faq (max-width: 760px) {
  .nf-section .nf-groups {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 36px;
  }
  .nf-section .nf-group {
    display: block;
  }
}
@container faq (max-width: 600px) {
  .review.theme-v4 .section.nf-section > .wrap {
    inline-size: calc(100% - 40px);
    padding-block-end: 40px;
  }
  .nf-section .nf-heading {
    margin-block-end: 28px;
  }
  .review.theme-v4 .nf-section h2 {
    font-size: clamp(32px, 8.8cqi, 38px);
    line-height: 1.16;
  }
  .nf-section .nf-kicker {
    letter-spacing: .18em;
    font-size: 12px;
  }
  .nf-section summary {
    gap: 14px;
    font-size: 19px;
    padding-block: 18px;
  }
  .nf-section .nf-item[open] summary {
    padding-inline: 14px;
  }
  .nf-section .nf-answer {
    padding-inline: 14px;
    font-size: 17px;
    line-height: 1.6;
  }
}
