/* THX footer + subfooter + back to top (2026-11) */
footer#footer.footer-area { position: relative; isolation: isolate; overflow: hidden; background-color: #153d6c !important; color: rgba(255,255,255,.82); }
footer#footer.footer-area::before { content: ""; position: absolute; z-index: -1; top: 0; right: -8%; width: 70%; height: 100%; background: url("footer-topo.svg") center / cover no-repeat; opacity: .9; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 45%); mask-image: linear-gradient(90deg, transparent 0%, #000 45%); }
footer#footer .footer-credit { padding-top: 3rem; padding-bottom: 1.25rem; }
footer#footer .list-group-item { background: transparent; border: 0; padding: .3rem 0; color: rgba(255,255,255,.82); font-size: .92rem; }
footer#footer .list-group-item.text-uppercase.fw-bolder { padding: 0 0 .85rem; margin: 0 !important; font-size: .7rem; font-weight: 700 !important; letter-spacing: .18em; color: #8cc3ee; }
footer#footer .list-group-item a.text-white { color: rgba(255,255,255,.86) !important; text-decoration: none; background: linear-gradient(currentColor, currentColor) left bottom / 0 1px no-repeat; padding-bottom: 2px; transition: background-size .35s cubic-bezier(.25,1,.5,1), color .2s; }
footer#footer .list-group-item a.text-white:hover, footer#footer .list-group-item a.text-white:focus-visible { color: #fff !important; background-size: 100% 1px; }
footer#footer .list-group-item a.text-white:focus-visible { outline: 2px solid #8cc3ee; outline-offset: 3px; border-radius: 2px; }
footer#footer .border-top.small2, footer#footer .small2 { color: rgba(255,255,255,.6) !important; font-size: .78rem; line-height: 1.65; }
footer#footer .border-top.small2 { margin-top: 2rem !important; padding-top: 1.4rem !important; border-color: rgba(255,255,255,.14) !important; }

footer#footer .bgcolor11 { background-color: #0d2a4c !important; border-top: 1px solid rgba(255,255,255,.07); padding-top: 1.1rem !important; padding-bottom: 1.1rem !important; }
footer#footer .bgcolor11 .list-group-horizontal { display: flex; align-items: center; justify-content: space-between; width: 100%; }
footer#footer .bgcolor11 .list-group-item { padding: 0; margin: 0 !important; }
footer#footer .bgcolor11 .list-group-item { flex-shrink: 0; }
footer#footer .bgcolor11 img { height: 40px; width: auto; max-width: none; opacity: .9; transition: opacity .2s; }
footer#footer .bgcolor11 a:hover img { opacity: 1; }
footer#footer .bgcolor11 .text-uppercase, footer#footer .bgcolor11 .list-group-item.my-2 { margin: 0 !important; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase; color: rgba(255,255,255,.55); }
footer#footer .d-lg-none.bgcolor11 .list-group-item.my-2 { margin-top: .7rem !important; }

.thx-top { position: fixed; right: 24px; bottom: 24px; z-index: 1040; width: 52px; height: 52px; padding: 0; border: 0; border-radius: 50%; background: #0f2f57; color: #fff; cursor: pointer; box-shadow: 0 12px 28px -10px rgba(10,30,60,.6); opacity: 0; transform: translateY(14px) scale(.92); pointer-events: none; transition: opacity .35s cubic-bezier(.25,1,.5,1), transform .35s cubic-bezier(.25,1,.5,1), background-color .2s; }
.thx-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.thx-top:hover { background: #3673b9; transform: translateY(-3px); }
.thx-top:focus-visible { outline: 3px solid #8cc3ee; outline-offset: 3px; }
.thx-top svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.thx-top__ring { transform: rotate(-90deg); }
.thx-top__track { fill: none; stroke: rgba(255,255,255,.14); stroke-width: 2.5; }
.thx-top__bar { fill: none; stroke: #8cc3ee; stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 150.8; stroke-dashoffset: 150.8; }
.thx-top__arrow { padding: 15px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; transition: transform .3s cubic-bezier(.25,1,.5,1); }
.thx-top:hover .thx-top__arrow { transform: translateY(-2px); }
@media (max-width: 767px) { .thx-top { right: 16px; bottom: 16px; width: 46px; height: 46px; } .thx-top__arrow { padding: 13px; } }
@media (prefers-reduced-motion: reduce) { .thx-top, .thx-top__arrow, footer#footer .list-group-item a.text-white { transition: none; } }
