/* =========================================================
   STAPHYLOCOCCI MEET-2027
   COMPLETE FOOTER THEME — LIGHT PURPLE PALETTE
========================================================= */


/* =========================================================
   STAPHYLOCOCCI MEET-2027
   COMPLETE FOOTER THEME — LIGHT PURPLE PALETTE
========================================================= */


/* =========================================================
   ROOT THEME
========================================================= */

:root {

    /* =====================================================
       BRAND COLORS
    ===================================================== */

    --staph-primary: #7024AA;
    --staph-primary-dark: #67209C;
    --staph-primary-deep: #69209D;
    --staph-primary-hover: #7223A7;
    --staph-primary-accent: #7526AD;
    --staph-primary-light: #9A59C9;
    --staph-primary-gradient: #8B3FC0;
    --staph-primary-nav: #6F25A5;


    /* =====================================================
       TEXT COLORS
    ===================================================== */

    --staph-text: #18213D;
    --staph-heading: #17213C;
    --staph-nav-text: #222940;
    --staph-kicker: #303951;
    --staph-label: #343C52;
    --staph-time: #252D43;
    --staph-muted: #60677B;


    /* =====================================================
       BACKGROUND COLORS
    ===================================================== */

    --staph-footer-bg: #F8F6FC;
    --staph-footer-bg-light: #FCFAFF;
    --staph-footer-bg-purple: #F2EAF9;


    /* =====================================================
       SOFT PURPLE BACKGROUNDS
    ===================================================== */

    --staph-soft-purple: rgba(116, 41, 170, 0.10);
    --staph-soft-purple-light: rgba(116, 41, 170, 0.06);
    --staph-soft-lavender: rgba(215, 185, 244, 0.25);
    --staph-soft-lavender-light: rgba(170, 110, 218, 0.03);

    --staph-white: var(--staph-white);
    --staph-white-glass: var(--staph-white-glass);
    --staph-white-glass-light: rgba(255, 255, 255, 0.72);
    --staph-white-overlay: var(--staph-white-overlay);
    --staph-white-overlay-soft: rgba(255, 255, 255, 0.35);


    /* =====================================================
       BORDERS
    ===================================================== */

    --staph-border: rgba(103, 42, 157, 0.13);
    --staph-border-strong: rgba(103, 42, 157, 0.25);
    --staph-border-soft: rgba(103, 42, 157, 0.08);
    --staph-border-divider: rgba(105, 41, 153, 0.20);
    --staph-white-border: var(--staph-white-border);


    /* =====================================================
       SHADOWS
    ===================================================== */

    --staph-shadow:
        0 10px 35px rgba(86, 37, 130, 0.07);

    --staph-shadow-soft:
        0 5px 20px rgba(86, 37, 130, 0.05);

    --staph-shadow-primary:
        0 12px 25px rgba(103, 31, 157, 0.22);


    /* =====================================================
       COMPATIBILITY VARIABLES
       Keeps existing footer class names working.
    ===================================================== */

    --tb-navy: var(--staph-primary-deep);
    --tb-dark-blue: var(--staph-primary);

    --tb-teal: var(--staph-primary);
    --tb-teal-dark: var(--staph-primary-dark);
    --tb-teal-light: var(--staph-primary-light);

    --tb-cyan: var(--staph-primary-light);
    --tb-cyan-light: var(--staph-soft-lavender);

    --tb-footer-bg: var(--staph-footer-bg);
    --tb-footer-bg-light: var(--staph-footer-bg-light);
    --tb-footer-bg-blue: var(--staph-footer-bg-purple);

    --tb-text: var(--staph-text);
    --tb-text-soft: var(--staph-muted);
    --tb-text-muted: #7D7890;

    --tb-border: var(--staph-border);
    --tb-border-strong: var(--staph-border-strong);
    --tb-white-border: var(--staph-white-border);

    --tb-glass:
        var(--staph-white-glass);

    --tb-shadow:
        var(--staph-shadow);

    --tb-shadow-soft:
        var(--staph-shadow-soft);
}


