
    .ts-footer {
        border-top-left-radius: 14px;
        border-top-right-radius: 14px;
        /*margin-top: 45px;*/
        padding: 46px 0 22px;
        background:
            radial-gradient(circle at top left, rgba(49, 203, 169, .16), transparent 34%),
            linear-gradient(180deg, #111936 0%, #090d1d 100%);
        border-top: 1px solid rgba(255,255,255,.08);

    }

    .ts-footer-main {
        display: grid;
        grid-template-columns: 1.4fr 1fr 1fr 1fr;
        gap: 32px;
    }

    .ts-footer-logo {
        display: inline-flex;
        color: #fff;
        font-size: 22px;
        font-weight: 900;
        text-decoration: none;
        margin-bottom: 12px;
    }

    .ts-footer-text {
        color: rgb(255, 255, 255) !important;
        font-size: 14px;
        line-height: 1.7;
        max-width: 330px;
        margin-bottom: 18px;
    }

    .ts-footer-apps {
        display: flex;
        gap: 10px;
        flex-wrap: wrap;
    }

    .ts-footer-apps img {
        height: 40px;
        width: auto;
        transition: .2s ease;
    }

    .ts-footer-apps img:hover {
        transform: translateY(-2px);
    }

    .ts-footer-col h2 {
        margin-top: -7px;
        color: #31cba9 !important;
        font-size: 15px;
        margin-bottom: 15px;
    }

    .ts-footer-col ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .ts-footer-col li {
        margin-bottom: 10px;
    }

    .ts-footer-col a {
        color: rgb(255, 255, 255);
        font-size: 14px;
        text-decoration: none;
        transition: .2s ease;
    }

    .ts-footer-col a:hover {
        color: var(--ts-accent, #31cba9);
        padding-left: 3px;
    }

    .ts-footer-socials {
        display: flex;
        gap: 10px;
        margin-top: 18px;
    }

    .ts-footer-socials a {
        width: 38px;
        height: 38px;
        border-radius: 13px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,.07);
        border: 1px solid rgba(255,255,255,.1);
        color: #fff;
    }

    .ts-footer-socials a:hover {
        background: var(--ts-accent, #31cba9);
        color: #07101f;
        padding-left: 0;
    }

    .ts-footer-bottom {
        margin-top: 34px;
        padding-top: 20px;
        border-top: 1px solid rgba(255,255,255,.08);
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 15px;
    }

    .ts-footer-bottom p {
        margin: 0;
        color: rgb(255, 255, 255) !important;
        font-size: 13px;
    }

    .ts-footer-discover-btn {
        padding: 10px 16px;
        border-radius: 999px;
        background: var(--ts-accent, #31cba9);
        color: #07101f;
        font-size: 13px;
        font-weight: 900;
        text-decoration: none;
    }

    @media (max-width: 991px) {
        .ts-footer-main {
            grid-template-columns: 1fr 1fr;
        }
    }

    @media (max-width: 575px) {
        .ts-footer {
            padding-bottom: 90px;
        }

        .ts-footer-main {
            grid-template-columns: 1fr;
            gap: 24px;
        }

        .ts-footer-bottom {
            flex-direction: column;
            align-items: flex-start;
        }

        .ts-footer-discover-btn {
            width: 100%;
            text-align: center;
        }
    }

/* The three TicketSystem sections, grouped at the end of the public footer. */
.ts-footer-services{display:flex;align-items:stretch;gap:5px;max-width:100%;padding:5px;border:1px solid #527cda;border-radius:999px;background:#162b50;box-shadow:inset 0 1px 0 #ffffff0a}
.ts-footer .ts-footer-service{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:999px;color:#eaf1ff;text-decoration:none;font-size:13px;font-weight:700;line-height:1.5;transition:background .18s,color .18s,box-shadow .18s}
.ts-footer-service svg{flex-shrink:0}.ts-footer-service span{overflow-wrap:anywhere}
.ts-footer .ts-footer-service--tickets{background:#3675ee;color:#fff;box-shadow:0 3px 12px #071d3a25}
.ts-footer .ts-footer-service:hover{background:#29487c;color:#fff}.ts-footer .ts-footer-service--tickets:hover{background:#2162d9}
.ts-footer .ts-footer-service:focus-visible{outline:3px solid #a1c7ff;outline-offset:3px}
html.white-mode .ts-footer-services{background:#e9f0ff;border-color:#bdd0f2;box-shadow:0 4px 14px #16376a08}
html.white-mode .ts-footer .ts-footer-service{color:#25436b}html.white-mode .ts-footer .ts-footer-service:hover{background:#d8e5ff;color:#143c83}
html.white-mode .ts-footer .ts-footer-service--tickets,html.white-mode .ts-footer .ts-footer-service--tickets:hover{background:#2467df;color:#fff}
@media(max-width:767px){.ts-footer .ts-footer-bottom{flex-wrap:wrap}.ts-footer-services{margin-left:0}.ts-footer .ts-footer-service{padding-inline:14px}}
@media(max-width:575px){.ts-footer-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:20px}.ts-footer .ts-footer-service{flex-direction:column;gap:5px;padding:10px 5px;min-height:66px;font-size:12px;border-radius:15px;text-align:center}}
@media(prefers-reduced-motion:reduce){.ts-footer .ts-footer-service{transition:none}}
