/* Extracted from the PSFM Blade layout so browsers can cache these route-shared rules. */
.footer-area .footer-contact .footer-support-line-contact-list,
        html[dir="rtl"] .footer-area .footer-contact .footer-support-line-contact-list {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            flex-direction: row !important;
            gap: 9px !important;
            width: 100% !important;
            margin-top: 14px !important;
            padding: 11px 13px !important;
            border: 1px solid rgba(255, 255, 255, 0.12) !important;
            border-radius: 8px !important;
            background: rgba(255, 255, 255, 0.06) !important;
            color: var(--psfm-footer-soft, #cbd5e1) !important;
            font-weight: 800 !important;
            line-height: 1.35 !important;
            white-space: normal !important;
        }

        html[dir="rtl"] .footer-area .footer-contact .footer-support-line-contact-list {
            justify-content: flex-end !important;
            flex-direction: row-reverse !important;
            text-align: right !important;
        }

        .footer-area .footer-contact .footer-support-line-contact-list i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 28px !important;
            height: 28px !important;
            flex: 0 0 28px !important;
            margin: 0 !important;
            border-radius: 999px !important;
            background: rgba(226, 31, 38, 0.18) !important;
            color: #fff !important;
        }

        .psfm-phone-support-stack,
        .client-trust-contact .psfm-phone-support-stack,
        .seo-panel .contact-line .psfm-phone-support-stack,
        .local-contact-row .psfm-phone-support-stack,
        .contact-info-content .psfm-phone-support-stack {
            display: flex !important;
            flex-direction: column !important;
            align-items: flex-start !important;
            justify-content: center !important;
            gap: 5px !important;
            min-width: 0 !important;
            width: auto !important;
            max-width: 100% !important;
            line-height: 1.35 !important;
            white-space: normal !important;
        }

        .psfm-phone-support-stack > a {
            display: inline-flex !important;
            align-items: center !important;
            width: fit-content !important;
            max-width: 100% !important;
            min-width: 0 !important;
        }

        .psfm-contact-page .contact-info-content .psfm-phone-support-stack,
        .vendor-info-panel .psfm-phone-support-stack {
            display: block !important;
            gap: 0 !important;
        }

        .client-trust-contact .psfm-phone-support-stack {
            padding: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
        }

        html[dir="rtl"] .psfm-phone-support-stack {
            align-items: flex-end !important;
            text-align: right !important;
        }

        .psfm-contact-support-final {
            display: flex !important;
            align-items: flex-start !important;
            justify-content: flex-start !important;
            gap: 14px !important;
            margin: 0 !important;
            max-width: 100% !important;
            border-radius: 0 !important;
            background: transparent !important;
            color: #102033 !important;
            font-size: 0.95rem !important;
            font-weight: 800 !important;
            line-height: 1.35 !important;
            overflow-wrap: anywhere !important;
            text-align: start !important;
        }

        .psfm-contact-support-final.contact-info {
            padding: 15px 0 !important;
            border-bottom: 1px solid rgba(16, 32, 56, 0.08) !important;
        }

        .psfm-contact-support-final .psfm-contact-support-icon {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 28px !important;
            height: 28px !important;
            flex: 0 0 28px !important;
            margin: 0 !important;
            border-radius: 999px !important;
            background: rgba(226, 31, 38, 0.1) !important;
            color: #ed1c24 !important;
        }

        .psfm-contact-support-final .psfm-contact-support-icon i {
            line-height: 1 !important;
        }

        .psfm-contact-support-final .psfm-contact-support-copy {
            display: block !important;
            min-width: 0 !important;
            color: #102033 !important;
            font-weight: 800 !important;
            overflow-wrap: anywhere !important;
        }

        .psfm-phone-support-stack .psfm-contact-support-line {
            display: none !important;
        }

        .psfm-contact-support-standalone {
            display: flex !important;
            align-items: center !important;
            justify-content: flex-start !important;
            gap: 8px !important;
            min-width: 0 !important;
            max-width: 100% !important;
            color: #102033 !important;
            font-weight: 800 !important;
            line-height: 1.35 !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
        }

        .psfm-contact-support-standalone > i {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 28px !important;
            height: 28px !important;
            min-width: 28px !important;
            min-height: 28px !important;
            flex: 0 0 28px !important;
            margin: 0 !important;
            padding: 0 !important;
            border-radius: 999px !important;
            background: rgba(226, 31, 38, 0.1) !important;
            color: #ed1c24 !important;
            font-size: 0.9rem !important;
            line-height: 1 !important;
        }

        .psfm-contact-support-standalone > span,
        .psfm-contact-support-standalone > div {
            min-width: 0 !important;
            overflow-wrap: anywhere !important;
        }

        .operational-snapshot-link.psfm-contact-support-standalone {
            cursor: default !important;
        }

        html[dir="rtl"] .psfm-contact-support-final {
            flex-direction: row-reverse !important;
            justify-content: flex-end !important;
            text-align: right !important;
        }

        html[dir="rtl"] .psfm-contact-support-standalone {
            flex-direction: row-reverse !important;
            justify-content: flex-end !important;
            text-align: right !important;
        }

        html[dir="rtl"] .psfm-contact-support-final .contact-info-content {
            text-align: right !important;
        }

        @media (max-width: 991.98px) {
            body > header.header #main_nav.navbar-collapse.show,
            html[dir="rtl"] body > header.header #main_nav.navbar-collapse.show {
                left: 10px !important;
                right: 10px !important;
                width: calc(100vw - 20px) !important;
                max-width: calc(100vw - 20px) !important;
                min-width: 0 !important;
                box-sizing: border-box !important;
                overflow-x: hidden !important;
            }

            body > .psfm-mobile-action-strip,
            html[dir="rtl"] body > .psfm-mobile-action-strip {
                left: 0 !important;
                right: 0 !important;
                width: 100% !important;
                max-width: 100% !important;
                min-width: 0 !important;
                transform: none !important;
            }

            body > .psfm-mobile-action-strip .container,
            html[dir="rtl"] body > .psfm-mobile-action-strip .container {
                width: 100% !important;
                max-width: 100% !important;
                margin-inline: 0 !important;
                padding-left: max(10px, env(safe-area-inset-left, 0px)) !important;
                padding-right: max(10px, env(safe-area-inset-right, 0px)) !important;
                transform: none !important;
            }
        }

        .psfm-ai-assistant {
            position: fixed;
            right: 18px;
            bottom: 92px;
            z-index: 9990;
            font-family: "Roboto", "Arial", sans-serif;
        }

        .psfm-ai-assistant[dir="rtl"] {
            right: auto;
            left: 18px;
            font-family: "Tahoma", "Arial", sans-serif;
        }

        .psfm-ai-assistant .psfm-ai-launcher {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            min-height: 54px;
            padding: 10px 18px 10px 12px;
            border: 0;
            border-radius: 999px;
            background: linear-gradient(135deg, #ed1c24, #c9151b);
            color: #ffffff;
            box-shadow: 0 14px 34px rgba(7, 23, 44, 0.16);
            font-weight: 800;
            cursor: pointer;
        }

        .psfm-ai-assistant[dir="rtl"] .psfm-ai-launcher {
            padding: 10px 12px 10px 18px;
        }

        .psfm-ai-assistant .psfm-ai-launcher-icon {
            width: 34px;
            height: 34px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 0 34px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.18);
        }

        .psfm-ai-assistant .psfm-ai-panel {
            position: absolute;
            right: 0;
            bottom: 68px;
            width: min(392px, calc(100vw - 28px));
            max-height: min(680px, calc(100vh - 130px));
            display: flex;
            flex-direction: column;
            overflow: hidden;
            border-radius: 8px;
            background: #ffffff;
            border: 1px solid rgba(7, 23, 44, 0.12);
            box-shadow: 0 22px 58px rgba(7, 23, 44, 0.18);
        }

        .psfm-ai-assistant[dir="rtl"] .psfm-ai-panel {
            right: auto;
            left: 0;
        }

        .psfm-ai-assistant .psfm-ai-panel[hidden] {
            display: none !important;
        }

        @media (min-width: 768px) {
            .psfm-ai-assistant.is-home-page,
            .psfm-ai-assistant.is-conversion-critical-page {
                right: 22px;
                bottom: 92px;
                width: auto;
            }

            .psfm-ai-assistant.is-home-page[dir="rtl"],
            .psfm-ai-assistant.is-conversion-critical-page[dir="rtl"] {
                right: auto;
                left: 22px;
            }

            .psfm-ai-assistant.is-home-page .psfm-ai-launcher,
            .psfm-ai-assistant.is-conversion-critical-page .psfm-ai-launcher {
                width: 54px;
                min-width: 54px;
                min-height: 54px;
                justify-content: center;
                margin: 0;
                padding: 0;
                border-radius: 50%;
            }

            .psfm-ai-assistant.is-home-page .psfm-ai-launcher-icon,
            .psfm-ai-assistant.is-conversion-critical-page .psfm-ai-launcher-icon {
                width: 38px;
                height: 38px;
                flex-basis: 38px;
            }

            .psfm-ai-assistant.is-home-page .psfm-ai-launcher-text,
            .psfm-ai-assistant.is-conversion-critical-page .psfm-ai-launcher-text {
                position: absolute;
                width: 1px;
                height: 1px;
                margin: -1px;
                padding: 0;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
                border: 0;
            }
        }

        .footer-floating-contact .btn {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: auto !important;
            min-width: 68px;
            height: 44px;
            padding: 0 13px !important;
            border-radius: 999px !important;
            background: #ed1c24;
            border-color: rgba(255, 255, 255, 0.78) !important;
            color: #ffffff;
            font-weight: 800;
            line-height: 1;
        }

        .footer-floating-contact .btn i,
        .footer-floating-contact-text {
            position: relative;
            z-index: 1;
        }

        .footer-floating-contact .btn i {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 1em;
            color: inherit;
            font-size: 1rem;
            line-height: 1;
        }

        .footer-floating-contact-text {
            display: inline-block;
            color: inherit;
            font-size: 0.74rem;
            line-height: 1;
            letter-spacing: 0;
            white-space: nowrap;
        }

        @media (max-width: 991.98px) {
            html,
            body,
            button,
            input,
            select,
            textarea,
            .navbar,
            .theme-btn,
            .theme-btn-white {
                font-family: Roboto, sans-serif !important;
            }

            h1,
            h2,
            h3,
            h4,
            h5,
            h6,
            .site-title,
            .hero-main-title {
                font-family: Archivo, sans-serif !important;
            }

            .psfm-ai-assistant {
                position: fixed;
                inset-inline-end: 14px;
                bottom: calc(var(--psfm-mobile-bottom-safe-offset, 74px) + 18px);
                z-index: 1120;
                width: 46px;
                max-width: 46px;
            }

            .psfm-ai-assistant .psfm-ai-launcher {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                width: 46px;
                min-width: 46px;
                max-width: 46px;
                height: 46px;
                min-height: 46px;
                padding: 0;
                border: 0;
                border-radius: 50%;
                background: #ED1C24;
                color: #ffffff;
                box-shadow: 0 12px 28px rgba(7, 23, 44, 0.18);
                font-size: 0.78rem;
                font-weight: 800;
                line-height: 1.15;
                text-align: center;
                overflow: hidden;
            }

            .psfm-ai-assistant .psfm-ai-launcher-icon {
                display: inline-flex;
                width: 30px;
                height: 30px;
                flex: 0 0 30px;
            }

            .psfm-ai-assistant .psfm-ai-launcher-text {
                position: absolute;
                width: 1px;
                height: 1px;
                overflow: hidden;
                clip: rect(0, 0, 0, 0);
                white-space: nowrap;
            }

            .psfm-ai-assistant .psfm-ai-panel[hidden] {
                display: none !important;
            }
        }

        @media (max-width: 575.98px) {
            .psfm-ai-assistant {
                inset-inline-end: 12px;
                bottom: calc(var(--psfm-mobile-bottom-safe-offset, 66px) + 14px);
                width: 42px;
                max-width: 42px;
            }

            .psfm-ai-assistant .psfm-ai-launcher {
                width: 42px;
                min-width: 42px;
                max-width: 42px;
                height: 42px;
                min-height: 42px;
                box-shadow: 0 10px 22px rgba(7, 23, 44, 0.16);
            }

            .psfm-ai-assistant .psfm-ai-launcher-icon {
                width: 28px;
                height: 28px;
                flex-basis: 28px;
            }

            .psfm-ai-assistant .psfm-ai-panel {
                width: min(360px, calc(100vw - 24px));
                max-height: min(620px, calc(100vh - 118px));
            }
        }

        @media (max-width: 991.98px) {
            .psfm-ai-assistant.is-home-page:not(.is-open),
            .psfm-ai-assistant.is-home-page.is-home-mobile-first-viewport:not(.is-open) {
                opacity: 0 !important;
                visibility: hidden !important;
                pointer-events: none !important;
                transform: translateY(12px) !important;
            }

            html.psfm-ai-assistant-viewport-ready .psfm-ai-assistant.is-home-page:not(.is-home-mobile-first-viewport):not(.is-open) {
                opacity: 1 !important;
                visibility: visible !important;
                pointer-events: auto !important;
                transform: none !important;
            }
        }

        /* Keep the opened assistant panel fully inside short desktop and mobile viewports. */
        .psfm-ai-assistant.is-open .psfm-ai-panel,
        .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
        .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
            max-height: min(520px, calc(100vh - 170px)) !important;
        }

        @media (max-width: 575.98px) {
            .psfm-ai-assistant.is-open .psfm-ai-panel,
            .psfm-ai-assistant.is-open.is-home-page .psfm-ai-panel,
            .psfm-ai-assistant.is-open.is-conversion-critical-page .psfm-ai-panel {
                max-height: min(480px, calc(100vh - 154px)) !important;
            }
        }

        @media (max-width: 991.98px) {
            .psfm-ai-assistant,
            .psfm-ai-assistant.is-home-page,
            .psfm-ai-assistant.is-conversion-critical-page {
                z-index: 2147483002 !important;
            }
        }

