.cms-documents{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25em;margin:1em 0;font:inherit;color:inherit;width:100%}
.cms-documents > .cms-document{min-width:0;margin:0;float:none;width:auto}
.cms-documents .cms-document p{margin:.5em 0;white-space:normal;overflow-wrap:anywhere}
.cms-documents .cms-document-link{overflow-wrap:anywhere;white-space:normal;max-width:100%}
/* The enclosing anchor is not an action button. AI section rules may still style
   cards, titles and the action itself; saved inline link settings take precedence. */
.cms-documents .cms-document > a.cms-document-link{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;color:inherit;font:inherit;text-transform:none;letter-spacing:normal;align-items:normal;justify-content:normal;transition:none}
.cms-documents .cms-document > a.cms-document-link:hover,
.cms-documents .cms-document > a.cms-document-link:focus{background:transparent;transform:none}
.cms-documents .cms-document > a.cms-document-link:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.cms-documents .cms-document .fa{margin-right:.3em}
.cms-documents .cms-document-card{border:var(--cms-document-border-width,1px) solid var(--cms-document-border-color,currentColor);border-radius:var(--cms-document-radius,4px);padding:var(--cms-document-padding,1em)}
/* New defaults must not override existing unlayered client design rules. */
@layer cms-documents-presentation {
 .cms-documents .cms-document-card{background:var(--cms-document-background,transparent);box-shadow:var(--cms-document-shadow,none)}
 .cms-documents .cms-document-title{color:var(--cms-document-title-color,inherit);font-size:var(--cms-document-title-size,inherit);font-weight:var(--cms-document-title-weight,inherit)}
}
.cms-documents .cms-document-action{display:block;margin-top:.5em}
.cms-documents .cms-document-card img{display:block;width:100%;max-width:100%;height:180px;object-fit:contain;margin:0 auto 1em}
.cms-documents .cms-document-card a{display:block}
.cms-documents.cms-documents-layout-links{gap:.6em 1.25em;align-items:start}
.cms-documents.cms-documents-layout-cards{align-items:stretch;box-sizing:border-box;padding:var(--cms-documents-inset,12px)}
.cms-documents .cms-document-large-icon{display:block;font-size:clamp(3.5rem,5vw,5rem);line-height:1.2;margin:0 auto .2em;text-align:center;color:#626b73}
.cms-documents .cms-document-large-icon .fa{margin:0}
.cms-documents .cms-document-icon-file-pdf-o{color:#c62828}
.cms-documents .cms-document-icon-file-word-o{color:#185abd}
.cms-documents .cms-document-icon-file-excel-o{color:#187744}
.cms-documents .cms-document-large-icon + .cms-document-title{display:block;text-align:center}
.cms-documents.cms-documents-align-left{--cms-document-align:left}
.cms-documents.cms-documents-align-center{--cms-document-align:center}
.cms-documents.cms-documents-align-right{--cms-document-align:right}
.cms-documents[class*="cms-documents-align-"] .cms-document,
.cms-documents[class*="cms-documents-align-"] .cms-document-link,
.cms-documents[class*="cms-documents-align-"] .cms-document-title,
.cms-documents[class*="cms-documents-align-"] .cms-document-large-icon,
.cms-documents[class*="cms-documents-align-"] .cms-document p{text-align:var(--cms-document-align)}
.cms-documents[class*="cms-documents-align-"] .cms-document-card img{object-position:var(--cms-document-align) center}
/* Auto margins centred the icon box even when its text was left/right aligned. */
.cms-documents.cms-documents-align-left .cms-document-large-icon{margin-left:0;margin-right:auto}
.cms-documents.cms-documents-align-center .cms-document-large-icon{margin-left:auto;margin-right:auto}
.cms-documents.cms-documents-align-right .cms-document-large-icon{margin-left:auto;margin-right:0}
.cms-documents[class*="cms-documents-align-"] .cms-document-action{text-align:var(--cms-document-align)}
/* Only the action is a button; keep the card's title, icon and description plain. */
.cms-documents .cms-document .cms-document-link.cms-document-has-button{background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;color:inherit;font:inherit;text-transform:none;letter-spacing:normal;text-decoration:none}
.cms-documents .cms-document-action-button{display:inline-block;width:auto;max-width:100%;min-width:0;min-height:0;padding:6px 12px;border-radius:4px;font-size:inherit;line-height:1.4;white-space:normal;text-transform:none;letter-spacing:normal}
.cms-documents .cms-document-has-button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(min-width:768px){
 .cms-documents:not(.cms-documents-layout-list).cms-documents-cols-2,
 .cms-documents:not(.cms-documents-layout-list).cms-documents-cols-3,
 .cms-documents:not(.cms-documents-layout-list).cms-documents-cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1200px){
 .cms-documents:not(.cms-documents-layout-list).cms-documents-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
 .cms-documents:not(.cms-documents-layout-list).cms-documents-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
.cms-document-viewer{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px}
.cms-document-viewer .cms-document-viewer-panel{box-sizing:border-box;background:#fff;color:#222;width:100%;max-width:1100px;max-height:95vh;overflow:auto;padding:15px;border-radius:4px}
.cms-document-viewer .cms-document-viewer-panel iframe{display:block;width:100%;height:70vh;border:0}
.cms-document-viewer .cms-document-viewer-panel img{display:block;max-width:100%;max-height:75vh;margin:auto}
.cms-document-viewer .cms-document-viewer-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-bottom:12px}
.cms-document-viewer .cms-document-viewer-actions button{margin-left:auto}
/* Site-wide Bootstrap overrides can force white text on these white controls.
   Limit the necessary priority override to the document viewer's own buttons. */
.cms-document-viewer .cms-document-viewer-actions > .btn{display:inline-flex;align-items:center;gap:.35em;box-sizing:border-box;width:auto;min-height:32px;padding:6px 10px;background:#fff!important;color:#222!important;border:1px solid #767676!important;border-radius:4px!important;font-size:14px;line-height:1.4;text-decoration:none!important;white-space:normal}
.cms-document-viewer .cms-document-viewer-actions > .btn:hover,
.cms-document-viewer .cms-document-viewer-actions > .btn:focus,
.cms-document-viewer .cms-document-viewer-actions > .btn:active{background:#eee!important;color:#111!important}
.cms-document-viewer .cms-document-viewer-actions > .btn:focus-visible{outline:2px solid #164b82!important;outline-offset:2px}

/* PDF uses the remaining panel height; image previews keep their existing sizing. */
.cms-document-viewer-pdf .cms-document-viewer-panel{display:flex;flex-direction:column;height:85vh;height:85dvh;max-height:900px}
.cms-document-viewer-pdf .cms-document-viewer-panel iframe{flex:1 1 auto;min-height:0;height:auto;max-width:100%}
.cms-document-viewer-pdf .cms-document-viewer-actions,.cms-document-viewer-pdf .cms-document-viewer-panel>p{flex:0 0 auto}
@media(max-width:600px){
 .cms-document-viewer-pdf{padding:8px}
 .cms-document-viewer-pdf .cms-document-viewer-panel{padding:12px;height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:none}
}

/* Same-row card height comes from grid; the action uses the remaining flexible space. */
.cms-documents-layout-cards > .cms-document{display:flex;flex-direction:column}
.cms-documents-layout-cards > .cms-document > .cms-document-link{display:flex;flex-direction:column;flex:1 1 auto;width:100%;box-sizing:border-box}
.cms-documents-layout-cards .cms-document-title{display:block}
.cms-documents-layout-cards .cms-document-description{display:block;margin:.5em 0;white-space:normal;overflow-wrap:anywhere}
.cms-documents-layout-cards .cms-document-action{margin-top:auto;padding-top:.5em}
