:root {
        --pp-purple: #6C0DC4;
        --pp-pink:   #FF4392;
        --pp-yellow: #FFDE59;
        --pp-green:  #C8DF67;
        --pp-lilac:  #A68ED6;
    }

.public-navbar {
        background: var(--pp-purple);
        position: sticky;
        top: 0;
        z-index: 1030;
    }

.public-navbar .navbar-brand img {
        height: 44px;
        width: auto;
    }

.public-navbar .nav-link {
        color: rgba(255,255,255,0.88) !important;
        font-weight: 500;
        transition: color 0.15s;
    }

.public-navbar .nav-link:hover,
    .public-navbar .nav-link.active-link {
        color: var(--pp-yellow) !important;
    }

.public-navbar .navbar-toggler {
        border-color: rgba(255,255,255,0.4);
    }

.public-navbar .navbar-toggler-icon {
        filter: invert(1);
    }

.btn-pp-primary {
        background-color: var(--pp-purple);
        border-color: var(--pp-purple);
        color: #fff;
    }

.btn-pp-primary:hover {
        background-color: #5a0aa3;
        border-color: #5a0aa3;
        color: #fff;
    }

.btn-pp-pink {
        background-color: var(--pp-pink);
        border-color: var(--pp-pink);
        color: #fff;
    }

.btn-pp-pink:hover {
        background-color: #e03070;
        border-color: #e03070;
        color: #fff;
    }

.btn-outline-pp {
        border-color: var(--pp-purple);
        color: var(--pp-purple);
    }

.btn-outline-pp:hover {
        background-color: var(--pp-purple);
        color: #fff;
    }

.public-footer {
        background: var(--pp-purple);
        color: rgba(255,255,255,0.8);
    }

.public-footer a { color: var(--pp-yellow); }

/* Google Maps info window wrapper, shared by public map pages (was inline) */
.gm-style .pub-iw { min-width: 220px; padding: 0 10px 9px; }

#cookieBanner { z-index: 1080; }
