/* Petmunio Käufererfahrungen + automatisches Inhaltsverzeichnis
   Eigene Namespaces .pmr-*; nutzt vorhandene Petmunio Design-Tokens, falls vorhanden.
*/

.pmr-toc {
  margin: 0 auto 42px;
  width: min(100%, var(--pm-content, 1040px));
  padding: clamp(24px, 3vw, 32px);
  border: 1px solid var(--pm-line, #dce4df);
  border-radius: var(--pm-radius, 18px);
  background: var(--pm-cream, #fbf8f1);
  box-shadow: var(--pm-shadow-sm, 0 8px 24px rgba(23,36,31,.05));
}

.pmr-toc__head {
  margin-bottom: 16px;
}

.pmr-toc__eyebrow {
  margin: 0 0 7px;
  color: var(--pm-green, #1f5b45);
  font-size: .76rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pmr-toc__head h2 {
  margin: 0;
  color: var(--pm-ink, #17241f);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.25;
}

.pmr-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pmr-toc;
}

.pmr-toc__item {
  counter-increment: pmr-toc;
  margin: 0;
  border-top: 1px solid var(--pm-line, #dce4df);
}

.pmr-toc__item a {
  display: block;
  padding: 12px 6px;
  color: var(--pm-ink-soft, #34433c);
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
  text-underline-offset: .16em;
}

.pmr-toc__item a::before {
  content: counter(pmr-toc, decimal-leading-zero);
  display: inline-block;
  width: 34px;
  margin-right: 8px;
  color: var(--pm-green, #1f5b45);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .04em;
  vertical-align: .06em;
}

.pmr-toc__item a:hover,
.pmr-toc__item a:focus {
  color: var(--pm-green-dark, #143f31);
  text-decoration: underline;
}

.pmr-toc__item--sub a {
  padding-left: 44px;
  font-size: .93rem;
  font-weight: 600;
}

.pmr-toc__item--sub a::before {
  content: "↳";
  width: 16px;
  margin-right: 6px;
}

.pmr-review {
  margin-top: 24px;
  padding: clamp(26px, 3.5vw, 36px);
  border: 1px solid var(--pm-line, #dce4df);
  border-left: 5px solid var(--pm-green, #1f5b45);
  border-radius: var(--pm-radius, 18px);
  background: var(--pm-cream, #fbf8f1);
  box-shadow: var(--pm-shadow-sm, 0 8px 24px rgba(23,36,31,.05));
  color: var(--pm-ink, #17241f);
}

.pmr-review__eyebrow {
  margin: 0 0 12px;
  color: var(--pm-green, #1f5b45);
  font-size: .76rem;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pmr-review h3 {
  margin: 0 0 13px;
  color: var(--pm-ink, #17241f);
  font-size: clamp(1.16rem, 1.7vw, 1.45rem);
  font-weight: 800;
  line-height: 1.3;
}

.pmr-review__meta {
  display: inline-block;
  margin: 0 0 18px;
  padding: 9px 13px;
  border: 1px solid var(--pm-line, #dce4df);
  border-radius: var(--pm-radius-sm, 12px);
  background: var(--pm-green-soft, #e3eee8);
  color: var(--pm-ink-soft, #34433c);
  font-size: .88rem;
  line-height: 1.5;
}

.pmr-review__meta strong {
  color: var(--pm-green-dark, #143f31);
  font-weight: 800;
}

.pmr-review > p:not(.pmr-review__eyebrow):not(.pmr-review__meta) {
  margin: 0;
  color: var(--pm-ink-soft, #34433c);
  font-size: 1rem;
  line-height: 1.72;
}

.pmr-review__sources {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid var(--pm-line, #dce4df);
  font-size: .9rem;
}

.pmr-review__sources summary {
  cursor: pointer;
  list-style: none;
  color: var(--pm-green-dark, #143f31);
  font-weight: 800;
}

.pmr-review__sources summary::-webkit-details-marker {
  display: none;
}

.pmr-review__sources summary::before {
  content: "›";
  display: inline-block;
  margin-right: 8px;
  color: var(--pm-green, #1f5b45);
  font-size: 1.1em;
  transition: transform .16s ease;
}

.pmr-review__sources[open] summary::before {
  transform: rotate(90deg);
}

.pmr-review__sources ul {
  margin: 13px 0 0;
  padding-left: 1.2rem;
}

.pmr-review__sources li {
  margin: 0;
  color: var(--pm-muted, #66736d);
}

.pmr-review__sources li + li {
  margin-top: 6px;
}

.pmr-review__sources a {
  color: var(--pm-green, #1f5b45);
  text-underline-offset: .16em;
  text-decoration-thickness: 1px;
}

.pmr-review--c {
  border-left-color: var(--pm-muted, #66736d);
}

@media (max-width: 600px) {
  .pmr-toc {
    margin-bottom: 32px;
    padding: 22px 19px;
  }

  .pmr-toc__item--sub a {
    padding-left: 30px;
  }

  .pmr-review {
    margin-top: 20px;
    padding: 22px 19px;
    border-left-width: 4px;
  }

  .pmr-review__meta {
    display: block;
    margin-bottom: 16px;
  }
}