/* =========================================================
   FOOTER MAIN
========================================================= */

footer.site-footer {

    position: relative;

    isolation: isolate;

    overflow: hidden;

    width: 100%;

    background:

        /* Cyan glow */
        radial-gradient(
            circle at 10% 20%,
            rgba(154, 89, 201, 0.15) 0%,
            transparent 28%
        ),

        /* Teal glow */
        radial-gradient(
            circle at 90% 70%,
            var(--staph-soft-purple-light) 0%,
            transparent 30%
        ),

        /* Central glow */
        radial-gradient(
            ellipse at 50% 40%,
            var(--staph-white-overlay) 0%,
            rgba(242, 234, 249, 0.70) 45%,
            transparent 75%
        ),

        linear-gradient(
            135deg,
            var(--tb-footer-bg-blue) 0%,
            var(--tb-footer-bg-light) 48%,
            var(--tb-footer-bg-blue) 100%
        );

    color: var(--tb-text);

    padding:
        65px 0 0;

}


/* =========================================================
   TOP DECORATIVE GLOW
========================================================= */

footer.site-footer::before {

    content: "";

    position: absolute;

    inset: 0;

    z-index: 1;

    pointer-events: none;

    background:

        radial-gradient(
            circle at 50% 0%,
            rgba(154, 89, 201, 0.14),
            transparent 40%
        ),

        linear-gradient(
            110deg,
            var(--staph-white-overlay-soft),
            transparent 45%,
            rgba(154, 89, 201, 0.06)
        );

}


/* =========================================================
   BOTTOM GLOW
========================================================= */

footer.site-footer::after {

    content: "";

    position: absolute;

    left: -10%;
    bottom: -180px;

    width: 120%;
    height: 300px;

    border-radius: 50%;

    background:
        rgba(154, 89, 201, 0.10);

    filter: blur(10px);

    z-index: 0;

    pointer-events: none;

}


/* =========================================================
   WORLD MAP
========================================================= */

footer.site-footer .footer-map {

    position: absolute;

    left: 50%;
    top: 52%;

    width:
        min(1250px, 94vw);

    height: 580px;

    transform:
        translate(-50%, -50%);

    background-image:
        url("../images/red-on-white-dotted-world-map-vector.jpg");

    background-repeat: no-repeat;

    background-position:
        center center;

    background-size:
        contain;

    opacity: 0.075;

    z-index: 0;

    pointer-events: none;

    /*
       Convert reddish source map
       into a logo-derived burgundy and deep-blue appearance.
    */
    filter:
        saturate(0.55)
        hue-rotate(145deg)
        brightness(1.10);

}


/* =========================================================
   CONTENT
========================================================= */

footer.site-footer .footer-content {

    position: relative;

    z-index: 5;

}


/* =========================================================
   WRAPPER
========================================================= */

.footer-wrap {

    width: 100%;

    max-width: 1739px !important;

    margin: 0 auto !important;

    padding:
        0 40px !important;

}


/* =========================================================
   DECORATIVE MOLECULAR CIRCLES
========================================================= */

footer.site-footer .footer-orbit {

    position: absolute;

    border:
        1px solid
        var(--staph-border-soft);

    border-radius: 50%;

    pointer-events: none;

    z-index: 1;

}


footer.site-footer .footer-orbit-1 {

    width: 850px;
    height: 380px;

    left: -280px;
    top: 60px;

    transform:
        rotate(-15deg);

}


footer.site-footer .footer-orbit-2 {

    width: 850px;
    height: 380px;

    right: -280px;
    bottom: 70px;

    transform:
        rotate(15deg);

}


/* =========================================================
   TOP GRID
========================================================= */

footer.site-footer .colophon-top {

    position: relative;

    display: grid;

    grid-template-columns:
        1.5fr 1.3fr 1.2fr;

    gap: 0;

    padding:
        0 0 38px;

    border-bottom:
        1px solid
        var(--tb-border);

}


