/* Footer presentation; all content and links remain editable in Drupal. */
footer[role="contentinfo"] { background: #123d50 !important; color: #e0eff2 !important; border-top: 5px solid #e4d63b; margin-top: 3rem; }
footer[role="contentinfo"] .footer-columns { row-gap: 2rem; }
footer[role="contentinfo"] .footer-columns > div { min-width: 0; }
footer[role="contentinfo"] h2 { color: #fff; font-size: 1.15rem; line-height: 1.4; font-weight: 700; margin-bottom: 1rem; }
footer[role="contentinfo"] p { line-height: 1.7; overflow-wrap: anywhere; }
footer[role="contentinfo"] a, footer[role="contentinfo"] .nav-link { color: #e0eff2; text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
footer[role="contentinfo"] a:hover { color: #fff; }
footer[role="contentinfo"] a:focus-visible, footer[role="contentinfo"] input:focus-visible { outline: 3px solid #e4d63b; outline-offset: 3px; }
footer[role="contentinfo"] ul.nav { flex-direction: column; align-items: flex-start; gap: .25rem; }
footer[role="contentinfo"] .nav-link { padding: .4rem 0; }
footer[role="contentinfo"] .block + .block { margin-top: 1.5rem; }
footer[role="contentinfo"] form { max-width: 100%; }
footer[role="contentinfo"] .form-item { min-width: 0; width: 100%; }
footer[role="contentinfo"] input[type="search"] { width: 100%; max-width: 100%; min-width: 0; background: #fff; color: #123d50; }
footer[role="contentinfo"] .form-submit { margin-top: .5rem; background: #e4d63b; color: #123d50; border-color: #e4d63b; }
footer[role="contentinfo"] #block-vttl-b5subtheme-powered-by-drupal { font-size: .85rem; }
@media(max-width:767.98px) { footer[role="contentinfo"] .footer-columns > div + div { border-top: 1px solid #47717e; padding-top: 1.5rem; } }
.vttl-footer-bottom { width:100%; background:#0c2e3d; border-top:1px solid #47717e; padding:1.5rem 0; }
.vttl-footer-bottom .region { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.5rem 2rem; }
footer .vttl-footer-bottom .block { margin:0; min-width:0; }
footer .vttl-footer-bottom ul.nav { flex-direction:row; gap:1.25rem; }
.vttl-footer-bottom .block-search { flex:1 1 16rem; max-width:24rem; }
.vttl-footer-bottom h2 { font-size:1rem; margin-bottom:.5rem; }
.vttl-social-links { display:flex; flex-wrap:wrap; gap:.65rem; padding:0; margin:0; list-style:none; }
.vttl-social-links a { display:flex; gap:.4rem; align-items:center; min-height:44px; padding:.4rem .6rem; border:1px solid #47717e; border-radius:.5rem; }
.vttl-social-links svg { flex-shrink:0; }
@media(max-width:767.98px){ .vttl-footer-bottom .region {flex-direction:column; align-items:stretch;} .vttl-footer-bottom .block-search {flex:auto;max-width:none;} }
