/* Footer public ToBeep V2.0.3 */
.public-footer {
    position: relative !important;
    overflow: hidden;
    margin: 0;
    color: rgba(255,255,255,.76) !important;
    background: linear-gradient(112deg, #10233f 0%, #071426 48%, #01050b 100%) !important;
    border: 0 !important;
    box-shadow: 0 -14px 36px rgba(3, 12, 26, .18) !important;
}
.public-footer::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #0b65ff 0%, #28a5ff 50%, #0b65ff 100%);
    box-shadow: 0 0 16px rgba(34, 139, 255, .78);
}
.public-footer::after {
    content: "";
    position: absolute;
    width: 360px;
    height: 360px;
    right: -170px;
    top: -220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(31,116,255,.13), transparent 68%);
    pointer-events: none;
}
.public-footer .container { position: relative; z-index: 1; }
.public-footer-main {
    display: grid !important;
    grid-template-columns: minmax(180px, 1.25fr) repeat(3, minmax(125px, .75fr));
    gap: 2rem;
    align-items: start !important;
    padding: 1.55rem 0 1rem !important;
}
.public-footer-brand .brand {
    display: inline-flex !important;
    align-items: center;
    min-height: 38px;
    color: #fff !important;
    font-size: 1.35rem !important;
    font-weight: 900 !important;
}
.public-footer-brand img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 150px !important;
    max-height: 54px !important;
    object-fit: contain !important;
}
.public-footer-brand p { max-width: 285px; margin: .5rem 0 .35rem !important; color: rgba(255,255,255,.64) !important; font-size: .88rem !important; line-height: 1.55; }
.public-footer-socials { display: flex; align-items: center; gap: .55rem; margin: .72rem 0 .45rem; }
.public-footer-socials a { display: inline-grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(117,184,255,.34); border-radius: 50%; background: rgba(22,89,184,.18); color: #9dceff !important; text-decoration: none !important; transition: transform .18s ease, background .18s ease, color .18s ease; }
.public-footer-socials a:hover { transform: translateY(-2px); background: rgba(37,117,230,.35); color: #fff !important; }
.public-footer-socials i { font-size: 1rem; }
.public-footer-copyright { display: block; margin-top: .15rem; color: rgba(255,255,255,.40); font-size: .68rem; font-weight: 400; line-height: 1.35; }
.public-footer-version { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .72rem; border: 1px solid rgba(48,139,255,.38); border-radius: 999px; background: rgba(19,83,184,.20); color: #75b8ff; font-size: .74rem; font-weight: 800; white-space: nowrap; }
.public-footer-column h2 { margin: .1rem 0 .78rem; color: #fff; font-size: .88rem; font-weight: 850; }
.public-footer-links { display: flex !important; flex-direction: column; align-items: flex-start; gap: .52rem !important; }
.public-footer-links a { color: rgba(255,255,255,.68) !important; font-size: .82rem !important; font-weight: 600 !important; line-height: 1.25; text-decoration: none !important; transition: color .18s ease, transform .18s ease; }
.public-footer-links a:hover { color: #65afff !important; transform: translateX(2px) !important; }
.public-footer-contact { color: rgba(255,255,255,.68); font-size: .82rem; line-height: 1.65; }
.public-footer-contact a { color: #75b8ff; text-decoration: none; }
.public-footer-bottom { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .65rem; padding: .78rem 0 .9rem !important; border-top: 1px solid rgba(255,255,255,.08) !important; text-align: center; }
@media (max-width: 991.98px) {
    .public-footer-main { grid-template-columns: 1.2fr 1fr 1fr !important; }
    .public-footer-contact-column { grid-column: 2 / 4; }
}
@media (max-width: 767.98px) {
    .public-footer-main { grid-template-columns: 1fr 1fr !important; gap: 1.5rem 1.25rem !important; padding: 1.35rem 0 .9rem !important; }
    .public-footer-brand { grid-column: 1 / -1; }
    .public-footer-contact-column { grid-column: auto; }
    .public-footer-brand img { max-width: 132px !important; max-height: 48px !important; }
}
@media (max-width: 479.98px) {
    .public-footer-main { grid-template-columns: 1fr !important; }
    .public-footer-brand, .public-footer-contact-column { grid-column: auto; }
}

.public-footer-status { display: inline-flex; align-items: center; gap: .42rem; padding: .38rem .72rem; border-radius: 999px; font-size: .72rem; font-weight: 800; line-height: 1.25; }
.public-footer-status--service { border: 1px solid rgba(52, 211, 153, .38); background: rgba(16, 185, 129, .14); color: #86efc1; }
.public-footer-status--service i { color: #34d399; }
.public-footer-status--emergency { border: 1px solid rgba(251, 146, 60, .42); background: rgba(234, 88, 12, .14); color: #fdba74; }
.public-footer-status--emergency i { color: #fb923c; }
@media (max-width: 767.98px) {
    .public-footer-bottom { gap: .5rem; }
    .public-footer-status, .public-footer-version { justify-content: center; white-space: normal; }
}
@media (max-width: 479.98px) {
    .public-footer-bottom { flex-direction: column; }
    .public-footer-status, .public-footer-version { width: 100%; max-width: 330px; }
}