/* =========================================================
   BRAND
========================================================= */

footer.site-footer .footer-brand {

    padding:
        0 55px 0 35px;

}


footer.site-footer .footer-brand-logo {

    display: inline-flex;

    align-items: center;

    margin-bottom: 22px;

    text-decoration: none;

}


footer.site-footer .footer-logo {

    width: 170px;

    height: auto;

    max-width: 100%;

    display: block;

    object-fit: contain;

}


/* =========================================================
   BRAND ACCENT
========================================================= */

footer.site-footer .footer-brand-accent {

    width: 58px;

    height: 3px;

    margin-bottom: 20px;

    border-radius: 10px;

    background:
        linear-gradient(
            90deg,
            var(--tb-teal),
            var(--tb-cyan)
        );

    box-shadow:
        0 4px 12px
        var(--staph-shadow-primary);

}


/* =========================================================
   EVENT TITLE
========================================================= */

footer.site-footer .footer-event-title {

    max-width: 360px;

    margin: 0;

    color:
        var(--tb-dark-blue);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        1rem;

    line-height:
        1.55;

}


footer.site-footer .footer-event-title strong {

    display: block;

    margin-top: 4px;

    color:
        var(--tb-navy);

    font-size:
        1.45rem;

    line-height:
        1.3;

    font-weight:
        800;

}


footer.site-footer .footer-event-title strong span {

    color:
        var(--tb-teal);

}


/* =========================================================
   DESCRIPTION
========================================================= */

footer.site-footer .footer-description {

    max-width: 410px;

    margin:
        18px 0 0;

    color:
        var(--tb-text-soft);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        0.9rem;

    line-height:
        1.75;

    text-align:
        left;

}


/* =========================================================
   SOCIAL ICONS
========================================================= */

footer.site-footer .footer-social {

    display: flex;

    gap: 12px;

    margin-top: 25px;

}


footer.site-footer .footer-social a {

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border:
        1px solid
        var(--tb-border-strong);

    border-radius:
        50%;

    background:
        var(--staph-white-glass-light);

    color:
        var(--tb-teal);

    font-size:
        0.95rem;

    text-decoration:
        none;

    box-shadow:
        var(--tb-shadow-soft);

    transition:
        all 0.3s ease;

}


footer.site-footer .footer-social a:hover {

    color:
        var(--staph-white);

    background:
        linear-gradient(
            135deg,
            var(--tb-teal),
            var(--tb-teal-light)
        );

    border-color:
        var(--tb-teal);

    transform:
        translateY(-4px);

    box-shadow:
        0 12px 25px
        rgba(103, 31, 157, 0.22);

}


/* =========================================================
   FOOTER COLUMNS
========================================================= */

footer.site-footer .footer-column {

    padding:
        0 45px;

    border-left:
        1px solid
        var(--tb-border);

}


footer.site-footer .footer-column:last-child {

    border-right:
        0;

}


/* =========================================================
   CONFERENCE COLUMN
========================================================= */

footer.site-footer .footer-conference-column {

    padding-right:
        25px;

    border-left:
        1px solid
        var(--tb-border);

    border-right:
        1px solid
        var(--tb-border);

}


footer.site-footer .brand-1 {

    border-left:
        1px solid
        var(--tb-border);

    padding-right:
        25px;

}


/* =========================================================
   FOOTER HEADINGS
========================================================= */

footer.site-footer h4 {

    margin: 0;

    color:
        var(--tb-navy);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        0.92rem;

    letter-spacing:
        0.12em;

    text-transform:
        uppercase;

    font-weight:
        800;

}


/* =========================================================
   HEADING LINE
========================================================= */

footer.site-footer .footer-heading-line {

    width: 48px;

    height: 3px;

    margin:
        13px 0 27px;

    border-radius:
        10px;

    background:
        linear-gradient(
            90deg,
            var(--tb-teal),
            var(--tb-cyan)
        );

}


