/* UNIPULER PUBLIC PAGES CSS QUALITY V1
   Corrects visibility, contrast, text clipping and spacing without changing
   page content, section order, imagery, routes or the centralized shell.
*/

:root {
    --upq-ink: #071521;
    --upq-muted: #40566a;
    --upq-muted-strong: #31495d;
    --upq-light-text: #dcebed;
    --upq-line: rgba(7, 21, 33, .12);
}

body.uni-public-shell-body [data-upp-page-scope] [data-reveal],
body.uni-public-shell-body [data-upp-page-scope] .reveal {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

body.uni-public-shell-body .v2d-related {
    padding-block: clamp(68px, 7vw, 108px) !important;
    color: #ffffff !important;
    background:
        radial-gradient(circle at 12% 15%, rgba(56, 178, 172, .22), transparent 28%),
        radial-gradient(circle at 88% 72%, rgba(47, 137, 196, .16), transparent 30%),
        linear-gradient(135deg, #061925 0%, #092d3a 100%) !important;
}

body.uni-public-shell-body .v2d-related__heading {
    margin-bottom: clamp(28px, 4vw, 44px) !important;
}

body.uni-public-shell-body .v2d-related__heading h2 {
    color: #ffffff !important;
    line-height: 1.02 !important;
}

body.uni-public-shell-body .v2d-related__heading p {
    color: #d4e5e8 !important;
    line-height: 1.65 !important;
}

body.uni-public-shell-body .v2d-related__eyebrow,
body.uni-public-shell-body .v2d-related__label {
    color: #8ce9e4 !important;
}

body.uni-public-shell-body .v2d-related__grid {
    gap: clamp(16px, 2vw, 24px) !important;
}

body.uni-public-shell-body .v2d-related__card {
    min-height: 210px !important;
    padding: clamp(22px, 2.4vw, 30px) !important;
    border-color: rgba(255, 255, 255, .18) !important;
    background: rgba(255, 255, 255, .09) !important;
    color: #ffffff !important;
}

body.uni-public-shell-body .v2d-related__card:hover,
body.uni-public-shell-body .v2d-related__card:focus-visible,
body.uni-public-shell-body .v2d-related__card.is-v2d-visible {
    background: rgba(255, 255, 255, .14) !important;
}

body.uni-public-shell-body .v2d-related__content strong {
    color: #ffffff !important;
    line-height: 1.18 !important;
}

body.uni-public-shell-body .v2d-related__content > span:last-child {
    color: #d1e1e5 !important;
    line-height: 1.6 !important;
}

body.uni-public-shell-body [data-upp-page-scope] :is(.btn, .sitebtn, .form-btn, .hero-btn),
body.uni-public-shell-body #main-content [data-upp-page] :is(.btn, .sitebtn, .form-btn, .hero-btn) {
    height: auto !important;
    min-height: 44px !important;
    padding-block: .7rem !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
}

body.uni-public-shell-body [data-upp-page-scope] > section:not(.hero):not(.darkSection):not(.closing):not(.v2d-related) :is(p, li),
body.uni-public-shell-body #main-content .bodycontent[data-upp-page] .upp1-adapter :is(.section-content p, .card-text, .accordion-body, .pri-content p, .pri-content li) {
    color: var(--upq-muted) !important;
    line-height: 1.68 !important;
}

body.uni-public-shell-body #main-content .bodycontent[data-upp-page] .upp1-adapter :is(.section-content p, .card-text, .accordion-body) {
    font-size: clamp(.92rem, .18vw + .88rem, 1rem) !important;
}

body[data-upp-page="about-us"] [data-upp-page-scope="about-us"] :is(.architecture, .darkSection) :is(h2, h3, h4, b, strong) {
    color: #ffffff !important;
}

body[data-upp-page="about-us"] [data-upp-page-scope="about-us"] :is(.architecture, .darkSection) :is(p, li, span) {
    color: #d8e8eb !important;
}

