:root {
    --pao-green: #3DA862;
    --pao-green-hover: #5CC882;
    --pao-green-active: #296241;
    --primaryColor: #3DA862 !important;
    --primaryButton: #3DA862 !important;
    --buttonHovered: #5CC882 !important;
    --buttonPressed: #296241 !important;
    --buttonsBorder: #3DA862 !important;
    --tertiaryHovered: #5CC882 !important;
    --tertiaryPressed: #296241 !important;
    --linkPrimary: #3DA862 !important;
    --linkHovered: #5CC882 !important;
    --linkPressed: #296241 !important;
    --linkDark: #3DA862 !important;
    --color-purple: #3DA862 !important;
    --color-purple-hover: #5CC882 !important;
    --color-primary-purple: #3DA862 !important;
    --lightPrimary: rgba(62, 175, 63, 0.24) !important;
    --color-purple-dark-link: #296241 !important;
    --linkDecoration: none !important;
}

html {
    scrollbar-color: #3EAF3F transparent;
}

::-webkit-scrollbar-thumb {
    background-color: #3EAF3F;
}

.paobc-header {
    background: #000;
    font-family: pf_highway_sans_pro_lightRg, Arial, sans-serif;
    /* #ui-page is pulled up over the header (negative margin / stacking from the
       shared layout, which assumes a fixed .main-nav). Give the header its own
       stacking context so it paints on top. */
    position: relative;
    z-index: 1000;
}

.paobc-header__inner {
    max-width: 1234px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.paobc-header__logo {
    display: block;
    width: 49px;
    height: 45px;
}

.paobc-header__powered-by {
    display: inline-flex;
}

.paobc-header__powered-by-logo {
    display: block;
    height: 23px;
    width: auto;
}

/* ── Sticky footer layout ──────────────────────────────────────────── */
#ui-wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

#ui-page {
    flex: 1 0 auto;
}

footer.paobc-footer {
    flex-shrink: 0;
}

/* ── Footer ─────────────────────────────────────────────────────────── */
.paobc-footer {
    font-family: pf_highway_sans_pro_lightRg, Arial, sans-serif;
    font-weight: 600;
    font-size: 16px;
	margin-top: 16px;
}

/* Kill the decorative footer::before from the shared footer.css for this minisite. */
.paobc-footer::before {
    content: none !important;
    display: none !important;
}

/* ── Footer: component 1 — social bar ───────────────────────────────── */
.paobc-social {
    display: inline;
}

.paobc-social__inner {
    background: #0EE771;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 8px 32px;
    max-width: fit-content;
    margin-left: auto;
}

.paobc-social__item {
    display: inline-flex;
}

.paobc-social__item img {
    display: block;
    height: 24px;
    width: auto;
}

/* ── Footer: component 2 — main footer ──────────────────────────────── */
.paobc-footer__main {
    background: #000;
    border-top: 1.2px solid rgba(255, 255, 255, 0.24);
}

.paobc-footer__inner {
    max-width: 1234px;
    margin: 0 auto;
    padding: 40px 24px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.paobc-footer__row {
    display: flex;
    flex-direction: row;
}

.paobc-footer__row--top {
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.paobc-footer__brand {
    display: flex;
    align-items: center;
}

.paobc-footer__brand-logo {
    display: block;
    height: 50px;
    width: auto;
}

.paobc-footer__brand-divider {
    width: 1px;
    align-self: stretch;
    min-height: 32px;
    margin: 0 12px;
    background: #fff;
}

.paobc-footer__nav {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}

.paobc-footer__nav-link {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}

.paobc-footer__nav-link:hover {
    text-decoration: none;
}

.paobc-footer__legal {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Footer: language switcher (hover to reveal the other language) ─── */
.paobc-lang-switcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.paobc-lang-switcher__label {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}

.paobc-lang-switcher__current-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.paobc-lang-switcher__current {
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: underline;
    white-space: nowrap;
}

.paobc-lang-switcher__current:hover {
    text-decoration: underline;
}

.paobc-lang-switcher__menu {
    position: absolute;
    left: 0;
    top: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease;
    z-index: 10;
}

.paobc-lang-switcher:hover .paobc-lang-switcher__menu,
.paobc-lang-switcher:focus-within .paobc-lang-switcher__menu,
.paobc-lang-switcher--open .paobc-lang-switcher__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.paobc-lang-switcher__link {
    display: block;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none !important;
    white-space: nowrap;
}

.paobc-footer__divider {
    height: 1px;
    margin: 16px 0;
    background: rgba(255, 255, 255, 0.24);
}

.paobc-footer__legal-row {
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.paobc-footer__nav--legal {
    gap: 24px;
}

.paobc-footer__powered-by {
    display: inline-flex;
}

.paobc-footer__powered-by img {
    display: block;
    height: 23px;
    width: auto;
    max-width: 204px;
}

.cc-btn, .cc-btn--reject,
.cc-btn:link, .cc-btn--reject:link,
.eb-button--primary {
    background-color: var(--pao-green) !important;
    &:hover:not([disabled]):not(.eb-button--disabled) {
        background-color: var(--pao-green-hover) !important;
    }
    &:active:not([disabled]):not(.eb-button--disabled) {
        background-color: var(--pao-green-active) !important;
    }
}

.moreInfo,
.eb-button--link-primary {
    color: var(--pao-green) !important;

    &:hover{
        color: var(--pao-green-hover) !important;
    }

    &:active {
        color: var(--pao-green-active) !important;
    }
}

.cc-type__title input:checked + label:after {
    border-bottom-color: var(--pao-green);
    border-left-color: var(--pao-green);
}

.eb-button--green-border,
.eb-button--green-border:link,
.eb-button--green-border:visited {
    color: var(--pao-green) !important;
    -webkit-box-shadow: 0 0 0 1px inset var(--pao-green) !important;
    -moz-box-shadow: 0 0 0 1px inset var(--pao-green) !important;
    box-shadow: 0 0 0 1px inset var(--pao-green) !important;
}

.eb-button--green-border:hover,
.eb-button--green-border:focus {
    color: var(--pao-green-hover) !important;
    -webkit-box-shadow: 0 0 0 1px inset var(--pao-green-hover) !important;
    -moz-box-shadow: 0 0 0 1px inset var(--pao-green-hover) !important;
    box-shadow: 0 0 0 1px inset var(--pao-green-hover) !important;
}


/* ── Responsive: nav menus collapse to vertical on mobile ───────────── */
@media (max-width: 768px) {
    .paobc-footer__row--top {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .paobc-footer__nav {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .paobc-footer__legal-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .paobc-footer__divider {
        display: none;
    }

    .paobc-lang-switcher {
        margin-bottom: 16px;
    }
}

@media (max-width: 1026px) {
    .paobc-footer__row--top {
        flex-direction: column;
        place-items: baseline;
    }
}

@media (max-width: 767px) {
    .paobc-social__inner {
        width: 100%;
        max-width: unset;
        justify-content: center;
    }

    .paobc-header__inner {
        padding: 16px;
    }

    .paobc-footer__inner,
    .paobc-social__inner {
        padding-left: 16px;
        padding-right: 16px;
    }
}