/* Leseprobe (DE /weihnachtsbuch/leseprobe/, EN /the-first-to-stand-up/sample/, FR /fr/le-premier-a-se-lever/extrait/) – ergänzt site.css */
.sample { position: relative; }
.sample__inner { position: relative; max-width: 37rem; margin-inline: auto; min-width: 0; }

.sample__head { text-align: center; }
.sample__cover { display: block; width: 7.5rem; margin: 0 auto 1.6rem; }
.sample__cover img { width: 100%; height: auto; border-radius: 3px; box-shadow: 0 0 0 1px var(--line), 0 14px 34px rgba(0, 0, 0, .45); }
.sample__head .xmas__title { font-size: clamp(2rem, 1.5rem + 2.4vw, 3rem); }
.sample__lead { margin-top: 1.4rem; color: var(--mist); font-size: var(--step--1); }
.sample__lead a { white-space: nowrap; }

/* Buchsatz */
.sample-text {
  margin-top: clamp(2.6rem, 7vw, 3.8rem);
  font-size: clamp(1.08rem, 1.02rem + .3vw, 1.22rem); line-height: 1.78; color: var(--cream);
  hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word;
}
.sample-text p + p { margin-top: 0; text-indent: 1.5em; }
.sample-text h2 {
  margin: clamp(3rem, 8vw, 4.2rem) 0 1.6rem; text-align: center;
  font-family: var(--caps); font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  font-size: var(--step-1); line-height: 1.35; color: var(--gold);
}
.sample-text h2:first-child { margin-top: 0; }
.sample-text h2 small {
  display: block; margin-bottom: .55rem; font-family: var(--serif); text-transform: none; letter-spacing: .28em;
  font-size: var(--step--1); color: var(--ember); font-weight: 600;
}
.sample-text h2::after {
  content: ""; display: block; width: .5rem; height: .5rem; margin: 1.1rem auto 0;
  background: var(--gold-lo); transform: rotate(45deg);
}
.sample-text blockquote {
  margin: 1.4rem 0; text-align: center; font-style: italic; color: var(--gold); line-height: 1.7;
}
.sample-text blockquote + p { text-indent: 0; }

/* Übersprungenes Kapitel */
.sample-skip {
  margin: clamp(2.6rem, 7vw, 3.4rem) 0 0; padding: 1.1rem 1.25rem; border-radius: 12px;
  border: 1px dashed rgba(255, 183, 105, .45); background: rgba(255, 183, 105, .05);
  font-size: var(--step--1); line-height: 1.6; color: var(--mist); font-style: italic; hyphens: manual;
}
.sample-skip + h2 { margin-top: 2.4rem; }
.sample-text .sample-skip__from { margin-top: 1.8rem; text-indent: 0; }
.sample-text .sample-skip__label {
  display: block; text-indent: 0; margin-top: 2.2rem; text-align: center; font-size: var(--step--1);
  letter-spacing: .22em; text-transform: uppercase; color: var(--ember); font-weight: 600;
}

/* Der letzte Satz */
.sample-text .sample-cliff {
  margin-top: 2.4rem; text-indent: 0; text-align: center; font-style: italic;
  font-size: var(--step-2); line-height: 1.35; color: var(--gold); hyphens: manual;
  text-shadow: 0 0 30px rgba(255, 183, 105, .2);
}

.sample-copy { margin-top: 2.4rem; font-size: .8rem; line-height: 1.55; color: var(--mist); text-align: center; }

/* Ende der Leseprobe: Weiterlesen */
.sample-end {
  margin-top: clamp(2.8rem, 7vw, 3.6rem); padding: clamp(1.4rem, 5vw, 2.2rem);
  border: 1px solid var(--line); border-radius: 18px;
  background: linear-gradient(180deg, rgba(7, 76, 145, .32), rgba(2, 26, 60, .35));
  display: grid; gap: 1.4rem; justify-items: center; text-align: center;
}
.sample-end__cover { margin: 0; width: 8.5rem; }
.sample-end__cover img { width: 100%; height: auto; border-radius: 3px; box-shadow: 0 0 0 1px var(--line), 0 14px 34px rgba(0, 0, 0, .45); }
.sample-end__cover a { display: block; border-radius: 3px; transition: transform .25s ease; }
.sample-end__cover a:hover { transform: translateY(-3px); }
.sample-end__body { min-width: 0; }
.sample-end__eyebrow { font-size: var(--step--1); text-transform: uppercase; letter-spacing: .22em; color: var(--ember); font-weight: 600; }
.sample-end__text { margin-top: .7rem; color: var(--cream); }
.sample-end .buy { margin-top: 1.4rem; }
.sample-end .buy__btns { justify-content: center; }
.sample-end__more { margin-top: 1.2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem 1.4rem; font-size: var(--step--1); }
@media (min-width: 46rem) {
  .sample-end { grid-template-columns: 8.5rem minmax(0, 1fr); justify-items: start; text-align: left; column-gap: 2rem; align-items: start; }
  .sample-end .buy__btns, .sample-end__more { justify-content: flex-start; }
}
@media (prefers-reduced-motion: reduce) { .sample-end__cover a { transition: none; } .sample-end__cover a:hover { transform: none; } }
