/* Minimal public additions. Bootstrap owns typography, colours, grids and controls. */
.persilian-public :where(main, header, footer) { overflow-wrap: anywhere; }
.persilian-public :where(main .row > *, main .card-body) { min-width: 0; }
.persilian-public main :where(img, video, iframe, svg) { max-width: 100%; }
.persilian-public main :where(img, video) { height: auto; }
.persilian-public main pre { max-width: 100%; overflow-x: auto; }
.persilian-public :where(.plain_page_content, .interior_body_content, .news-detail-content, .contact-enquiry-intro) table { display: block; max-width: 100%; overflow-x: auto; }
.persilian-public #plain_page_photos { display: flex; flex-direction: column; gap: 1.25rem; }
.persilian-public #plain_page_photos > figure { margin: 0; }
.persilian-public .form-input-container { margin-block-end: 1rem; }
.persilian-public :where(label.error, .error_msg) { color: var(--bs-danger-text-emphasis); }
.persilian-public :focus-visible { outline: 2px solid var(--bs-emphasis-color); outline-offset: 3px; }
.persilian-public .news-list-photo { display: block; }
.persilian-public .news-list-item { padding-block: 1.5rem; border-bottom: 1px solid var(--bs-border-color); }
.persilian-public .news_year_menu { display: flex; flex-wrap: wrap; gap: .8rem; margin-block: 1.5rem; }