body[data-upp-page="about-us"] [data-upp-page-scope="about-us"] .architecture {
    padding: clamp(24px, 3vw, 38px) !important;
}

body[data-upp-page="about-us"] [data-upp-page-scope="about-us"] :is(.flowCard, .securePanel, .closing) {
    padding: clamp(18px, 2vw, 26px) !important;
}

body[data-upp-page="statement-redesign"] [data-upp-page-scope="statement-redesign"] .faq-item {
    padding: clamp(18px, 2vw, 24px) !important;
    border: 1px solid var(--upq-line) !important;
    border-radius: 18px !important;
    background: #f8fbfc !important;
}

body[data-upp-page="statement-redesign"] [data-upp-page-scope="statement-redesign"] .faq-item h3 {
    color: var(--upq-ink) !important;
    line-height: 1.3 !important;
}

body[data-upp-page="statement-redesign"] [data-upp-page-scope="statement-redesign"] .faq-item p {
    color: var(--upq-muted) !important;
    line-height: 1.6 !important;
}

body[data-upp-page="sustainability"] [data-upp-page-scope="sustainability"] .cta {
    padding: clamp(22px, 3vw, 34px) !important;
    gap: clamp(18px, 3vw, 32px) !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    background: rgba(255, 255, 255, .055) !important;
}

body[data-upp-page="sustainability"] [data-upp-page-scope="sustainability"] .cta > div:first-child :is(h2, h3, strong) {
    color: #ffffff !important;
}

body[data-upp-page="sustainability"] [data-upp-page-scope="sustainability"] .cta > div:first-child p {
    color: #d8e8eb !important;
    line-height: 1.65 !important;
}

body[data-upp-page="sustainability"] [data-upp-page-scope="sustainability"] .meta-box {
    padding: 16px !important;
    border-color: rgba(7, 21, 33, .11) !important;
    background: #ffffff !important;
}

body[data-upp-page="sustainability"] [data-upp-page-scope="sustainability"] .meta-box strong {
    color: var(--upq-ink) !important;
}

body[data-upp-page="sustainability"] [data-upp-page-scope="sustainability"] .meta-box span {
    color: var(--upq-muted) !important;
}

body[data-upp-page="join-as-supplier"] [data-upp-page-scope="join-as-supplier"] .faq-item,
body[data-upp-page="sell-on-unipuler"] [data-upp-page-scope="sell-on-unipuler"] .faq-card {
    padding: clamp(18px, 2vw, 24px) !important;
    border: 1px solid var(--upq-line) !important;
    border-radius: 18px !important;
    background: #ffffff !important;
}

body[data-upp-page="join-as-supplier"] [data-upp-page-scope="join-as-supplier"] .faq-item :is(h3, strong),
body[data-upp-page="sell-on-unipuler"] [data-upp-page-scope="sell-on-unipuler"] .faq-card summary {
    color: var(--upq-ink) !important;
    line-height: 1.35 !important;
}

body[data-upp-page="join-as-supplier"] [data-upp-page-scope="join-as-supplier"] .faq-item p,
body[data-upp-page="sell-on-unipuler"] [data-upp-page-scope="sell-on-unipuler"] .faq-body {
    color: var(--upq-muted) !important;
    line-height: 1.62 !important;
}

body[data-upp-page="join-as-supplier"] [data-upp-page-scope="join-as-supplier"] .cta,
body[data-upp-page="sell-on-unipuler"] [data-upp-page-scope="sell-on-unipuler"] :is(.plan, .cta-card, .closing-band) {
    padding: clamp(22px, 3vw, 34px) !important;
}

body[data-upp-page="associate-program"] [data-upp-page-scope="associate-program"] .strip :is(h2, h3, strong),
body[data-upp-page="delivery-partnership"] [data-upp-page-scope="delivery-partnership"] .banner-block .cnt :is(h2, h3, strong) {
    color: #ffffff !important;
}

