/* Shared information pages; colours and typography come from each child theme. */
body:has(.info-page, .info-contact, .info-cookies) {
  --info-ink: var(--el-ink, var(--ab-ink, var(--ki-ink, var(--ron-ink, var(--bs-body-color)))));
  --info-accent: var(--el-orange, var(--ab-ink, var(--ki-accent, var(--bs-primary))));
  --info-line: var(--el-line, var(--ab-line, var(--ki-line, var(--ron-border, var(--bs-border-color)))));
  --info-soft: var(--el-sage, var(--ab-surface, var(--ki-paper, var(--ron-surface, var(--bs-tertiary-bg)))));
  --info-radius: var(--el-radius-panel, var(--ab-radius, var(--bs-border-radius)));
  color: var(--info-ink);
}
body:has(.info-page) .page-header h1,
.info-contact .page-title-section,
.info-cookies .mscc-policy h1 {
  font-size: clamp(1.9rem, 4vw, 3rem);
  line-height: 1.15;
  letter-spacing: -.035em;
  margin-bottom: 1rem;
  color: var(--info-ink);
}
body:has(.info-page) .page-content--cms {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.info-page, .info-contact, .info-cookies {
  font-size: var(--readability-paragraph);
  line-height: 1.75;
  overflow-wrap: anywhere;
}
.info-page p, .info-contact p { margin: 0 0 1rem; }
.info-intro { padding: 1rem 0 1.5rem; max-width: 58rem; }
.info-eyebrow { color: var(--info-accent); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.info-page .info-lead, .info-contact .info-lead { line-height: 1.65; }
.info-page .info-date { margin-bottom: 0; }
.info-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.5rem; }
.info-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: .55rem .9rem; border: 1px solid var(--info-line); border-radius: 99px; font-size: 1rem; text-decoration: none; }
.info-nav a:hover, .info-nav a.is-current { background: var(--info-ink); border-color: var(--info-ink); color: white; }
.info-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0 0 2.5rem; }
.info-summary > div, .info-contact-card { padding: 1.4rem; border: 1px solid var(--info-line); border-radius: var(--info-radius); background: var(--info-soft); }
.info-summary strong, .info-summary span { display: block; }
.info-summary strong { font-size: 1.1rem; margin-bottom: .35rem; }
.info-summary span { font-size: 1rem; line-height: 1.6; }
.info-layout { display: grid; grid-template-columns: minmax(180px, .8fr) minmax(0, 2.5fr); align-items: start; gap: clamp(1.5rem, 4vw, 4rem); }
.info-toc { position: sticky; top: 1.5rem; display: grid; gap: .35rem; padding: 1.1rem; border: 1px solid var(--info-line); border-radius: var(--info-radius); font-size: 1rem; }
.info-toc strong { padding: .4rem; }
.info-toc a { display: flex; align-items: center; min-height: 44px; padding: .5rem; line-height: 1.5; text-decoration: none; border-radius: var(--info-radius); }
.info-toc a:hover { background: var(--info-soft); color: var(--info-accent); }
.info-body { min-width: 0; }
.info-body .info-section { scroll-margin-top: 2rem; padding-bottom: 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--info-line); }
.info-body .info-section:last-child { border-bottom: 0; }
.info-body h2 { font-size: clamp(1.3rem, 2vw, 1.65rem); line-height: 1.35; margin: 0 0 1rem; letter-spacing: -.02em; }
.info-body p, .info-body li { max-width: 78ch; }
.info-body li { margin-bottom: .6rem; }
.info-body a:not(.btn), .info-contact a:not(.btn), .info-cookies a { text-decoration: underline; text-underline-offset: .2em; }
.info-body blockquote { margin: 1rem 0; padding: 1.5rem; background: var(--info-soft); border-inline-start: 3px solid var(--info-accent); font-size: var(--readability-paragraph); }
.info-page .btn, .info-contact .btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; white-space: normal; text-decoration: none; }
.info-help { display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: var(--info-soft); padding: clamp(1.5rem, 3vw, 2.5rem); border-radius: var(--info-radius); margin: 1rem 0 3rem; }
.info-help strong { font-size: 1.35rem; }
.info-help p { margin: .4rem 0 0; max-width: 55ch; }
.info-help .btn { flex-shrink: 0; }
.info-contact-card { margin-bottom: 1rem; }
.info-contact-card h2 { font-size: 1.15rem; margin: 0 0 .75rem; }
.info-contact-card address { font-style: normal; margin: 0; }
.info-contact-card a { display: inline-block; padding-block: .4rem; }
.info-contact-form { padding: clamp(1.25rem, 3vw, 2.5rem); border: 1px solid var(--info-line); border-radius: var(--info-radius); background: var(--bs-body-bg, white); }
.info-contact-form .contact-form { padding: 0; border: 0; box-shadow: none; background: transparent; }
.info-contact-form :is(input, select, textarea) { font-size: 1rem; }
.info-contact-form textarea { min-height: 160px; }
.info-contact-note { margin-top: 1rem; }
.info-cookie-help { position: sticky; top: 1.5rem; padding: 1.5rem; border-radius: var(--info-radius); background: var(--info-soft); }
.info-cookie-help h2 { font-size: 1.3rem; margin: 0 0 1rem; }
.info-cookie-help ol { padding-left: 1.25rem; }
.info-cookie-help li { margin-bottom: .75rem; }
.info-cookie-help a { display: inline-block; padding-block: .65rem; }
.info-cookies .mscc-policy { max-width: 100%; color: var(--info-ink); font: inherit; margin: 0 0 3rem; padding: 0; }
.info-cookies .mscc-policy > p { max-width: 78ch; }
.info-cookies .mscc-policy h2 { font-size: 1.5rem; margin-block: 2rem 1rem; }
.info-cookies .mscc-policy form { padding: 1.25rem; border: 1px solid var(--info-line); border-radius: var(--info-radius); background: var(--info-soft); }
.info-cookies .mscc-category { border-color: var(--info-line); }
.info-cookies .mscc-choice { min-height: 44px; gap: 1rem; }
.info-cookies .mscc-table-scroll { border: 1px solid var(--info-line); border-radius: var(--info-radius); }
.info-cookies table { font-size: 1rem; }
.info-cookies th { background: var(--info-soft); }
.info-cookies .mscc-actions { gap: .75rem; flex-wrap: wrap; }
.info-cookies .mscc-button { min-height: 46px; border: 1px solid var(--info-ink); border-radius: var(--info-radius); background: transparent; color: var(--info-ink); font: inherit; padding: .65rem 1rem; }
.info-cookies .mscc-button:hover { background: var(--info-ink); color: white; }
@media (max-width: 767px) {
  .info-summary { grid-template-columns: 1fr; gap: .6rem; margin-bottom: 1.5rem; }
  .info-summary > div { padding: 1rem 1.2rem; }
  .info-layout { grid-template-columns: 1fr; }
  .info-toc { position: static; }
  .info-cookie-help { position: static; }
  .info-help { flex-direction: column; align-items: stretch; gap: 1rem; }
  .info-contact-form { margin-block: 1rem 2rem; }
  .info-body .info-section { margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
}
@media print {
  .info-nav, .info-toc, .info-help { display: none; }
  .info-layout { display: block; }
  .info-body .info-section { break-inside: avoid; }
}