/* =========================================================
   CONTACT LIST
========================================================= */

footer.site-footer .footer-contact-list {

    display: flex;

    flex-direction:
        column;

    gap:
        15px;

}


footer.site-footer .footer-contact-item {

    display: flex;

    align-items:
        center;

    gap:
        14px;

    min-height:
        48px;

    padding-bottom:
        7px;

    border-bottom:
        1px solid
        var(--staph-border-soft);

    color:
        var(--tb-text);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        0.9rem;

}


footer.site-footer
.footer-contact-item:last-child {

    border-bottom:
        0;

}


/* =========================================================
   CONTACT ICON
========================================================= */

footer.site-footer .contact-icon {

    flex:
        0 0 42px;

    width: 42px;
    height: 42px;

    display: flex;

    align-items:
        center;

    justify-content:
        center;

    border:
        1px solid
        var(--staph-border-strong);

    border-radius:
        50%;

    background:
        var(--staph-white-glass-light);

    color:
        var(--tb-teal);

    box-shadow:
        0 4px 14px
        rgba(86, 37, 130, 0.05);

}


footer.site-footer
.footer-contact-item a {

    color:
        var(--tb-text);

    word-break:
        break-word;

    text-decoration:
        none;

    transition:
        color 0.25s ease;

}


footer.site-footer
.footer-contact-item a:hover {

    color:
        var(--tb-teal);

}


/* =========================================================
   CONFERENCE LINKS
========================================================= */

footer.site-footer .footer-links {

    display: flex;

    flex-direction:
        column;

    gap:
        0;

}


footer.site-footer .footer-links a {

    display: flex;

    align-items:
        center;

    gap:
        14px;

    padding:
        8px 0;

    color:
        var(--tb-text-soft);

    border-bottom:
        1px solid
        var(--staph-border-soft);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        0.9rem;

    text-decoration:
        none;

    transition:
        all 0.25s ease;

}


footer.site-footer
.footer-links a:last-child {

    border-bottom:
        0;

}


/* =========================================================
   LINK ARROW
========================================================= */

footer.site-footer
.footer-link-arrow {

    color:
        var(--tb-teal);

    font-size:
        0.9rem;

    transition:
        transform 0.25s ease;

}


footer.site-footer
.footer-links a:hover {

    color:
        var(--tb-teal);

    padding-left:
        6px;

}


footer.site-footer
.footer-links a:hover
.footer-link-arrow {

    transform:
        translateX(5px);

}


/* =========================================================
   BOTTOM BAR
========================================================= */

footer.site-footer .colophon-bottom {

    position: relative;

    display: flex;

    justify-content:
        space-between;

    align-items:
        center;

    flex-wrap:
        wrap;

    gap:
        20px;

    padding:
        20px 0;

    color:
        var(--tb-text-muted);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        0.72rem;

    letter-spacing:
        0.02em;

}


/* =========================================================
   BOTTOM LINKS
========================================================= */

footer.site-footer
.colophon-bottom a {

    display: inline-flex;

    align-items:
        center;

    gap:
        8px;

    color:
        var(--tb-teal);

    font-weight:
        700;

    text-decoration:
        none;

    transition:
        all 0.25s ease;

}


footer.site-footer
.colophon-bottom a:hover {

    color:
        var(--tb-teal-dark);

}


/* =========================================================
   BOTTOM ARROW
========================================================= */

footer.site-footer .footer-arrow {

    font-size:
        1rem;

    transition:
        transform 0.25s ease;

}


footer.site-footer
.colophon-bottom a:hover
.footer-arrow {

    transform:
        translateX(5px);

}


/* =========================================================
   DECORATIVE DNA / MOLECULAR ELEMENTS
========================================================= */