body[data-upp-page="associate-program"] [data-upp-page-scope="associate-program"] .strip p,
body[data-upp-page="delivery-partnership"] [data-upp-page-scope="delivery-partnership"] .banner-block .cnt p {
    color: #d8e8eb !important;
    line-height: 1.65 !important;
}

body[data-upp-page="delivery-partnership"] [data-upp-page-scope="delivery-partnership"] :is(.panel, .feature, .related-item, .faq-item) {
    height: auto !important;
    min-height: 0 !important;
}

body.uni-public-shell-body #main-content .upp1-page--consultancy .upp1-adapter .accordion-button,
body.uni-public-shell-body #main-content .upp1-page--policy .upp1-adapter .accordion-button {
    min-height: 58px !important;
    padding: 16px 4px !important;
    color: var(--upq-ink) !important;
    font-size: clamp(.94rem, .18vw + .9rem, 1.02rem) !important;
    line-height: 1.4 !important;
}

body.uni-public-shell-body #main-content .upp1-page--consultancy .upp1-adapter .accordion-body,
body.uni-public-shell-body #main-content .upp1-page--policy .upp1-adapter .accordion-body {
    padding: 4px 4px 24px !important;
    color: var(--upq-muted) !important;
    font-size: clamp(.92rem, .18vw + .88rem, 1rem) !important;
    line-height: 1.7 !important;
}

body.uni-public-shell-body #main-content .upp1-page--consultancy .upp1-adapter :is(.card-body, .section-content),
body.uni-public-shell-body #main-content .upp1-page--policy .upp1-adapter :is(.card-body, .section-content) {
    min-width: 0;
}

body.uni-public-shell-body #main-content .upp1-page--consultancy .card-body {
    padding: clamp(18px, 2vw, 24px) !important;
}

body.uni-public-shell-body #main-content .bodycontent[data-upp-page] .bottom-contact {
    padding-block: clamp(54px, 7vw, 88px) !important;
}

body.uni-public-shell-body #main-content .bodycontent[data-upp-page] .bottom-contact img {
    width: min(100%, 440px) !important;
    max-height: 430px !important;
    object-fit: cover !important;
}

body.uni-public-shell-body #main-content .upp1-page--policy .upp1-adapter :is(.privecy-c, .privecy-mid-section) p,
body.uni-public-shell-body #main-content .upp1-page--policy .upp1-adapter :is(.privecy-c, .privecy-mid-section) li {
    font-size: clamp(.93rem, .14vw + .9rem, 1rem) !important;
    line-height: 1.72 !important;
}

@media (max-width: 760px) {
    body.uni-public-shell-body .v2d-related {
        padding-block: 58px !important;
    }

    body.uni-public-shell-body .v2d-related__inner {
        width: calc(100% - 32px) !important;
    }

    body.uni-public-shell-body .v2d-related__grid {
        grid-template-columns: 1fr !important;
    }

    body.uni-public-shell-body .v2d-related__card {
        min-height: 0 !important;
        grid-template-columns: 46px minmax(0, 1fr) 30px !important;
        gap: 12px !important;
        padding: 20px !important;
    }

    body.uni-public-shell-body .v2d-related__icon {
        width: 46px !important;
        height: 46px !important;
    }

    body.uni-public-shell-body [data-upp-page-scope] :is(.btn, .sitebtn, .form-btn, .hero-btn),
    body.uni-public-shell-body #main-content [data-upp-page] :is(.btn, .sitebtn, .form-btn, .hero-btn) {
        min-height: 46px !important;
        padding: .72rem .9rem !important;
    }

    body.uni-public-shell-body #main-content .bodycontent[data-upp-page] .bottom-contact {
        padding-block: 48px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.uni-public-shell-body [data-upp-page-scope] [data-reveal],
    body.uni-public-shell-body [data-upp-page-scope] .reveal {
        transition: none !important;
        animation: none !important;
    }
}
