/* Shared document formatting. No .content class: legacy JS clears its inline styles. */
.cb-offer-document { color: #464c54; font-family: "MuseoSans", Arial, sans-serif; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; }
.cb-offer-document img { max-width: 100%; height: auto; }
.cb-offer-document p { margin: 25px 0; line-height: 1.5; }
.cb-offer-document p:first-child { margin-top: 0; }
.cb-offer-document p:last-child { margin-bottom: 0; }
.cb-offer-document > .cb-offer-document__terminal-empty { display: none !important; }
.cb-offer-document ul { list-style: none; padding: 0; margin: 0; }
.cb-offer-document ul li { position: relative; margin: 20px 0; padding-left: 40px; line-height: 1.4; }
.cb-offer-document ul li::before { content: ""; display: block; position: absolute; left: 0; top: 9px; width: 23px; height: 4px; background: #23a4ff; }
.cb-offer-document ol li { margin: 15px 0; }
.cb-offer-document hr { margin: 30px auto; border: 0; height: 5px; background: #e6e6e6; }
.cb-offer-document a { color: #215b88; }
.cb-offer-document pre { white-space: pre-wrap; overflow-wrap: anywhere; }
/* Match the site's .tableRemont presentation, scoped to offer documents. */
.cb-offer-document table { width: 100% !important; min-width: 0 !important; max-width: 100% !important; table-layout: auto !important; border-collapse: collapse; margin: 24px 0; font-size: 16px; }
.cb-offer-document td, .cb-offer-document th { min-width: 0 !important; padding: 20px var(--cb-offer-cell-padding, 20px); border: 1px solid #ccc; vertical-align: middle; line-height: 1.4; overflow-wrap: anywhere !important; white-space: normal !important; }
.cb-offer-document td *, .cb-offer-document th * { white-space: normal !important; overflow-wrap: anywhere !important; }
.cb-offer-document td p, .cb-offer-document th p { margin: 0; line-height: inherit; }
.cb-offer-document td { font-size: 16px; background-color: transparent; transition: background-color .1s linear; }
.cb-offer-document tr:hover > td { background-color: #f3f3f3; }
/* Override old inline header alignment/colours only in the rendered document. */
.cb-offer-document th, .cb-offer-document .cb-offer-document__table-heading { background: #464c54 !important; color: #fff !important; text-transform: uppercase; text-align: left !important; font-weight: 900; }
.cb-offer-document .cb-offer-document__table-heading { font-size: 16px; }
.cb-offer-document th p, .cb-offer-document th span, .cb-offer-document th strong, .cb-offer-document th b, .cb-offer-document th em, .cb-offer-document th a,
.cb-offer-document .cb-offer-document__table-heading p, .cb-offer-document .cb-offer-document__table-heading span, .cb-offer-document .cb-offer-document__table-heading strong, .cb-offer-document .cb-offer-document__table-heading b, .cb-offer-document .cb-offer-document__table-heading em, .cb-offer-document .cb-offer-document__table-heading a { color: inherit !important; background-color: transparent !important; text-align: inherit !important; }
.cb-offer-document__table-wrap { max-width: 100%; margin: 24px 0; }
.cb-offer-document__table-wrap > table { margin: 0; }
.cb-offer-document__table-compact { --cb-offer-cell-padding: 16px; }
.cb-offer-document .cb-offer-document__table-words :is(td, th, td *, th *) { overflow-wrap: break-word !important; }
@media (max-width: 550px) {
    .cb-offer-document td, .cb-offer-document th { padding: 8px 4px; }
}
@media print {
    @page { size: A4; margin: 15mm; }
    .cb-offer-document { font-size: 11pt; color: #000; }
    .cb-offer-document h2, .cb-offer-document h3, .cb-offer-document h4 { break-after: avoid; }
    .cb-offer-document p, .cb-offer-document li { orphans: 3; widows: 3; }
    .cb-offer-document__table-wrap { overflow: visible; margin: 5mm 0; }
    .cb-offer-document table { width: 100% !important; min-width: 0 !important; max-width: 100% !important; table-layout: fixed !important; font-size: 9pt; }
    .cb-offer-document td, .cb-offer-document th { padding: 2mm; width: auto !important; min-width: 0 !important; white-space: normal !important; overflow-wrap: anywhere; font-size: inherit; }
    .cb-offer-document th, .cb-offer-document .cb-offer-document__table-heading { background: #edf2f5 !important; color: #000 !important; font-size: inherit; }
    .cb-offer-document tr:hover > td { background-color: transparent; }
    .cb-offer-document thead { display: table-header-group; }
    .cb-offer-document tr { break-inside: avoid; }
    .cb-offer-document a { color: #000; text-decoration: underline; }
}
