/* ---------------------------------------------------------------------------
 * dla-pages.css - shared look for the information pages (Terms and Conditions,
 * Copyright Policy, Quick Links, Related Links, FAQs, Accessibility Statement).
 * Colours meet WCAG 2.1 AA contrast; works with the site's high-contrast mode.
 * ------------------------------------------------------------------------- */
.pg-page { max-width: 1000px; margin: 0 auto; padding: 20px 16px 48px; font-family: 'Noto Sans', 'Open Sans', Arial, sans-serif; color: #1f2937; line-height: 1.7; }
.pg-crumb { font-size: .875rem; color: #374151; margin-bottom: 14px; }
.pg-crumb a { color: #1a4fa0; text-decoration: underline; }
.pg-crumb span[aria-hidden] { padding: 0 8px; color: #6b7280; }
.pg-page h1 { font-size: 1.75rem; font-weight: 700; color: #1d2b6b; margin: 0 0 6px; }
.pg-rule { height: 4px; width: 72px; background: #e8762d; border-radius: 2px; margin: 0 0 22px; }
.pg-page .pg-lead { font-size: 1.05rem; color: #374151; margin: 0 0 20px; }
.pg-page p { font-size: 1rem; margin: 0 0 16px; }
.pg-page a { color: #1a4fa0; text-decoration: underline; }
.pg-page a:hover { color: #0b2e6b; }
.pg-page a:focus, .pg-page summary:focus, .pg-page button:focus { outline: 3px solid #f5b800; outline-offset: 2px; }
.pg-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Numbered clauses (Terms and Conditions) */
.pg-clauses { margin: 0; padding-left: 0; list-style: none; counter-reset: clause; }
.pg-clauses li { position: relative; padding: 14px 16px 14px 56px; margin: 0 0 12px; background: #fff; border: 1px solid #e3e7f1; border-radius: 8px; counter-increment: clause; }
.pg-clauses li::before { content: counter(clause); position: absolute; left: 14px; top: 14px; width: 28px; height: 28px; border-radius: 50%; background: #1d2b6b; color: #fff; font-weight: 700; font-size: .9rem; display: flex; align-items: center; justify-content: center; }

/* Link lists (Quick Links, Related Links) */
.pg-links { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.pg-links li { margin: 0; }
.pg-links a { display: flex; gap: 12px; align-items: flex-start; height: 100%; padding: 14px 16px; background: #fff; border: 1px solid #d6dcec; border-left: 4px solid #334494; border-radius: 8px; text-decoration: none; color: #1f2937; transition: box-shadow .15s, border-color .15s; }
.pg-links a:hover { border-left-color: #e8762d; box-shadow: 0 4px 14px rgba(29, 43, 107, .12); color: #1f2937; }
.pg-links .pg-ico { flex: 0 0 auto; width: 34px; height: 34px; border-radius: 8px; background: #eef1fa; color: #1d2b6b; display: flex; align-items: center; justify-content: center; font-size: 1rem; }
.pg-links .pg-name { display: block; font-weight: 700; color: #1a4fa0; text-decoration: underline; line-height: 1.4; }
.pg-links .pg-url { display: block; font-size: .8125rem; color: #4b5563; word-break: break-all; margin-top: 2px; }
.pg-page .pg-note { font-size: .875rem; color: #4b5563; margin-top: 18px; }

/* FAQs */
.pg-faq-tools { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; }
.pg-btn { background: #fff; color: #1d2b6b; border: 1.5px solid #1d2b6b; border-radius: 20px; padding: 6px 14px; font-size: .875rem; font-weight: 600; cursor: pointer; }
.pg-btn:hover { background: #eef1fa; }
.pg-faq { border: 1px solid #d6dcec; border-radius: 8px; margin: 0 0 12px; background: #fff; overflow: hidden; }
.pg-faq summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 14px 16px; font-weight: 700; color: #1d2b6b; font-size: 1.05rem; }
.pg-faq summary::-webkit-details-marker { display: none; }
.pg-faq summary::after { content: "+"; margin-left: auto; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 50%; background: #eef1fa; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; line-height: 1; }
.pg-faq[open] summary { border-bottom: 1px solid #e3e7f1; background: #f6f8fd; }
.pg-faq[open] summary::after { content: "\2212"; background: #1d2b6b; color: #fff; }
.pg-faq-num { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; background: #e8762d; color: #fff; display: flex; align-items: center; justify-content: center; font-size: .9rem; }
.pg-faq-body { padding: 6px 18px 12px 18px; }
.pg-faq-body ul { margin: 8px 0 0; padding-left: 22px; }
.pg-faq-body li { margin: 0 0 8px; }

/* Contact box */
.pg-contact { margin-top: 28px; padding: 18px 20px; border: 1px solid #d6dcec; border-left: 4px solid #334494; border-radius: 8px; background: #f6f8fd; }
.pg-contact h2 { font-size: 1.15rem; font-weight: 700; color: #1d2b6b; margin: 0 0 8px; }
.pg-contact ul { margin: 0; padding-left: 20px; }
.pg-contact li { margin: 4px 0; }

/* High-contrast mode (site toggle) */
html.dla-hc .pg-clauses li, html.dla-hc .pg-links a, html.dla-hc .pg-faq, html.dla-hc .pg-contact, html.dla-hc .pg-faq[open] summary { background: #000 !important; border-color: #fff !important; color: #fff !important; }
html.dla-hc .pg-links .pg-name, html.dla-hc .pg-faq summary { color: #ff0 !important; }
@media (prefers-reduced-motion: reduce) { .pg-links a { transition: none; } }
@media print { .pg-faq-tools, .pg-crumb { display: none; } .pg-faq { break-inside: avoid; } }

/* Policy pages: contents box and sections */
.pg-toc { background: #f6f8fd; border: 1px solid #d6dcec; border-radius: 8px; padding: 14px 18px; margin: 0 0 22px; }
.pg-toc h2 { font-size: 1rem; font-weight: 700; color: #1d2b6b; margin: 0 0 8px; }
.pg-toc ol { margin: 0; padding-left: 22px; columns: 2 280px; column-gap: 28px; }
.pg-toc li { margin: 0 0 6px; break-inside: avoid; }
.pg-sec { scroll-margin-top: 90px; margin: 0 0 26px; }
.pg-sec > h2 { font-size: 1.3rem; font-weight: 700; color: #1d2b6b; margin: 0 0 10px; padding-bottom: 6px; border-bottom: 2px solid #334494; }
.pg-sec h3 { font-size: 1.05rem; font-weight: 700; color: #1f2937; margin: 16px 0 6px; }
.pg-sec ul, .pg-sec ol { margin: 0 0 14px; padding-left: 24px; }
.pg-sec li { margin: 0 0 6px; }
.pg-tbl { width: 100%; border-collapse: collapse; margin: 6px 0 16px; font-size: .95rem; }
.pg-tbl caption { caption-side: top; text-align: left; font-weight: 600; color: #374151; padding-bottom: 6px; }
.pg-tbl th, .pg-tbl td { border: 1px solid #d6dcec; padding: 8px 10px; text-align: left; vertical-align: top; }
.pg-tbl thead th { background: #1d2b6b; color: #fff; }
.pg-tbl tbody tr:nth-child(even) td { background: #f8f9fc; }
.pg-cards { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.pg-cards a { display: flex; gap: 10px; align-items: center; padding: 12px 14px; background: #fff; border: 1px solid #d6dcec; border-left: 4px solid #334494; border-radius: 8px; font-weight: 700; text-decoration: none; }
.pg-cards a:hover { border-left-color: #e8762d; }
.pg-cards .dla-ic { width: 1.35em; height: 1.35em; }
.pg-top { display: inline-block; font-size: .85rem; }
.pg-updated { font-size: .875rem; color: #4b5563; margin-top: 24px; }
@media (max-width: 575px) { .pg-tbl caption { display: block; width: 100%; } .pg-tbl tbody tr { border-top: 2px solid #334494; margin-bottom: 10px; } .pg-tbl thead { display: none; } .pg-tbl, .pg-tbl tbody, .pg-tbl tr, .pg-tbl td { display: block; width: 100%; } .pg-tbl td[data-label]::before { content: attr(data-label) ": "; font-weight: 700; } }
html.dla-hc .pg-toc, html.dla-hc .pg-cards a, html.dla-hc .pg-tbl td { background: #000 !important; color: #fff !important; border-color: #fff !important; }
dl.pg-contact { display: grid; grid-template-columns: auto 1fr; gap: 6px 14px; margin-top: 4px; }
dl.pg-contact dt { font-weight: 700; color: #374151; }
dl.pg-contact dd { margin: 0; overflow-wrap: anywhere; }