footer.site-footer .footer-content::before {

    content: "";

    position: absolute;

    width: 180px;
    height: 180px;

    right: 5%;
    top: 10px;

    border:
        1px solid
        var(--staph-border-soft);

    border-radius:
        50%;

    box-shadow:

        35px 35px 0
        -34px rgba(154, 89, 201, 0.06),

        -35px -35px 0
        -34px rgba(103, 31, 157, 0.05);

    pointer-events:
        none;

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

    footer.site-footer {

        padding-top:
            55px;

    }


    footer.site-footer .colophon-top {

        grid-template-columns:
            1fr 1fr;

        row-gap:
            45px;

    }


    footer.site-footer .footer-brand {

        padding-right:
            35px;

    }


    footer.site-footer
    .footer-contact-column {

        border-right:
            0;

    }


    footer.site-footer
    .footer-conference-column {

        grid-column:
            2;

    }


    footer.site-footer .footer-map {

        width:
            1050px;

        height:
            500px;

        opacity:
            0.06;

    }

}


/* =========================================================
   TABLET / SMALL LAPTOP
========================================================= */

@media (max-width: 800px) {

    .footer-wrap {

        padding:
            0 25px !important;

    }


    footer.site-footer
    .colophon-top {

        grid-template-columns:
            1fr 1fr;

    }


    footer.site-footer
    .footer-column {

        padding:
            0 25px;

    }


    footer.site-footer
    .footer-brand {

        padding:
            0 25px;

    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    footer.site-footer {

        padding-top:
            48px;

    }


    .footer-wrap {

        padding:
            0 18px !important;

    }


    footer.site-footer
    .colophon-top {

        grid-template-columns:
            1fr;

        gap:
            38px;

        padding-bottom:
            30px;

    }


    /* Brand */

    footer.site-footer
    .footer-brand {

        padding:
            0 15px;

        text-align:
            center;

    }


    footer.site-footer
    .footer-brand-logo {

        justify-content:
            center;

    }


    footer.site-footer
    .footer-brand-accent {

        margin-left:
            auto;

        margin-right:
            auto;

    }


    footer.site-footer
    .footer-event-title,
    footer.site-footer
    .footer-description {

        margin-left:
            auto;

        margin-right:
            auto;

    }


    footer.site-footer
    .footer-description {

        text-align:
            center;

    }


    footer.site-footer
    .footer-social {

        justify-content:
            center;

    }


    /* Columns */

    footer.site-footer
    .footer-column {

        padding:
            0 15px;

        border-left:
            0;

        border-right:
            0;

    }


    footer.site-footer
    .footer-contact-column {

        border-top:
            1px solid
            var(--tb-border);

        padding-top:
            30px;

    }


    footer.site-footer
    .footer-conference-column {

        grid-column:
            auto;

        border-top:
            1px solid
            var(--tb-border);

        border-left:
            0;

        border-right:
            0;

        padding-top:
            30px;

    }


    footer.site-footer
    .brand-1 {

        border-left:
            0;

        padding-right:
            15px;

    }


    /* World map */

    footer.site-footer
    .footer-map {

        width:
            850px;

        height:
            430px;

        opacity:
            0.045;

    }


    /* Bottom */

    footer.site-footer
    .colophon-bottom {

        flex-direction:
            column;

        align-items:
            center;

        justify-content:
            center;

        text-align:
            center;

        gap:
            10px;

        padding:
            18px 10px;

    }


    /* Hide decorative orbit */

    footer.site-footer
    .footer-orbit {

        display:
            none;

    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    footer.site-footer {

        padding-top:
            40px;

    }


    footer.site-footer
    .footer-logo {

        width:
            145px;

    }


    footer.site-footer
    .footer-event-title strong {

        font-size:
            1.25rem;

    }


    footer.site-footer
    .footer-social a {

        width:
            40px;

        height:
            40px;

    }


    footer.site-footer
    .footer-contact-item {

        font-size:
            0.82rem;

    }


    footer.site-footer
    .footer-links a {

        font-size:
            0.84rem;

    }

}