body.prism-pay-portal {
    margin: 0;
    background: #000000;
    color: #ffffff;
    overflow-x: hidden;
}

body.prism-pay-portal a {
    text-decoration: none;
}

/* Header shell only. Logo/nav/button visual behavior comes from prism-site.css. */
body.prism-pay-portal .site-header {
    width: 100%;
    background: rgba(0,0,0,0.96);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

body.prism-pay-portal .inside-header {
    width: min(1200px, calc(100% - 64px));
    min-height: 72px;
    margin-left: auto;
    margin-right: auto;
    display: grid;
    grid-template-columns: max-content 1fr max-content;
    align-items: center;
    gap: 30px;
}

body.prism-pay-portal #site-navigation {
    justify-self: center;
}

body.prism-pay-portal #site-navigation .main-nav ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    list-style: none;
    margin: 0;
    padding: 0;
}

body.prism-pay-portal #site-navigation .main-nav a {
    color: rgba(255,255,255,0.78);
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;
    transition: color .24s ease, opacity .24s ease;
}

body.prism-pay-portal #site-navigation .main-nav a:hover,
body.prism-pay-portal #site-navigation .main-nav a:focus {
    color: #ffffff;
}

body.prism-pay-portal .prism-pay-nav-button {
    margin: 0;
    justify-self: end;
}

/* Static hero using your provided image. */
body.prism-pay-portal .prism-pay-hero {
    width: min(1200px, calc(100% - 64px));
    min-height: 350px;
    margin: 52px auto 0 auto;
    background-image: url("/static/prismtech-hero.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

/* Main content shell only. */
body.prism-pay-portal .prism-pay-wrap {
    width: min(1200px, calc(100% - 64px));
    margin: 70px auto 88px auto;
}

body.prism-pay-portal .prism-pay-summary {
    display: grid;
    grid-template-columns: 1fr 330px;
    gap: 24px;
    margin-bottom: 24px;
}

body.prism-pay-portal .prism-pay-intro,
body.prism-pay-portal .prism-pay-meta {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.08) 0%,
            rgba(20,42,159,0.04) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.012) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        var(--prism-card-bg, rgba(17,17,17,0.84));
    border: 1px solid rgba(255,255,255,0.07);
    padding: 32px;
}

body.prism-pay-portal .prism-pay-intro h2 {
    margin: 0 0 18px 0;
    color: #ffffff;
    font-family: "Poppins", "Inter", sans-serif;
    font-size: 28px;
    line-height: 1.28;
    font-weight: 700;
    letter-spacing: -0.02em;
}

body.prism-pay-portal .prism-pay-intro p {
    margin: 0;
    color: rgba(255,255,255,0.78);
    font-size: 15px;
    line-height: 1.65;
}

