/* Public UI-4. Loaded only by the script-free public layout. */
.pn-public .pn-public-column { max-width: 72rem; }
.pn-public .card { border-color: #e4e7ec; border-radius: .625rem; box-shadow: 0 1px 2px #18243a04; overflow-wrap: anywhere; }
.pn-public .card-body, .pn-public .card-header, .pn-public .card-footer { padding: 1.5rem; }
.pn-public .card-header :last-child, .pn-public .card-body > :last-child { margin-bottom: 0; }
.pn-public .pn-public-intro .pn-plain-text { max-width: 52rem; line-height: 1.75; }
.pn-public .pn-offer-grid { list-style: none; padding: 0; }
.pn-public .pn-offer-grid > li { min-width: 0; }
.pn-public .pn-offer-grid .card-footer { background: #fbfcfe; margin-top: auto; }
.pn-public .badge { white-space: normal; text-align: left; line-height: 1.4; }
.pn-public .pn-enquiry { max-width: 52rem; }
.pn-public .pn-enquiry form { min-width: 0; }
.pn-public .pn-enquiry .card-footer { background: #fbfcfe; }
.pn-public .pn-enquiry .alert { display: block; }
.pn-public .pn-document { max-width: 64rem; margin-inline: auto; }
.pn-public .pn-public-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; margin: 0; }
.pn-public .pn-public-figures dd { margin: .25rem 0 0; font-size: 1.125rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.pn-public .pn-public-delivery { table-layout: fixed; width: 100%; margin: 0; }
.pn-public .pn-public-delivery th:first-child { width: 55%; }
.pn-public .pn-public-delivery :is(th, td) { white-space: normal; overflow-wrap: anywhere; vertical-align: top; padding: 1.25rem 1.5rem; }
.pn-public .pn-public-delivery td > div { margin-top: .4rem; }
@media (max-width: 767.98px) {
    .pn-public .pn-public-main { padding-top: 1.25rem; }
    .pn-public .card-body, .pn-public .card-header, .pn-public .card-footer { padding: 1.25rem; }
    .pn-public .pn-public-figures { grid-template-columns: 1fr; gap: 1rem; }
    .pn-public .pn-public-delivery thead { display: none; }
    .pn-public .pn-public-delivery, .pn-public .pn-public-delivery tbody, .pn-public .pn-public-delivery tr, .pn-public .pn-public-delivery td { display: block; width: 100%; }
    .pn-public .pn-public-delivery td { border: 0; padding: 1.25rem; }
    .pn-public .pn-public-delivery td + td { padding-top: 0; }
    .pn-public .pn-public-delivery tr + tr { border-top: 1px solid #e4e7ec; }
    .pn-public .pn-enquiry button[type=submit] { width: 100%; }
}
/* Named page margins apply only to the public documents. Long delivery evidence can
   split across pages; headings stay with following text, never an entire long card. */
@page pn-public-document { size: A4; margin: 16mm; }
@media print {
    html:has(.pn-document), body.pn-public:has(.pn-document) { min-height: 0 !important; height: auto !important; min-width: 0 !important; display: block !important; }
    body.pn-public { background: #fff !important; color: #000 !important; }
    html:has(body.pn-public .pn-document) { page: pn-public-document; }
    .pn-public:has(.pn-document) .pn-public-header, .pn-public:has(.pn-document) .pn-public-footer { display: none; }
    .pn-public .pn-document, .pn-public .pn-public-main { max-width: none; padding: 0; margin: 0; }
    .pn-public .pn-document * { color: #000 !important; background: transparent !important; box-shadow: none !important; }
    .pn-public .pn-document .card { display: block; border: 0; border-radius: 0; break-inside: auto; }
    .pn-public .pn-document .card-body, .pn-public .pn-document .card-header { display: block; padding: 0 0 1rem; border: 0; }
    .pn-public .pn-document :is(h1,h2,h3,dt,thead) { break-after: avoid; }
    .pn-public .pn-document .pn-public-figures { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pn-public .pn-document .datagrid-item { break-inside: avoid; }
    .pn-public .pn-document .badge { border: 1px solid #777; }
    .pn-public .pn-document .pn-public-delivery { display: table; }
    .pn-public .pn-document .pn-public-delivery thead { display: table-header-group; }
    .pn-public .pn-document .pn-public-delivery tbody { display: table-row-group; }
    .pn-public .pn-document .pn-public-delivery tr { display: table-row; break-inside: avoid; }
    .pn-public .pn-document .pn-public-delivery :is(th,td) { display: table-cell; padding: .75rem; border-bottom: 1px solid #aaa; width: auto; }
    .pn-public .pn-document a[rel="noopener nofollow"] { text-decoration: underline; }
    .pn-public .pn-document a[rel="noopener nofollow"]::after { content: ' (' attr(href) ')'; font-size: .8em; overflow-wrap: anywhere; }
}
