/* LastLonger legal pages (frontend-spec 5.6/5.7): card and title block, the .ll-legal__prose block for the flat
   pages.json markup, and the internal-link wrapping rule (theme-architecture 5.6 #8 and #14). Route: legal.
   The section > ... rules of the original structure (frontend-spec Appendix C) are not shipped: the stored content
   has no <section> wrappers. Width, centring and side gutters of .ll-legal come from
   .ll-container.ll-container--legal (layout.css, theme-architecture 5.4); only the vertical padding is set here. */

/* Card and title block */
.ll-legal { padding-top: 3rem; padding-bottom: 3rem; }
.ll-legal__card { background-color: var(--ll-paper-2); border: 1px solid rgba(15,27,46,.1); border-radius: 1rem; padding: 2rem;
  box-shadow: var(--ll-shadow-soft); }
.ll-legal__card > * + * { margin-top: 2rem; }
.ll-legal__card h1 { font-size: 1.875rem; line-height: 2.25rem; font-weight: 700; color: var(--ll-ink); margin-bottom: .5rem; }
.ll-legal__updated { color: var(--ll-ink-muted); font-size: .875rem; line-height: 1.25rem; }

/* Flat semantic markup of pages.json inside div.ll-legal__prose (the_content()) */
.ll-legal__prose > * + * { margin-top: .75rem; }                      /* = section space-y-3 */
.ll-legal__prose > * + h2 { margin-top: 2rem; }                        /* = card space-y-8 between sections */
.ll-legal__prose h2 { font-size: 1.25rem; line-height: 1.75rem; font-weight: 600; color: var(--ll-accent); }
.ll-legal__prose > p { color: var(--ll-ink-muted); line-height: 1.625; }
.ll-legal__prose ol { list-style: decimal inside; color: var(--ll-ink-muted); line-height: 1.625; margin-left: .5rem; }
.ll-legal__prose ul { list-style: disc inside; color: var(--ll-ink-muted); margin-left: .5rem; }        /* line-height stays 1.5 */
.ll-legal__prose li + li { margin-top: .5rem; }
.ll-legal__prose strong { color: var(--ll-ink); }
.ll-legal__prose a { color: var(--ll-accent); }
.ll-legal__prose a:hover { text-decoration-line: underline; }
/* Terms section 5 notice box */
.ll-legal__prose p.legal-notice { background-color: var(--ll-accent-soft); border: 1px solid rgba(31,111,80,.3); border-radius: .75rem;
  padding: 1rem; color: var(--ll-accent); font-size: .875rem; line-height: 1.25rem; font-weight: 500; }
.ll-legal__prose p.legal-notice strong { font-weight: 500; color: inherit; }
/* Privacy section 3: each h3 + following p drawn as ONE white card (h3 = top half, p = bottom half) */
.ll-legal__prose h3 { font-size: 1rem; line-height: 1.625; font-weight: 500; color: var(--ll-ink); background-color: #fff;
  border: 1px solid rgba(15,27,46,.1); border-bottom: 0; border-radius: .75rem .75rem 0 0; padding: 1rem 1rem .25rem; }
.ll-legal__prose h3 + p { margin-top: 0; background-color: #fff; border: 1px solid rgba(15,27,46,.1); border-top: 0;
  border-radius: 0 0 .75rem .75rem; padding: 0 1rem 1rem; }
.ll-legal__prose p + h3 { margin-top: 1rem; }                          /* = space-y-4 between the cards */
/* Privacy section 6: dt+dd pairs drawn as the 1-col (mobile) / 2-col (from 640px) card grid */
.ll-legal__prose dl { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: .75rem; }
.ll-legal__prose dt, .ll-legal__prose dd { margin: 0; background-color: #fff; border: 1px solid rgba(15,27,46,.1);
  font-size: .875rem; line-height: 1.25rem; }
.ll-legal__prose dt { border-bottom: 0; border-radius: .75rem .75rem 0 0; padding: .75rem .75rem .25rem; font-weight: 500; color: var(--ll-accent); }
.ll-legal__prose dd { border-top: 0; border-radius: 0 0 .75rem .75rem; padding: 0 .75rem .75rem; color: var(--ll-ink-muted); margin-bottom: .75rem; }
.ll-legal__prose dd:last-of-type { margin-bottom: 0; }
@media (min-width: 640px) {
  .ll-legal__prose dl { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: row dense; }
  .ll-legal__prose dt:nth-of-type(odd),  .ll-legal__prose dd:nth-of-type(odd)  { grid-column: 1; }
  .ll-legal__prose dt:nth-of-type(even), .ll-legal__prose dd:nth-of-type(even) { grid-column: 2; }
  .ll-legal__prose dd:nth-last-of-type(2) { margin-bottom: 0; }        /* last row has two dd */
}
.ll-legal__prose dl + p { font-size: .875rem; line-height: 1.25rem; }   /* "Aby skorzystać ze swoich praw..." is text-sm */

/* Page numbers of a page split with page breaks (wp_link_pages() in page.php, printed only then). Same pills as the
   blog list (blog.css); the card's > * + * rule gives the 2rem gap above. */
.ll-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.ll-pagination .post-page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 2.5rem; height: 2.5rem;
  padding: 0 .75rem; border-radius: 9999px; border: 1px solid rgba(15,27,46,.15); color: var(--ll-ink); font-size: .875rem;
  line-height: 1.25rem; font-weight: 600; transition: all 200ms var(--ll-ease); }
.ll-pagination a.post-page-numbers:hover { border-color: var(--ll-accent); color: var(--ll-accent); }
.ll-pagination .post-page-numbers.current { background-color: var(--ll-accent); border-color: var(--ll-accent); color: #fff; }

/* Internal links keep the wrapping of the original link-button (theme-architecture 5.6 #14): the Terms section 9 link
   "Polityce Prywatności" moves to the next line as one unit. mailto: and ODR links stay inline (wrappable spans originally). */
.ll-legal__prose a[href^="/"], .ll-legal__prose a[href^="https://lastlonger.eu/"] { display: inline-block; }