body.prism-pay-portal .prism-meta-row {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

body.prism-pay-portal .prism-meta-row:last-child {
    border-bottom: 0;
}

body.prism-pay-portal .prism-meta-label {
    color: #838187;
    font-family: "Azeret Mono", monospace;
    font-size: 11px;
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.prism-pay-portal .prism-meta-value {
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    word-break: break-word;
}

body.prism-pay-portal .prism-status-badge {
    display: inline-block;
    color: #f3df99;
    background: rgba(171,149,74,0.13);
    border: 1px solid rgba(171,149,74,0.55);
    padding: 5px 9px;
    border-radius: 999px;
}

/* Use the real services grid, but keep this portal at 3 columns like your Services section. */
body.prism-pay-portal .prism-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.prism-pay-portal .prism-pay-notice {
    margin-top: 26px;
    background: rgba(171,149,74,0.09);
    border: 1px solid rgba(171,149,74,0.24);
    color: #d8cfab;
    padding: 18px 20px;
    line-height: 1.55;
    font-size: 14px;
}

/* Footer: use your footer classes, just reduce columns for this portal. */
body.prism-pay-portal .prism-footer-grid {
    grid-template-columns: 1.1fr 0.9fr;
}

body.prism-pay-portal .prism-footer-list,
body.prism-pay-portal .prism-footer-list li {
    list-style: none;
    margin-left: 0;
    padding-left: 0;
}

/* No direct navigation links back to this page from the footer. */
body.prism-pay-portal .prism-footer-col-pruned {
    display: none;
}

@media (max-width: 1100px) {
    body.prism-pay-portal .prism-pay-summary {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 1024px) {
    body.prism-pay-portal .inside-header {
        width: calc(100% - 40px);
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 18px 0;
    }

    body.prism-pay-portal #site-navigation {
        justify-self: start;
    }

    body.prism-pay-portal #site-navigation .main-nav ul {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 16px;
    }

    body.prism-pay-portal .prism-pay-nav-button {
        justify-self: start;
    }

    body.prism-pay-portal .prism-pay-hero,
    body.prism-pay-portal .prism-pay-wrap {
        width: calc(100% - 40px);
    }

    body.prism-pay-portal .prism-pay-hero {
        min-height: 250px;
        margin-top: 28px;
    }
body.prism-pay-portal .prism-meta-row {
        grid-template-columns: 1fr;
    }

    body.prism-pay-portal .prism-footer-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   PRISMTECHTX PAY PORTAL — PHASE 3.4 CSS-ONLY CORRECTION
   Purpose:
   - Restore visible header/nav/button on standalone portal
   - Force the same loaded font stack used by the site sections
   - Stop hero image cropping by using contain instead of cover
   - Keep payment page from overriding core PrismTechTx styling
========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Azeret+Mono:wght@400;500;600&family=Inter:wght@300;400;500;600;700&family=Poppins:wght@600;700;800&display=swap');

/* ---------- Font correction ---------- */

body.prism-pay-portal {
    font-family: "Inter", sans-serif !important;
    font-weight: 400 !important;
}

body.prism-pay-portal h1,
body.prism-pay-portal h2,
body.prism-pay-portal h3,
body.prism-pay-portal .prism-service-card h3 {
    font-family: "Poppins", sans-serif !important;
    font-weight: 700 !important;
}

body.prism-pay-portal .prism-ui-monotext,
body.prism-pay-portal .prism-meta-label,
body.prism-pay-portal .prism-service-expand {
    font-family: "Azeret Mono", monospace !important;
}

/* ---------- Restore full header/nav/button visibility ---------- */

body.prism-pay-portal .site-header,
body.prism-pay-portal #masthead {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    min-height: 72px !important;
    background: rgba(0, 0, 0, 0.96) !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
    transform: none !important;
    animation: none !important;
}

body.prism-pay-portal .inside-header {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(1200px, calc(100% - 64px)) !important;
    min-height: 72px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    grid-template-columns: max-content 1fr max-content !important;
    align-items: center !important;
    gap: 30px !important;
    transform: none !important;
    animation: none !important;
}

body.prism-pay-portal .site-branding,
body.prism-pay-portal .prism-header-branding,
body.prism-pay-portal #site-navigation,
body.prism-pay-portal .main-navigation,
body.prism-pay-portal .main-nav,
body.prism-pay-portal .main-nav > ul,
body.prism-pay-portal .wp-block-button.prism-btn-primary.prism-pay-nav-button {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    pointer-events: auto !important;
}

body.prism-pay-portal #site-navigation,
body.prism-pay-portal .main-navigation {
    justify-self: center !important;
    background: transparent !important;
}

body.prism-pay-portal #site-navigation .main-nav > ul,
body.prism-pay-portal .main-navigation .main-nav > ul {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 30px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    background: transparent !important;
}

body.prism-pay-portal #site-navigation .main-nav > ul > li,
body.prism-pay-portal .main-navigation .main-nav > ul > li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.prism-pay-portal #site-navigation .main-nav > ul > li > a,
body.prism-pay-portal .main-navigation .main-nav > ul > li > a {
    display: inline-flex !important;
    align-items: center !important;
    color: rgba(255,255,255,0.78) !important;
    opacity: 1 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    background: transparent !important;
    padding: 0 !important;
    transition: color 0.24s ease, opacity 0.24s ease !important;
}

body.prism-pay-portal #site-navigation .main-nav > ul > li > a:hover,
body.prism-pay-portal .main-navigation .main-nav > ul > li > a:hover {
    color: #ffffff !important;
}

/* Portal Home button: keep the website primary-button behavior visible. */

body.prism-pay-portal .wp-block-button.prism-btn-primary.prism-pay-nav-button {
    justify-self: end !important;
    margin: 0 !important;
}

body.prism-pay-portal .wp-block-button.prism-btn-primary.prism-pay-nav-button .wp-block-button__link {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 30px !important;
    background: #142A9F !important;
    color: #FFFFFF !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
    border-radius: 1px !important;
    border: none !important;
    font-family: "Inter", sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* ---------- Logo correction/visibility ---------- */

body.prism-pay-portal .prism-header-branding .prism-footer-logo,
body.prism-pay-portal .prism-footer-section .prism-footer-logo {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo-light {
    color: #ffffff !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo-gold {
    color: #142A9F !important;
    text-shadow: 0 2px 10px rgb(7,8,7) !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-light {
    color: #ffffff !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-gold {
    color: #AB954A !important;
}

/* ---------- Hero correction: stop cropping the 1920x1080 image ---------- */

body.prism-pay-portal .prism-pay-hero {
    width: min(1200px, calc(100% - 64px)) !important;
    height: clamp(520px, 56.25vw, 675px) !important;
    min-height: 520px !important;
    margin: 52px auto 0 auto !important;
    background-image: url("/static/prismtech-hero.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    background-color: #000000 !important;
}

/* ---------- Responsive header/hero correction ---------- */

@media (max-width: 1024px) {
    body.prism-pay-portal .inside-header {
        width: calc(100% - 40px) !important;
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding: 18px 0 !important;
    }

    body.prism-pay-portal #site-navigation,
    body.prism-pay-portal .main-navigation,
    body.prism-pay-portal .wp-block-button.prism-btn-primary.prism-pay-nav-button {
        justify-self: start !important;
    }

    body.prism-pay-portal .prism-pay-hero {
        width: calc(100% - 40px) !important;
        height: clamp(300px, 56.25vw, 520px) !important;
        min-height: 300px !important;
        margin-top: 28px !important;
    }
}


/* =========================================================
   FOOTER-ONLY FIX — MATCH HOMEPAGE FOOTER SOURCE
   Source behavior:
   - Inter font
   - #242424 footer background
   - PRISM/TX white, TECH/LLC gold
   - 64px vertical padding
   - 48px footer-bottom spacing
   - 32px footer-bottom top padding
   - 0.875rem body/footer links
   - 1.125rem footer headings
========================================================= */

body.prism-pay-portal .prism-footer-section {
    position: relative !important;
    background: #242424 !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    width: 100% !important;
    margin-top: 0 !important;
    padding: 64px 0 !important;
    font-family: "Inter", sans-serif !important;
}

body.prism-pay-portal .prism-footer-section::before {
    content: "" !important;
    position: absolute !important;
    top: -50px !important;
    left: 0 !important;
    width: 100% !important;
    height: 50px !important;
    background: linear-gradient(
        to bottom,
        rgba(36,36,36,0) 0%,
        rgba(36,36,36,0.65) 60%,
        rgba(36,36,36,1) 100%
    ) !important;
    pointer-events: none !important;
}

body.prism-pay-portal .prism-footer-inner {
    width: min(120rem, calc(100% - 64px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Pay portal keeps only logo/location + Get In Touch columns, but uses homepage spacing. */
body.prism-pay-portal .prism-footer-grid {
    display: grid !important;
    grid-template-columns: 1.2fr 0.9fr !important;
    gap: 48px !important;
    align-items: start !important;
}

body.prism-pay-portal .prism-footer-col {
    min-width: 0 !important;
}

body.prism-pay-portal .prism-footer-logo {
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important;
    isolation: isolate !important;
    margin: 0 0 16px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
    transition: transform .25s ease, text-shadow .25s ease !important;
}

body.prism-pay-portal .prism-footer-logo span {
    position: relative !important;
    z-index: 2 !important;
    font-weight: 700 !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-light {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-gold {
    color: #AB954A !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

body.prism-pay-portal .prism-footer-logo::after {
    content: "" !important;
    position: absolute !important;
    top: -20% !important;
    bottom: -20% !important;
    left: -35% !important;
    width: 22% !important;
    pointer-events: none !important;
    z-index: 3 !important;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.06) 35%,
        rgba(255,255,255,0.16) 50%,
        rgba(255,255,255,0.06) 65%,
        rgba(255,255,255,0) 100%
    ) !important;
    animation: prismFooterLogoSweep 12s ease-in-out infinite !important;
}

body.prism-pay-portal .prism-footer-logo:hover {
    transform: translateY(-1px) !important;
}

body.prism-pay-portal .prism-footer-logo:hover .prism-footer-logo-gold {
    text-shadow:
        0 0 6px rgba(198,173,91,.35),
        0 0 12px rgba(198,173,91,.18) !important;
}

body.prism-pay-portal .prism-footer-logo:hover .prism-footer-logo-light {
    text-shadow: 0 0 4px rgba(255,255,255,.25) !important;
}

body.prism-pay-portal .prism-footer-logo-link {
    display: inline-block !important;
    text-decoration: none !important;
}

body.prism-pay-portal .prism-footer-desc {
    margin: 0 0 18px !important;
    color: #838187 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.7 !important;
    max-width: 38ch !important;
    font-weight: 400 !important;
}

body.prism-pay-portal .prism-footer-meta-row,
body.prism-pay-portal .prism-footer-contact-link {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
}

body.prism-pay-portal .prism-footer-meta-text {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

body.prism-pay-portal .prism-footer-icon {
    width: 18px !important;
    height: 18px !important;
    color: #AB954A !important;
    flex: 0 0 18px !important;
    margin-top: 2.2px !important;
}

body.prism-pay-portal .prism-footer-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body.prism-pay-portal .prism-footer-heading {
    margin: 0 0 16px !important;
    color: #f2f2f2 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
}

body.prism-pay-portal .prism-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

body.prism-pay-portal .prism-footer-meta-text a,
body.prism-pay-portal .prism-footer-contact-link {
    color: #838187 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

body.prism-pay-portal .prism-footer-meta-text a:hover,
body.prism-pay-portal .prism-footer-contact-link:hover {
    color: #AB954A !important;
}

body.prism-pay-portal .prism-footer-bottom {
    margin-top: 48px !important;
    padding-top: 32px !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px 24px !important;
    flex-wrap: wrap !important;
}

body.prism-pay-portal .prism-footer-bottom p {
    margin: 0 !important;
    color: #838187 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

body.prism-pay-portal .prism-footer-motto {
    font-size: 0.75rem !important;
}

@media (max-width: 768px) {
    body.prism-pay-portal .prism-footer-section {
        padding: 52px 0 !important;
    }

    body.prism-pay-portal .prism-footer-inner {
        width: min(100%, calc(100% - 40px)) !important;
    }

    body.prism-pay-portal .prism-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    body.prism-pay-portal .prism-footer-bottom {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
}


/* =========================================================
   FOOTER LOGO ONLY FIX
   Scope: footer wordmark typography/colors only.
   Does NOT change hero, nav, cards, or payment logic.
   Does NOT restore four footer columns.
========================================================= */

/* Keep Pay Portal footer intentionally reduced to two columns. */
body.prism-pay-portal .prism-footer-grid {
    display: grid !important;
    grid-template-columns: 1.2fr 0.9fr !important;
    gap: 48px !important;
    align-items: start !important;
}

/* Match homepage footer PRISMTECHTX LLC wordmark source. */
body.prism-pay-portal .prism-footer-section .prism-footer-logo {
    margin: 0 0 16px !important;
    font-family: "Inter", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
    display: inline-block !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    transform: none;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo span {
    font-family: "Inter", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Footer logo colors: PRISM white / TECH gold / TX white / LLC gold. */
body.prism-pay-portal .prism-footer-section .prism-footer-logo-light {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-gold {
    color: #AB954A !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

/* Preserve homepage-style logo hover/sheen without changing layout. */
body.prism-pay-portal .prism-footer-section .prism-footer-logo:hover {
    transform: translateY(-1px) !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo:hover .prism-footer-logo-gold {
    text-shadow:
        0 0 6px rgba(198,173,91,.35),
        0 0 12px rgba(198,173,91,.18) !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo:hover .prism-footer-logo-light {
    text-shadow: 0 0 4px rgba(255,255,255,.25) !important;
}

/* Undo any previous accidental four-column footer restore at smaller sizes too. */
@media (max-width: 1100px) {
    body.prism-pay-portal .prism-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px 32px !important;
    }
}

@media (max-width: 768px) {
    body.prism-pay-portal .prism-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}


/* =========================================================
   FOOTER WORDMARK WEIGHT FIX ONLY
   Target: thicker/heavier homepage-style PRISMTECHTX LLC.
   Scope: footer logo text only.
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-logo,
body.prism-pay-portal .prism-footer-section .prism-footer-logo span {
    font-family: "Inter", Arial, Helvetica, sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: 0.025em !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: geometricPrecision !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo {
    margin: 0 0 16px !important;
    display: inline-block !important;
    white-space: nowrap !important;
}

/* Footer colors stay: PRISM white / TECH gold / TX white / LLC gold */
body.prism-pay-portal .prism-footer-section .prism-footer-logo-light {
    color: #ffffff !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-gold {
    color: #AB954A !important;
}


/* =========================================================
   FOOTER WORDMARK FONT FIX — EXACT HOMEPAGE MATCH
   Scope: PRISMTECHTX LLC footer logo only.
   Fixes prior incorrect Inter/800 override.
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-logo,
body.prism-pay-portal .prism-footer-section .prism-footer-logo span {
    font-family: "Poppins", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: auto !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo {
    margin: 0 0 16px !important;
    display: inline-block !important;
    position: relative !important;
    overflow: hidden !important;
    isolation: isolate !important;
    white-space: nowrap !important;
}

/* Exact footer color split from homepage:
   PRISM = white
   TECH  = gold
   TX    = white
   LLC   = gold
*/
body.prism-pay-portal .prism-footer-section .prism-footer-logo-light {
    color: #FFFFFF !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-logo-gold {
    color: #AB954A !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}


/* =========================================================
   FOOTER DESCRIPTION EXACT FIX
   Scope: "Precision I.T. consulting..." text only.
   Source: homepage computed .prism-footer-desc + inherited p letter-spacing.
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-desc {
    margin: 0 0 18px !important;
    color: #838187 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.7 !important;
    max-width: 38ch !important;
    font-weight: 400 !important;
    letter-spacing: .05em !important;
}


/* =========================================================
   FOOTER LOCATION LINK FIX ONLY
   Scope: Texas Gulf Coast Area / Greater Houston Area text.
   Source: homepage computed footer meta link style.
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a:visited,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited {
    color: #d7d7d7 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover {
    color: #AB954A !important;
}


/* =========================================================
   REMOVE INCORRECT LOCATION LINK GOLD HOVER/GLOW
   Scope: Texas Gulf Coast Area / Greater Houston Area only.
   Source behavior: location links remain #d7d7d7, no gold glow.
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:active {
    color: #d7d7d7 !important;
    text-shadow: none !important;
    text-decoration: none !important;
}


/* =========================================================
   FOOTER LINK HOVER SOURCE FIX
   Scope: footer links only.
   Source behavior:
   - normal/visited = #d7d7d7
   - hover = #AB954A
   - no glow/text-shadow
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-list a,
body.prism-pay-portal .prism-footer-section .prism-footer-list a:visited,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a:visited,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:visited {
    color: #d7d7d7 !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-list a:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:hover {
    color: #AB954A !important;
    text-shadow: none !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-list a:focus,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a:focus,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:focus {
    color: #AB954A !important;
    text-shadow: none !important;
}


/* =========================================================
   FOOTER MAP LOCATION LINK EXACT FIX
   Scope: Texas Gulf Coast Area / Greater Houston Area only.
   Source behavior:
   - normal/visited: #d7d7d7
   - hover/focus/focus-visible: #ffffff
   - no gold hover
   - no glow
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"],
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:visited {
    color: #d7d7d7 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition: color 0.3s ease !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus,
body.prism-pay-portal .prism-footer-section .prism-footer-meta-text a[href="https://maps.app.goo.gl/mJXdSPeRFVWU37d89"]:focus-visible {
    color: #ffffff !important;
    text-shadow: none !important;
}


/* =========================================================
   FOOTER CONTACT AREA CLEANUP
   Scope: Get In Touch area only.
   - Removes visual impact from old billing-email footer
   - Restores Request Consultation / phone / Click-to-Call behavior
   - Keeps footer reduced to two columns
========================================================= */

body.prism-pay-portal .prism-footer-grid {
    display: grid !important;
    grid-template-columns: 1.2fr 0.9fr !important;
    gap: 48px !important;
    align-items: start !important;
}

body.prism-pay-portal .prism-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
}

body.prism-pay-portal .prism-footer-heading {
    margin: 0 0 16px !important;
    color: #f2f2f2 !important;
    font-size: 1.125rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    font-family: "Inter", sans-serif !important;
}

body.prism-pay-portal .prism-footer-contact-link {
    display: flex !important;
    align-items: flex-start !important;
    gap: 10px !important;
    color: #d7d7d7 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    text-shadow: none !important;
}

body.prism-pay-portal .prism-footer-contact-link:visited {
    color: #d7d7d7 !important;
}

body.prism-pay-portal .prism-footer-contact-link:hover,
body.prism-pay-portal .prism-footer-contact-link:focus {
    color: #AB954A !important;
    text-shadow: none !important;
}

body.prism-pay-portal .prism-footer-icon {
    width: 18px !important;
    height: 18px !important;
    color: #AB954A !important;
    flex: 0 0 18px !important;
    margin-top: 2.2px !important;
}

body.prism-pay-portal .prism-footer-icon svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body.prism-pay-portal .prism-footer-click-to-call {
    margin-top: -6px !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    opacity: 1 !important;
}

body.prism-pay-portal .prism-footer-click-to-call .prism-footer-icon {
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    margin-top: 2.2px !important;
}

@media (max-width: 1100px) {
    body.prism-pay-portal .prism-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px 32px !important;
    }
}

@media (max-width: 768px) {
    body.prism-pay-portal .prism-footer-grid {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
}


/* =========================================================
   GET IN TOUCH FOOTER FIX
   Scope:
   - "Get In Touch" heading
   - Request Consultation / phone / Click-to-Call links
   Source behavior:
   - heading: Inter, 1.125rem, 600, .04em tracking
   - links: #d7d7d7 normal, #ffffff hover/focus, no glow
========================================================= */

body.prism-pay-portal .prism-footer-section .prism-footer-heading {
    margin: 0 0 16px !important;
    color: #f2f2f2 !important;
    font-size: 1.125rem !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    font-family: "Inter", sans-serif !important;
    letter-spacing: .04em !important;
    text-shadow: none !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-contact-link,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:visited {
    color: #d7d7d7 !important;
    font-family: "Inter", sans-serif !important;
    font-size: 0.875rem !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-shadow: none !important;
    transition: color 0.3s ease !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:focus,
body.prism-pay-portal .prism-footer-section .prism-footer-contact-link:focus-visible {
    color: #ffffff !important;
    text-shadow: none !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-click-to-call,
body.prism-pay-portal .prism-footer-section .prism-footer-click-to-call:visited {
    color: #d7d7d7 !important;
}

body.prism-pay-portal .prism-footer-section .prism-footer-click-to-call:hover,
body.prism-pay-portal .prism-footer-section .prism-footer-click-to-call:focus,
body.prism-pay-portal .prism-footer-section .prism-footer-click-to-call:focus-visible {
    color: #ffffff !important;
    text-shadow: none !important;
}


/* =========================================================
   HEADER WORDMARK FIX ONLY
   Scope: top/header PRISMTECHTX LLC only.
   Do not touch footer.
========================================================= */

body.prism-pay-portal .prism-header-branding .prism-footer-logo,
body.prism-pay-portal .prism-header-branding .prism-footer-logo span {
    font-family: "Poppins", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo {
    margin: 0 !important;
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important;
    isolation: isolate !important;
}

/* Header color split:
   PRISM = white
   TECH  = website blue
   TX    = white
   LLC   = website blue
*/
body.prism-pay-portal .prism-header-branding .prism-footer-logo-light {
    color: #FFFFFF !important;
    text-shadow: none !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo-gold {
    color: #142A9F !important;
    text-shadow: none !important;
}

@media (max-width: 768px) {
    body.prism-pay-portal .prism-header-branding .prism-footer-logo,
    body.prism-pay-portal .prism-header-branding .prism-footer-logo span {
        font-size: 1.25rem !important;
        letter-spacing: 0.01em !important;
    }
}


/* =========================================================
   HEADER WORDMARK HOVER FIX ONLY
   Scope: top/header PRISMTECHTX LLC only.
   Footer untouched.
   Source behavior:
   - logo lifts slightly on hover
   - light spans get subtle white text glow
   - blue spans keep dark shadow, not removed
   - logo sweep remains active
========================================================= */

body.prism-pay-portal .prism-header-branding .prism-footer-logo {
    position: relative !important;
    display: inline-block !important;
    overflow: hidden !important;
    isolation: isolate !important;
    margin: 0 !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    white-space: nowrap !important;
    transition: transform .25s ease !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo:hover {
    transform: translateY(-1px) !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo span {
    position: relative !important;
    z-index: 2 !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 1.25rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    transition: text-shadow .35s ease, color .35s ease !important;
}

/* Header base colors/shadows */
body.prism-pay-portal .prism-header-branding .prism-footer-logo-light {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.35) !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo-gold {
    color: #142A9F !important;
    text-shadow: 0 2px 10px rgb(7, 8, 7) !important;
}

/* Header hover behavior */
body.prism-pay-portal .prism-header-branding .prism-footer-logo:hover .prism-footer-logo-light {
    text-shadow: 0 0 4px rgba(255,255,255,.25) !important;
}

body.prism-pay-portal .prism-header-branding .prism-footer-logo:hover .prism-footer-logo-gold {
    color: #142A9F !important;
    text-shadow: 0 2px 10px rgb(7, 8, 7) !important;
}

/* Header logo sheen */
body.prism-pay-portal .prism-header-branding .prism-footer-logo::after {
    content: "" !important;
    position: absolute !important;
    top: -20% !important;
    bottom: -20% !important;
    left: -35% !important;
    width: 22% !important;
    pointer-events: none !important;
    z-index: 3 !important;
    transform: skewX(-20deg) translateX(0) !important;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.06) 35%,
        rgba(255,255,255,0.16) 50%,
        rgba(255,255,255,0.06) 65%,
        rgba(255,255,255,0) 100%
    ) !important;
    animation: prismFooterLogoSweep 12s ease-in-out infinite !important;
}

@media (max-width: 768px) {
    body.prism-pay-portal .prism-header-branding .prism-footer-logo,
    body.prism-pay-portal .prism-header-branding .prism-footer-logo span {
        font-size: 1.25rem !important;
        letter-spacing: 0.01em !important;
    }
}


/* =========================================================
   TOP NAV ONLY FIX
   Scope:
   - right-align Pay Portal / Invoice Payments area
   - anchor alignment for Secure Payments
   Footer untouched.
========================================================= */

body.prism-pay-portal #site-navigation,
body.prism-pay-portal .main-navigation {
    justify-self: end !important;
    margin-left: auto !important;
    width: auto !important;
}

body.prism-pay-portal #site-navigation .inside-navigation {
    justify-content: flex-end !important;
}

body.prism-pay-portal .main-navigation .main-nav > ul {
    justify-content: flex-end !important;
    align-items: center !important;
}

/* Keep Secure Payments at the top when Pay Portal is clicked. */
body.prism-pay-portal #prism-pay-portal-start {
    scroll-margin-top: 0px !important;
}


/* =========================================================
   STICKY TOP TOOLBAR ONLY
   Scope: top menu/header bar only.
   Footer untouched.
========================================================= */

body.prism-pay-portal .site-header,
body.prism-pay-portal #masthead {
    position: sticky !important;
    top: 0 !important;
    z-index: 99999 !important;
    width: 100% !important;
    background: rgba(7, 8, 7, 0.94) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

/* Prevent anchor jumps from hiding section headings behind the frozen toolbar. */
body.prism-pay-portal #prism-pay-portal-start,
body.prism-pay-portal #invoice-payments {
    scroll-margin-top: 92px !important;
}


/* =========================================================
   FIXED TOP TOOLBAR ONLY
   Scope: top toolbar/header bar only.
   Footer untouched.
========================================================= */

body.prism-pay-portal {
    padding-top: 76px !important;
}

body.prism-pay-portal .site-header,
body.prism-pay-portal #masthead {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 999999 !important;
    width: 100% !important;
    background: rgba(7, 8, 7, 0.94) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

/* Keep anchor jumps from hiding behind the fixed toolbar. */
body.prism-pay-portal #prism-pay-portal-start,
body.prism-pay-portal #payment-options,
body.prism-pay-portal #invoice-payments {
    scroll-margin-top: 92px !important;
}

/* =========================================================
   PAY PORTAL SECTION HEADER — CLEAN HOMEPAGE MATCH
   Scope only:
   - Secure Payments
   - Pay Portal
   - TECHNOLOGY SUPPORT FOR RESIDENTIAL AND SMALL BUSINESSES
   - faint gold divider below heading

   Footer untouched.
   Toolbar untouched.
   Payment cards untouched.
   Payment logic untouched.
========================================================= */

body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final {
    width: 100% !important;
    max-width: none !important;
    margin: 52px 0 0 0 !important;
    padding: 0 !important;
    display: block !important;
    border-bottom: 0 !important;
    background: transparent !important;
    text-align: left !important;
}

body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-section-inner {
    width: min(1280px, calc(100% - 64px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-heading-main {
    display: block !important;
    text-align: left !important;

    /* Match homepage Services heading rendering context. */
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
    will-change: transform, opacity !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: auto !important;
}

/* Secure Payments wrapper = homepage Capabilities wrapper. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .gb-element-3b3cbd26,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-kicker-wrap {
    height: 30px !important;
    max-height: 30px !important;
}

/* Secure Payments = exact homepage Capabilities font configuration. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p#prism-pay-portal-start.wp-block-heading.prism-ui-monotext.prism-section-kicker {
    font-family: "Azeret Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-style: normal !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    line-height: 1.4em !important;
    letter-spacing: 0.1em !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    color: rgba(171, 149, 74, 0.85) !important;
    padding: 0 !important;
    background: transparent !important;
    text-shadow: none !important;
    -webkit-text-fill-color: rgba(171, 149, 74, 0.85) !important;
}

/* Pay Portal wrapper = homepage Services wrapper. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .gb-element-0b94da16,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-title-wrap {
    max-height: 30px !important;
}

/* Pay Portal = exact homepage Services font configuration. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final h1.wp-block-heading.has-text-align-left {
    font-family: "Poppins", sans-serif !important;
    color: #FFFFFF !important;
    font-size: 45px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    line-height: 1.2em !important;
    text-transform: none !important;
    text-align: left !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* Subtitle wrapper = homepage right-aligned subtitle wrapper. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .gb-element-c3db53fe,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-section-subtitle-wrap {
    text-align: right !important;
}

/* TECHNOLOGY SUPPORT line = homepage Azeret Mono paragraph behavior. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p.prism-azeret-mono {
    font-family: "Azeret Mono", monospace !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.5 !important;
    color: #838187 !important;
    margin: 0 0 1.5em 0 !important;
    padding: 0 !important;
    background: transparent !important;
    text-shadow: none !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
}

/* Divider = homepage faint gold separator behavior. */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .gb-element-3a44709c,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-section-divider-wrap {
    display: block !important;
    padding: 0 !important;
    margin-top: 0 !important;
    justify-items: center !important;
    justify-self: center !important;
    align-self: center !important;
}

body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final hr.wp-block-separator.has-alpha-channel-opacity {
    display: block !important;
    border: none !important;
    height: 1px !important;
    max-width: none !important;
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    background: linear-gradient(
        90deg,
        transparent,
        #AB954A,
        #AB954A,
        transparent
    ) !important;
    opacity: 0.35 !important;
}

/* Keep the Payment Portal cards close after the divider. */
body.prism-pay-portal .prism-pay-wrap {
    margin-top: 42px !important;
}

body.prism-pay-portal #prism-pay-portal-start {
    scroll-margin-top: 92px !important;
}

@media (max-width: 900px) {
    body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-section-inner {
        width: min(100%, calc(100% - 40px)) !important;
    }

    body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .gb-element-c3db53fe,
    body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final .prism-pay-section-subtitle-wrap {
        text-align: left !important;
    }

    body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p.prism-azeret-mono {
        white-space: normal !important;
    }
}


/* Pay Portal header text rasterization match */
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p#prism-pay-portal-start,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final h1.wp-block-heading.has-text-align-left,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p.prism-azeret-mono {
    transform: translate3d(0, 0, 0) !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: auto !important;
    font-synthesis: none !important;
}

/* PAY PORTAL HOMEPAGE FALLBACK FONT MATCH
   Homepage Rendered Fonts shows this section rendering as local Consolas,
   not network Azeret Mono. Scope this only to the Pay Portal section header.
*/
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p#prism-pay-portal-start.wp-block-heading.prism-ui-monotext.prism-section-kicker,
body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p.prism-azeret-mono {
    font-family: Consolas, "Azeret Mono", monospace !important;
}

/* PAYMENT TILES EXPAND AND PREFERRED NOTE FIX
   Scope:
   - payment option tiles only
   - restores hover expansion
   - replaces pseudo arrow with clean text arrow
   - adds preferred info note beside Card / ACH
   Footer untouched.
   Toolbar untouched.
   Payment logic untouched.
*/

body.prism-pay-portal .prism-pay-wrap {
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}

body.prism-pay-portal .prism-pay-payment-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
    overflow: visible !important;
}

body.prism-pay-portal .prism-pay-payment-card {
    display: block !important;
    position: relative !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

body.prism-pay-portal .prism-pay-payment-card .prism-service-card-inner {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    height: 100% !important;
    min-height: 364px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Card / ACH title + preferred info note. */
body.prism-pay-portal .prism-pay-payment-card .prism-pay-card-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 0 18px !important;
    max-width: 300px !important;
    min-height: 40px !important;
    color: #ffffff !important;
    font-size: 20px !important;
    line-height: 1.30 !important;
    font-weight: 700 !important;
    transition: color 0.18s ease 0.04s !important;
}

body.prism-pay-portal .prism-pay-payment-card:hover .prism-pay-card-title {
    color: #c6ad5b !important;
}

body.prism-pay-portal .prism-pay-preferred-info {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 16px !important;
    border: 1px solid rgba(198,173,91,0.78) !important;
    border-radius: 50% !important;
    background: rgba(198,173,91,0.10) !important;
    color: #c6ad5b !important;
    font-family: Consolas, "Azeret Mono", monospace !important;
    font-size: 11px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-transform: none !important;
    transform: translateY(-1px) !important;
}

/* Restore homepage-style card expansion. */
body.prism-pay-portal .prism-pay-payment-card .prism-service-copy {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    color: #838187 !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 300 !important;
    max-width: 285px !important;
    transition:
        max-height 0.7s ease,
        opacity 0.6s ease,
        margin 0.9s ease !important;
}

body.prism-pay-portal .prism-pay-payment-card:hover .prism-service-copy,
body.prism-pay-portal .prism-pay-payment-card:focus-within .prism-service-copy {
    max-height: 230px !important;
    opacity: 1 !important;
    margin-bottom: 0 !important;
}

body.prism-pay-portal .prism-pay-payment-card .prism-service-expand {
    margin-top: auto !important;
    padding-top: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
    white-space: nowrap !important;
}

body.prism-pay-portal .prism-pay-payment-card:hover .prism-service-expand,
body.prism-pay-portal .prism-pay-payment-card:focus-within .prism-service-expand {
    opacity: 0 !important;
    transform: translateY(6px) !important;
    pointer-events: none !important;
}

/* Replace the old CSS-built shaft/head arrow with one clean glyph. */
body.prism-pay-portal .prism-pay-payment-card .prism-service-expand-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    height: auto !important;
    flex: 0 0 auto !important;
    position: relative !important;
    margin-left: 2px !important;
    transform: none !important;
    color: currentColor !important;
}

body.prism-pay-portal .prism-pay-payment-card .prism-service-expand-arrow::before {
    content: "→" !important;
    position: static !important;
    display: inline !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    border: 0 !important;
    transform: none !important;
    color: currentColor !important;
    font-family: Consolas, "Azeret Mono", monospace !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

body.prism-pay-portal .prism-pay-payment-card .prism-service-expand-arrow::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
}

body.prism-pay-portal .prism-pay-payment-card:hover .prism-service-expand-arrow::before,
body.prism-pay-portal .prism-pay-payment-card:focus-within .prism-service-expand-arrow::before {
    transform: none !important;
}

/* Keep the notice below the full grid. */
body.prism-pay-portal .prism-pay-notice {
    display: block !important;
    clear: both !important;
    position: relative !important;
    z-index: 1 !important;
    margin-top: 26px !important;
}

@media (max-width: 1100px) {
    body.prism-pay-portal .prism-pay-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767px) {
    body.prism-pay-portal .prism-pay-payment-grid {
        grid-template-columns: 1fr !important;
    }

    body.prism-pay-portal .prism-pay-payment-card .prism-service-card-inner {
        min-height: 300px !important;
    }
}

/* PAY PORTAL FLOATING CONTROLS + LIGHT THEME
   Scope:
   - Pay Portal floating Back to Top button
   - Pay Portal light/dark toggle button
   - Pay Portal light-mode readability
   Does not change payment logic.
   Does not rework footer structure.
   Does not rework toolbar structure.
*/

body.prism-pay-portal .prism-pay-top-anchor {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 1px !important;
    height: 1px !important;
    pointer-events: none !important;
}

body.prism-pay-portal .prism-pay-back-to-top,
body.prism-pay-portal .prism-pay-theme-toggle {
    position: fixed !important;
    right: 24px !important;
    bottom: 24px !important;
    z-index: 9999 !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;

    background: #142A9F !important;
    color: #ffffff !important;
    text-decoration: none !important;

    border: 1px solid rgba(255,255,255,0.12) !important;
    border-radius: 0 !important;

    box-shadow:
        inset 2.5px 0 0 #AB954A,
        0 10px 24px rgba(0,0,0,0.28) !important;

    font-family: "Inter", sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    cursor: pointer !important;

    transition:
        opacity .25s ease,
        visibility .25s ease,
        transform .25s ease,
        background-color .25s ease !important;
}

body.prism-pay-portal .prism-pay-back-to-top:hover,
body.prism-pay-portal .prism-pay-theme-toggle:hover {
    background: #132790 !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

body.prism-pay-portal .prism-pay-back-to-top {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(10px) !important;
}

body.prism-pay-portal.prism-pay-show-back-to-top .prism-pay-back-to-top {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

body.prism-pay-portal.prism-pay-show-back-to-top .prism-pay-theme-toggle {
    transform: translateY(-70px) !important;
}

body.prism-pay-portal.prism-pay-show-back-to-top .prism-pay-theme-toggle:hover {
    transform: translateY(-72px) !important;
}

body.prism-pay-portal .prism-pay-theme-toggle svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    flex: 0 0 18px !important;
    fill: currentColor !important;
    stroke: currentColor !important;
}

/* Pay Portal light-mode surface tuning. Shared site CSS still handles footer/card basics. */
html.prism-light-mode body.prism-pay-portal {
    background: #f5f5f5 !important;
    color: #0f172a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.05) 0%,
            rgba(20,42,159,0.025) 16%,
            rgba(20,42,159,0.00) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.18) 0%,
            rgba(255,255,255,0.00) 100%
        ),
        rgba(229,231,235,0.88) !important;

    border-color: rgba(15,23,42,0.10) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.35),
        0 12px 28px rgba(15,23,42,0.08) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro h2,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta strong,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta b {
    color: #0f172a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro p,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta span,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta p {
    color: #334155 !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-notice {
    background: rgba(171,149,74,0.10) !important;
    border-color: rgba(171,149,74,0.30) !important;
    color: #5f4f1a !important;
}

@media (max-width: 768px) {
    body.prism-pay-portal .prism-pay-back-to-top,
    body.prism-pay-portal .prism-pay-theme-toggle {
        right: 16px !important;
        bottom: 16px !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }

    body.prism-pay-portal.prism-pay-show-back-to-top .prism-pay-theme-toggle {
        transform: translateY(-64px) !important;
    }

    body.prism-pay-portal.prism-pay-show-back-to-top .prism-pay-theme-toggle:hover {
        transform: translateY(-66px) !important;
    }
}

/* PAY PORTAL LIGHT MODE TUNE + LIGHT HERO BRANDING START
   Scope:
   - Pay Portal light mode only
   - Light theme hero/banner image only
   - No footer changes
   - No toolbar behavior changes
*/

html.prism-light-mode body.prism-pay-portal {
    background: #e7e4df !important;
    color: #1d2a3d !important;
}

/* Light-theme hero branding image */
html.prism-light-mode body.prism-pay-portal .prism-pay-hero {
    background-image:
        linear-gradient(
            90deg,
            rgba(236, 233, 228, 0.94) 0%,
            rgba(236, 233, 228, 0.86) 36%,
            rgba(236, 233, 228, 0.62) 62%,
            rgba(236, 233, 228, 0.24) 100%
        ),
        url("/static/prismtech-hero_2.png") !important;
    background-repeat: no-repeat, no-repeat !important;
    background-position: center center, center center !important;
    background-size: cover, contain !important;
    background-color: #e7e4df !important;
    border-bottom: 1px solid rgba(171, 149, 74, 0.18) !important;
}

/* Section header text */
html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p#prism-pay-portal-start.wp-block-heading.prism-ui-monotext.prism-section-kicker {
    color: rgba(171, 149, 74, 0.92) !important;
    -webkit-text-fill-color: rgba(171, 149, 74, 0.92) !important;
    text-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final h1.wp-block-heading.has-text-align-left {
    color: #10223d !important;
    -webkit-text-fill-color: #10223d !important;
    text-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p.prism-azeret-mono {
    color: #667085 !important;
    -webkit-text-fill-color: #667085 !important;
    text-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final hr.wp-block-separator.has-alpha-channel-opacity {
    border-color: rgba(171, 149, 74, 0.24) !important;
    background-color: rgba(171, 149, 74, 0.24) !important;
}

/* Intro + meta panels */
html.prism-light-mode body.prism-pay-portal .prism-pay-intro,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.045) 0%,
            rgba(20,42,159,0.020) 18%,
            rgba(20,42,159,0.000) 36%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.44) 0%,
            rgba(255,255,255,0.08) 100%
        ),
        rgba(230,233,238,0.94) !important;
    border: 1px solid rgba(16,34,61,0.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.55),
        0 10px 24px rgba(16,34,61,0.04) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro h2 {
    color: #10223d !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro p {
    color: #334155 !important;
}

html.prism-light-mode body.prism-pay-portal .prism-meta-label {
    color: #7a8190 !important;
}

html.prism-light-mode body.prism-pay-portal .prism-meta-value {
    color: #10223d !important;
}

html.prism-light-mode body.prism-pay-portal .prism-status-pill {
    color: #5d4a16 !important;
    border-color: rgba(171,149,74,0.55) !important;
    background: rgba(171,149,74,0.10) !important;
}

/* Payment cards */
html.prism-light-mode body.prism-pay-portal .prism-service-card-inner {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.040) 0%,
            rgba(20,42,159,0.018) 16%,
            rgba(20,42,159,0.000) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.40) 0%,
            rgba(255,255,255,0.10) 100%
        ),
        rgba(230,233,238,0.94) !important;
    border: 1px solid rgba(16,34,61,0.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.52),
        0 10px 24px rgba(16,34,61,0.03) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card h2,
html.prism-light-mode body.prism-pay-portal .prism-service-card h3 {
    color: #10223d !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-points li,
html.prism-light-mode body.prism-pay-portal .prism-service-copy {
    color: #46556a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-points li::before {
    background: #ab954a !important;
    box-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-divider {
    background: linear-gradient(
        90deg,
        rgba(171,149,74,0.24) 0%,
        rgba(171,149,74,0.10) 60%,
        rgba(171,149,74,0.00) 100%
    ) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-expand {
    color: #ab954a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-icon {
    background: rgba(255,255,255,0.30) !important;
    color: #ab954a !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.45) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-card-inner {
    border-color: rgba(171,149,74,0.42) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.56),
        0 14px 28px rgba(16,34,61,0.08) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-icon {
    background: #142A9F !important;
    color: #ffffff !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover h2,
html.prism-light-mode body.prism-pay-portal .prism-service-card:hover h3 {
    color: #ab954a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-points li,
html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-copy {
    color: #10223d !important;
}

/* Notice panel */
html.prism-light-mode body.prism-pay-portal .prism-pay-notice {
    background: rgba(171,149,74,0.10) !important;
    border: 1px solid rgba(171,149,74,0.28) !important;
    color: #6a5418 !important;
}

/* Do not touch footer in this patch */

/* Footer bottom-only exception: copyright/slogan bar only
   Scope:
   - only the copyright/slogan row
   - does NOT touch Get In Touch
   - does NOT touch Request Consultation
   - does NOT touch phone/click-to-call
*/
html.prism-light-mode body.prism-pay-portal .prism-footer-bottom {
    background: #242424 !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
    box-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-footer-bottom p,
html.prism-light-mode body.prism-pay-portal .prism-footer-bottom .prism-footer-motto {
    color: #838187 !important;
}

/* PAY PORTAL LIGHT MODE TUNE + LIGHT HERO BRANDING END */

/* PAY PORTAL LIGHT MODE TUNE + LIGHT HERO BRANDING START
   Scope:
   - Pay Portal light mode only
   - Uses prismtech-hero_2.png with NO color overlay
   - Footer exception restores default dark footer colors in light mode
   - No toolbar behavior changes
   - No payment logic changes
*/

html.prism-light-mode body.prism-pay-portal {
    background: #f5f5f5 !important;
    color: #10223d !important;
}

/* Light-theme hero branding image: no tan overlay, no gradient wash. */
html.prism-light-mode body.prism-pay-portal .prism-pay-hero {
    background-image: url("/static/prismtech-hero_2.png") !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    background-size: contain !important;
    background-color: #ffffff !important;
    border-bottom: 1px solid rgba(171, 149, 74, 0.18) !important;
}

/* Section header text */
html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p#prism-pay-portal-start.wp-block-heading.prism-ui-monotext.prism-section-kicker {
    color: rgba(171, 149, 74, 0.92) !important;
    -webkit-text-fill-color: rgba(171, 149, 74, 0.92) !important;
    text-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final h1.wp-block-heading.has-text-align-left {
    color: #10223d !important;
    -webkit-text-fill-color: #10223d !important;
    text-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final p.prism-azeret-mono {
    color: #667085 !important;
    -webkit-text-fill-color: #667085 !important;
    text-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-section-head.prism-pay-section-final hr.wp-block-separator.has-alpha-channel-opacity {
    border-color: rgba(171, 149, 74, 0.24) !important;
    background-color: rgba(171, 149, 74, 0.24) !important;
}

/* Intro + meta panels */
html.prism-light-mode body.prism-pay-portal .prism-pay-intro,
html.prism-light-mode body.prism-pay-portal .prism-pay-meta {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.045) 0%,
            rgba(20,42,159,0.020) 18%,
            rgba(20,42,159,0.000) 36%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.44) 0%,
            rgba(255,255,255,0.08) 100%
        ),
        rgba(230,233,238,0.94) !important;
    border: 1px solid rgba(16,34,61,0.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.55),
        0 10px 24px rgba(16,34,61,0.04) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro h2,
html.prism-light-mode body.prism-pay-portal .prism-meta-value {
    color: #10223d !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-intro p {
    color: #334155 !important;
}

html.prism-light-mode body.prism-pay-portal .prism-meta-label {
    color: #7a8190 !important;
}

html.prism-light-mode body.prism-pay-portal .prism-status-pill {
    color: #5d4a16 !important;
    border-color: rgba(171,149,74,0.55) !important;
    background: rgba(171,149,74,0.10) !important;
}

/* Payment cards */
html.prism-light-mode body.prism-pay-portal .prism-service-card-inner {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.040) 0%,
            rgba(20,42,159,0.018) 16%,
            rgba(20,42,159,0.000) 34%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.40) 0%,
            rgba(255,255,255,0.10) 100%
        ),
        rgba(230,233,238,0.94) !important;
    border: 1px solid rgba(16,34,61,0.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.52),
        0 10px 24px rgba(16,34,61,0.03) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card h2,
html.prism-light-mode body.prism-pay-portal .prism-service-card h3 {
    color: #10223d !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-points li,
html.prism-light-mode body.prism-pay-portal .prism-service-copy {
    color: #46556a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-points li::before {
    background: #ab954a !important;
    box-shadow: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-divider {
    background: linear-gradient(
        90deg,
        rgba(171,149,74,0.24) 0%,
        rgba(171,149,74,0.10) 60%,
        rgba(171,149,74,0.00) 100%
    ) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-expand {
    color: #ab954a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-icon {
    background: rgba(255,255,255,0.30) !important;
    color: #ab954a !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.45) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-card-inner {
    border-color: rgba(171,149,74,0.42) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.56),
        0 14px 28px rgba(16,34,61,0.08) !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-icon {
    background: #142A9F !important;
    color: #ffffff !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover h2,
html.prism-light-mode body.prism-pay-portal .prism-service-card:hover h3 {
    color: #ab954a !important;
}

html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-points li,
html.prism-light-mode body.prism-pay-portal .prism-service-card:hover .prism-service-copy {
    color: #10223d !important;
}

/* Notice panel */
html.prism-light-mode body.prism-pay-portal .prism-pay-notice {
    background: rgba(171,149,74,0.10) !important;
    border: 1px solid rgba(171,149,74,0.28) !important;
    color: #6a5418 !important;
}

/* PAY PORTAL LIGHT MODE TUNE + LIGHT HERO BRANDING END */

/* Phase 4 token lookup layout fix: prevent intro card from stretching to metadata height */
.prism-pay-summary {
  align-items: flex-start !important;
}

.prism-pay-summary > .prism-pay-intro,
.prism-pay-summary > .prism-pay-meta {
  align-self: flex-start !important;
}

.prism-pay-summary > .prism-pay-intro {
  height: auto !important;
  min-height: 0 !important;
}

.prism-pay-summary > .prism-pay-intro p:last-child {
  margin-bottom: 0 !important;
}

/* Phase 4 payment page grid flow:
   Let payment options start under the intro card instead of waiting for the tall invoice metadata card. */
@media (min-width: 901px) {
  .prism-pay-wrap {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 330px) !important;
    gap: 22px !important;
    align-items: start !important;
  }

  .prism-pay-wrap > .prism-pay-summary {
    display: contents !important;
  }

  .prism-pay-wrap > .prism-pay-summary > .prism-pay-intro {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  .prism-pay-wrap > .prism-pay-summary > .prism-pay-meta {
    grid-column: 2 !important;
    grid-row: 1 / span 2 !important;
    width: auto !important;
    max-width: none !important;
    align-self: start !important;
  }

  .prism-pay-wrap > .prism-services-grid.prism-pay-payment-grid {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin-top: 0 !important;
  }

  .prism-pay-wrap > .prism-pay-notice {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 900px) {
  .prism-pay-wrap {
    display: block !important;
  }

  .prism-pay-wrap > .prism-pay-summary {
    display: grid !important;
  }

  .prism-pay-wrap > .prism-services-grid.prism-pay-payment-grid {
    margin-top: 22px !important;
  }
}

/* Phase 5 Secure Checkout panel.
   Separate from transaction cards. Do not change .prism-pay-payment-card layout. */
.prism-secure-checkout-panel {
  margin-top: 26px;
  padding: 24px 26px;
  border: 1px solid rgba(215,189,94,0.22);
  background: linear-gradient(145deg, rgba(18,19,24,0.96), rgba(10,11,14,0.98));
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
}

.prism-secure-checkout-panel h2 {
  margin: 0 0 10px 0;
}

.prism-secure-checkout-panel p {
  margin-bottom: 0;
}

.prism-secure-checkout-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.prism-secure-checkout-actions form {
  margin: 0;
}

.prism-secure-checkout-button {
  border: 1px solid rgba(215,189,94,0.36);
  background: rgba(215,189,94,0.10);
  color: #d7bd5e;
  border-radius: 12px;
  padding: 11px 15px;
  cursor: pointer;
  font: inherit;
  font-family: "Azeret Mono", monospace;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.prism-secure-checkout-button:hover,
.prism-secure-checkout-button:focus {
  background: rgba(215,189,94,0.16);
  color: #f1d879;
}

.prism-secure-checkout-button-secondary {
  background: transparent;
}

.prism-secure-checkout-launch-card {
  max-width: 720px;
}

.prism-secure-checkout-note {
  margin-top: 14px;
  font-size: 0.92rem;
  opacity: 0.82;
}

@media (max-width: 900px) {
  .prism-secure-checkout-panel {
    grid-template-columns: 1fr;
  }

  .prism-secure-checkout-actions {
    justify-content: flex-start;
  }
}

/* =========================
   PRISM PAY PORTAL PAYMENT ACKNOWLEDGEMENT
========================= */

.prism-pay-ack-panel {
    display: grid;
    gap: 28px;
}

.prism-payment-acknowledgement {
    margin-top: 26px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.10);
}

.prism-payment-acknowledgement h3,
.prism-pay-method-ack h3 {
    margin: 0 0 14px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.3;
    font-weight: 700;
}

.prism-payment-acknowledgement p,
.prism-pay-method-ack p,
.prism-pay-required-ack span {
    color: #9a989e;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.75;
    font-weight: 400;
}

.prism-payment-acknowledgement p,
.prism-pay-method-ack p {
    margin: 0 0 14px;
}

.prism-payment-acknowledgement a,
.prism-payment-acknowledgement a:visited {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.prism-payment-acknowledgement a:hover,
.prism-payment-acknowledgement a:focus {
    color: #AB954A;
}

.prism-pay-checkout-methods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
}

.prism-pay-method-form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 18px;

    margin: 0;
    padding: 24px;

    background: rgba(0,0,0,0.28);
    border: 1px solid rgba(255,255,255,0.10);
    box-sizing: border-box;
}

.prism-pay-required-ack {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    gap: 12px;
    align-items: start;

    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(255,255,255,0.08);

    cursor: pointer;
}

.prism-pay-required-ack input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin: 6px 0 0;
    accent-color: #142A9F;
    cursor: pointer;
}

.prism-pay-required-ack:has(input[type="checkbox"]:checked) span {
    color: #ffffff;
}

@media (max-width: 768px) {
    .prism-pay-checkout-methods {
        grid-template-columns: 1fr;
    }

    .prism-pay-method-form {
        padding: 22px;
    }
}

/* =========================
   END PRISM PAY PORTAL PAYMENT ACKNOWLEDGEMENT
========================= */

/* =========================
   PAYMENT ACKNOWLEDGEMENT LAYOUT FIX
   Prevent old checkout-panel layout from squeezing acknowledgement copy
========================= */

.prism-secure-checkout-panel.prism-pay-ack-panel {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 34px 36px !important;
    box-sizing: border-box !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-copy {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-copy h2,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-copy h3,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-copy p,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement h3,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement p {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-align: left !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-copy h2 {
    margin: 0 0 14px !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-copy > p {
    max-width: 760px !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement {
    margin-top: 26px !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(255,255,255,0.10) !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement p {
    margin: 0 0 14px !important;
    max-width: 920px !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-checkout-methods {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 28px !important;
    align-items: stretch !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-method-form {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
}

.prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-method-ack,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-method-ack p,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-required-ack,
.prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-required-ack span {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}

@media (max-width: 768px) {
    .prism-secure-checkout-panel.prism-pay-ack-panel {
        padding: 28px 24px !important;
    }

    .prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-checkout-methods {
        grid-template-columns: 1fr !important;
    }
}

/* =========================
   END PAYMENT ACKNOWLEDGEMENT LAYOUT FIX
========================= */

/* =========================
   PAYMENT ACKNOWLEDGEMENT LIGHT MODE FIX
   Matches day-mode invoice/payment panes
========================= */

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel {
    background:
        linear-gradient(
            90deg,
            rgba(20,42,159,0.045) 0%,
            rgba(20,42,159,0.022) 18%,
            rgba(20,42,159,0.00) 40%
        ),
        linear-gradient(
            180deg,
            rgba(255,255,255,0.70) 0%,
            rgba(255,255,255,0.18) 100%
        ),
        rgba(229,231,235,0.88) !important;

    border: 1px solid rgba(15,23,42,0.10) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.55),
        0 16px 30px rgba(15,23,42,0.08) !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-eyebrow {
    color: #AB954A !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel h2,
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel h3 {
    color: #0f172a !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel p,
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel li,
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-required-ack span {
    color: #334155 !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement {
    border-top: 1px solid rgba(15,23,42,0.12) !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement a,
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement a:visited {
    color: #142A9F !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement a:hover,
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-payment-acknowledgement a:focus {
    color: #AB954A !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-method-form {
    background:
        linear-gradient(
            180deg,
            rgba(255,255,255,0.55) 0%,
            rgba(255,255,255,0.18) 100%
        ),
        rgba(241,245,249,0.82) !important;

    border: 1px solid rgba(15,23,42,0.12) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.58),
        0 10px 22px rgba(15,23,42,0.06) !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-required-ack {
    border-top: 1px solid rgba(15,23,42,0.12) !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-pay-required-ack:has(input[type="checkbox"]:checked) span {
    color: #0f172a !important;
}

/* Card checkout button stays primary in light mode */
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-button {
    background: #142A9F !important;
    color: #ffffff !important;
    border: none !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

/* ACH checkout button stays secondary but readable in light mode */
html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-button-secondary {
    background: transparent !important;
    color: #142A9F !important;
    border: 1px solid rgba(20,42,159,0.35) !important;
    box-shadow: inset 2.5px 0 0 #AB954A !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-button:hover {
    background: #132790 !important;
    color: #ffffff !important;
}

html.prism-light-mode .prism-secure-checkout-panel.prism-pay-ack-panel .prism-secure-checkout-button-secondary:hover {
    background: rgba(20,42,159,0.06) !important;
    color: #142A9F !important;
}

/* =========================
   END PAYMENT ACKNOWLEDGEMENT LIGHT MODE FIX
========================= */

/* =========================
   SQUARE CHECKOUT BUTTONS + STATUS BADGE
   Remove rounded corners only
========================= */

/* Checkout buttons */
.prism-secure-checkout-button,
.prism-secure-checkout-button:visited,
.prism-secure-checkout-button:hover,
.prism-secure-checkout-button:focus,
.prism-secure-checkout-button:focus-visible,
.prism-secure-checkout-button-secondary,
.prism-secure-checkout-button-secondary:visited,
.prism-secure-checkout-button-secondary:hover,
.prism-secure-checkout-button-secondary:focus,
.prism-secure-checkout-button-secondary:focus-visible {
    border-radius: 0 !important;
}

/* Portal status badge / pill */
.prism-status-pill,
.prism-status-badge,
.prism-pay-status-pill,
.prism-pay-status-badge,
.prism-meta-value.is-status,
.prism-meta-value.status,
.prism-meta-value.prism-status,
.prism-meta-value.prism-meta-status,
.prism-meta-value.prism-pay-status,
.prism-meta-value.prism-pay-status-badge {
    border-radius: 0 !important;
}

/* Fallback: if the status badge uses the general meta-value class */
.prism-meta-card .prism-meta-value {
    border-radius: 0 !important;
}

/* =========================
   END SQUARE CHECKOUT BUTTONS + STATUS BADGE
========================= */

/* =========================
   CHECKOUT PRESENTATION CLEANUP
========================= */

/* Card / ACH is now active, so hide only its Integration Pending label */
.prism-pay-payment-card:first-child .prism-pay-card-status,
.prism-pay-payment-card:first-child .prism-service-status,
.prism-pay-payment-card:first-child .prism-payment-card-status,
.prism-pay-payment-card:first-child .prism-card-status,
.prism-pay-payment-card:first-child [class*="integration"],
.prism-pay-payment-card:first-child [class*="pending"] {
    display: none !important;
}

/* Production checkout-ready page */
.prism-checkout-ready-panel {
    max-width: 880px;
    margin: 28px auto 48px;
}

.prism-checkout-ready-card {
    margin-top: 24px;
}

.prism-checkout-ready-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0 24px;
}

.prism-checkout-ready-details div {
    border: 1px solid rgba(171, 149, 74, 0.28);
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.025);
}

.prism-checkout-ready-details dt {
    margin: 0 0 6px;
    color: #AB954A;
    font-family: "Azeret Mono", monospace;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.prism-checkout-ready-details dd {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
}

.prism-checkout-ready-card .prism-secure-checkout-button {
    width: 100%;
}

html.prism-light-mode .prism-checkout-ready-details div {
    background: rgba(0, 0, 0, 0.025);
}

html.prism-light-mode .prism-checkout-ready-details dd {
    color: #111111;
}

@media (max-width: 720px) {
    .prism-checkout-ready-details {
        grid-template-columns: 1fr;
    }
}

/* =========================
   END CHECKOUT PRESENTATION CLEANUP
========================= */

/* =========================
   CHECKOUT PRESENTATION CLEANUP
========================= */

/* Card / ACH is now active, so hide only its Integration Pending label */
.prism-pay-payment-card:first-child .prism-pay-card-status,
.prism-pay-payment-card:first-child .prism-service-status,
.prism-pay-payment-card:first-child .prism-payment-card-status,
.prism-pay-payment-card:first-child .prism-card-status,
.prism-pay-payment-card:first-child [class*="integration"],
.prism-pay-payment-card:first-child [class*="pending"] {
    display: none !important;
}

/* Production checkout-ready page */
.prism-checkout-ready-panel {
    max-width: 880px;
    margin: 28px auto 48px;
}

.prism-checkout-ready-card {
    margin-top: 24px;
}

.prism-checkout-ready-details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0 24px;
}

.prism-checkout-ready-details div {
    border: 1px solid rgba(171, 149, 74, 0.28);
    padding: 14px 16px;
    background: rgba(255, 255, 255, 0.025);
}

.prism-checkout-ready-details dt {
    margin: 0 0 6px;
    color: #AB954A;
    font-family: "Azeret Mono", monospace;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.prism-checkout-ready-details dd {
    margin: 0;
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
}

.prism-checkout-ready-card .prism-secure-checkout-button {
    width: 100%;
}

html.prism-light-mode .prism-checkout-ready-details div {
    background: rgba(0, 0, 0, 0.025);
}

html.prism-light-mode .prism-checkout-ready-details dd {
    color: #111111;
}

@media (max-width: 720px) {
    .prism-checkout-ready-details {
        grid-template-columns: 1fr;
    }
}

/* =========================
   END CHECKOUT PRESENTATION CLEANUP
========================= */

/* =========================
   FIRST PAGE PRESENTATION FIX
========================= */

/* Hide only the bottom Integration Pending line on the active Card / ACH pane */
#payment-options > article:first-child .prism-service-card-inner > :last-child,
#payment-options > .prism-pay-payment-card:first-child .prism-service-card-inner > :last-child {
    display: none !important;
}

/* Add breathing room before the footer on the checkout-ready page */
.prism-checkout-ready-panel {
    margin-bottom: 96px !important;
}

/* =========================
   END FIRST PAGE PRESENTATION FIX
========================= */

/* =========================
   CHECKOUT READY LIGHT MODE READABILITY FIX
========================= */

/* The checkout-ready panel uses a dark left-side presentation block.
   Keep that text readable in light mode. */
html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy,
html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy h1,
html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy p {
    color: #ffffff !important;
}

html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy .prism-eyebrow {
    color: #AB954A !important;
}

/* =========================
   END CHECKOUT READY LIGHT MODE READABILITY FIX
========================= */

/* =========================
   CHECKOUT READY LIGHT MODE — MATCH MAIN PAY PORTAL
========================= */

/* In light mode, the checkout-ready page should use the same light panel style
   as the main pay portal, not a dark split-panel block. */
html.prism-light-mode .prism-checkout-ready-panel {
    background: #ffffff !important;
    border: 1px solid rgba(171, 149, 74, 0.28) !important;
    color: #111827 !important;
}

/* Left-side copy area */
html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy,
html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy h1,
html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy p {
    color: #111827 !important;
}

html.prism-light-mode .prism-checkout-ready-panel .prism-secure-checkout-copy .prism-eyebrow {
    color: #AB954A !important;
}

/* Right-side checkout card */
html.prism-light-mode .prism-checkout-ready-card {
    background: #f8fafc !important;
    border: 1px solid rgba(171, 149, 74, 0.28) !important;
    color: #111827 !important;
}

html.prism-light-mode .prism-checkout-ready-card .prism-service-card-inner,
html.prism-light-mode .prism-checkout-ready-card h2,
html.prism-light-mode .prism-checkout-ready-card p {
    color: #111827 !important;
}

/* Detail boxes should match the light invoice/payment panes */
html.prism-light-mode .prism-checkout-ready-details div {
    background: #ffffff !important;
    border: 1px solid rgba(171, 149, 74, 0.28) !important;
}

html.prism-light-mode .prism-checkout-ready-details dt {
    color: #AB954A !important;
}

html.prism-light-mode .prism-checkout-ready-details dd {
    color: #111827 !important;
}

/* =========================
   END CHECKOUT READY LIGHT MODE — MATCH MAIN PAY PORTAL
========================= */

/* =========================
   CHECKOUT READY BUTTON — MATCH PRIOR CHECKOUT BUTTONS
========================= */

.prism-checkout-ready-card .prism-secure-checkout-button,
.prism-checkout-ready-card .prism-secure-checkout-button:hover,
.prism-checkout-ready-card .prism-secure-checkout-button:focus,
.prism-checkout-ready-card .prism-secure-checkout-button:focus-visible {
    border-radius: 0 !important;
    height: auto !important;
    min-height: 38px !important;
    padding: 12px 18px !important;
    font-family: "Azeret Mono", monospace !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

/* Keep the final launch button visually consistent with the selected/ready checkout action */
html.prism-light-mode .prism-checkout-ready-card .prism-secure-checkout-button {
    background: #071fb8 !important;
    border-color: #071fb8 !important;
    color: #ffffff !important;
}

html.prism-light-mode .prism-checkout-ready-card .prism-secure-checkout-button:hover,
html.prism-light-mode .prism-checkout-ready-card .prism-secure-checkout-button:focus,
html.prism-light-mode .prism-checkout-ready-card .prism-secure-checkout-button:focus-visible {
    background: #071fb8 !important;
    border-color: #071fb8 !important;
    color: #ffffff !important;
}

/* =========================
   END CHECKOUT READY BUTTON — MATCH PRIOR CHECKOUT BUTTONS
========================= */

/* =========================
   CHECKOUT READY BUTTON — EXACT PRIOR BUTTON STYLE
========================= */

/* Remove the separate checkout-ready button treatment and force the final
   launch button to match the prior Card / ACH checkout buttons. */
.prism-checkout-ready-card #prism-helcim-launch {
    width: 100% !important;
    border-radius: 0 !important;
    min-height: 38px !important;
    padding: 12px 18px !important;
    font-family: "Azeret Mono", monospace !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-align: center !important;
}

/* Card path: match Start Card Checkout */
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch.prism-secure-checkout-button:not(.prism-secure-checkout-button-secondary) {
    background: #071fb8 !important;
    border: 1px solid #071fb8 !important;
    border-left: 2px solid #AB954A !important;
    color: #ffffff !important;
}

/* ACH path: match Start ACH Checkout */
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch.prism-secure-checkout-button-secondary {
    background: transparent !important;
    border: 1px solid #071fb8 !important;
    border-left: 2px solid #AB954A !important;
    color: #071fb8 !important;
}

/* Keep hover/focus from introducing a different style */
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch:hover,
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch:focus,
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch:focus-visible {
    border-radius: 0 !important;
}

/* =========================
   END CHECKOUT READY BUTTON — EXACT PRIOR BUTTON STYLE
========================= */

/* =========================
   CHECKOUT READY BUTTON — GOLD ACCENT MATCH
========================= */

/* Make the final launch button's gold left accent match the prior checkout buttons.
   Inset stripe is intentional so later border/background rules cannot swallow it. */
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch,
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch:hover,
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch:focus,
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch:focus-visible {
    border-radius: 0 !important;
    box-shadow: inset 4px 0 0 #AB954A !important;
}

/* Card path */
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch.prism-secure-checkout-button:not(.prism-secure-checkout-button-secondary) {
    background: #071fb8 !important;
    border: 1px solid #071fb8 !important;
    color: #ffffff !important;
}

/* ACH path */
html.prism-light-mode .prism-checkout-ready-card #prism-helcim-launch.prism-secure-checkout-button-secondary {
    background: transparent !important;
    border: 1px solid #071fb8 !important;
    color: #071fb8 !important;
}

/* =========================
   END CHECKOUT READY BUTTON — GOLD ACCENT MATCH
========================= */

/* PrismTechPay thank-you / confirmation page inline action links
   Prevent browser default purple visited-link styling. */
body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link,
body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link:visited,
body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link:hover,
body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-decoration: none !important;
}

html.prism-light-mode body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link,
html.prism-light-mode body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link:visited,
html.prism-light-mode body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link:hover,
html.prism-light-mode body.prism-pay-portal .prism-pay-wrap .prism-pay-intro a.wp-block-button__link:focus {
    color: #142A9F !important;
    -webkit-text-fill-color: #142A9F !important;
}
