/* Sprach-Angebot und Druck-Service — shared across the six demos. */
.lang-offer {
  margin: 48px auto 0;
  max-width: 1120px;
  padding: 28px 24px 26px;
  border-top: 1px solid currentColor;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 22px 40px;
  align-items: start;
}
.lang-offer-kicker {
  grid-column: 1 / -1;
  margin: 0;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
  opacity: .55;
}
.lang-offer h2 {
  margin: 0 0 10px;
  font-size: clamp(1.25rem, 2.2vw, 1.7rem);
  line-height: 1.15;
}
.lang-offer p { margin: 0 0 10px; max-width: 58ch; font-size: 14px; line-height: 1.6; }
.lang-offer p:last-child { margin-bottom: 0; }
.lang-offer-meta { margin-top: 10px !important; padding-top: 9px; border-top: 1px solid currentColor; font-size: 11.5px !important; line-height: 1.5 !important; opacity: .72; }
.lang-offer-controls { display: grid; gap: 8px; }
.lang-offer label { font-size: 12px; letter-spacing: .04em; opacity: .7; }
.lang-offer select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-size: 14px;
}
.lang-offer-note {
  margin: 0 !important;
  padding: 10px 12px;
  border: 1px solid currentColor;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
.lang-offer-note[hidden] { display: none; }
.lang-offer-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 720px) {
  .lang-offer { grid-template-columns: 1fr; margin-top: 36px; padding: 22px 16px; }
}
@media print { .lang-offer { display: none; } }
