.privacy-card { max-width: 880px; margin: 1.6rem auto 2rem; }
.privacy-card > h2 { font-size: 1.2rem; }
.privacy-card p { line-height: 1.6; }
.privacy-card details { padding: .8rem 0; border-top: 1px solid var(--line, #d6dbe2); }
.privacy-card summary { cursor: pointer; font-weight: 600; line-height: 1.5; }
.privacy-preference { margin-top: 1rem; }
.privacy-preference button { white-space: normal; max-width: 100%; }
.privacy-preference p { font-size: .9rem; }
.site-footer .footer-privacy { color: inherit; font-size: .8125rem; }
/* The sharing control uses a two-column mobile footer. These new rows must
   span that grid, so their text cannot force the contact column to zero. */
@media (max-width: 560px) {
  .site-footer .footer-privacy,
  .site-footer .lab-active-visitors { grid-column: 1 / -1; min-width: 0; justify-self: start; }
  .site-footer .footer-privacy { grid-row: 4; padding-block: 4px; }
  .site-footer .lab-active-visitors { grid-row: 5; }
  html:is([data-al-size="150"], [data-al-size="175"], [data-al-size="200"]) .site-footer:has(.al-share-toggle) {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 10px;
  }
  html:is([data-al-size="150"], [data-al-size="175"], [data-al-size="200"]) .site-footer > :is(.footer-brand, .al-share-toggle, .footer-contact, .footer-privacy, .footer-place, .lab-active-visitors) {
    grid-column: 1;
    grid-row: auto;
    min-width: 0;
    max-width: 100%;
    justify-self: start;
  }
}
