{"id":5766,"date":"2026-06-04T00:00:33","date_gmt":"2026-06-04T00:00:33","guid":{"rendered":"https:\/\/viewari.com\/?page_id=5766"},"modified":"2026-06-14T05:23:06","modified_gmt":"2026-06-14T05:23:06","slug":"photo","status":"publish","type":"page","link":"https:\/\/viewari.com\/facebook\/photo\/","title":{"rendered":"Facebook Photo Viewer &#8211; Unlock &amp; Browse Hidden Photos Online"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5766\" class=\"elementor elementor-5766\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26ba82c e-con-full e-flex e-con e-parent\" data-id=\"26ba82c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2661b0e7 elementor-widget elementor-widget-shortcode\" data-id=\"2661b0e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap\"\r\n        rel=\"stylesheet\">\r\n    <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\">\r\n    <style>\r\n        .fb-photo-wrapper * {\r\n            margin: 0;\r\n            padding: 0;\r\n            box-sizing: border-box;\r\n        }\r\n\r\n        .fb-photo-wrapper {\r\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;\r\n            background: #f0f2f5;\r\n            color: #1c1e21;\r\n            min-height: 100vh;\r\n            overflow-x: hidden;\r\n            position: relative;\r\n        }\r\n\r\n        \/* Premium Background *\/\r\n        .fb-photo-wrapper::before {\r\n            content: '';\r\n            position: fixed;\r\n            top: 0;\r\n            left: 0;\r\n            width: 100%;\r\n            height: 100%;\r\n            background:\r\n                radial-gradient(circle at 20% 80%, rgba(24, 119, 242, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 80% 20%, rgba(66, 103, 178, 0.1) 0%, transparent 50%),\r\n                radial-gradient(circle at 40% 40%, rgba(24, 119, 242, 0.05) 0%, transparent 50%);\r\n            pointer-events: none;\r\n            z-index: 0;\r\n        }\r\n\r\n        .fb-photo-container {\r\n            max-width: 1400px;\r\n            margin: 0 auto;\r\n            padding: 0 2rem;\r\n            position: relative;\r\n            z-index: 1;\r\n        }\r\n\r\n        \/* Premium Header *\/\r\n        .fb-photo-header {\r\n            text-align: center;\r\n            padding: 6rem 0 4rem 0;\r\n            position: relative;\r\n        }\r\n\r\n        .fb-photo-header::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 50%;\r\n            left: 50%;\r\n            transform: translate(-50%, -50%);\r\n            width: 500px;\r\n            height: 500px;\r\n            background: radial-gradient(circle, rgba(24, 119, 242, 0.08) 0%, transparent 70%);\r\n            border-radius: 50%;\r\n            z-index: -1;\r\n        }\r\n\r\n        .fb-photo-title {\r\n            font-size: clamp(3rem, 6vw, 5rem);\r\n            font-weight: 900;\r\n            background: linear-gradient(135deg, #1877f2 0%, #42a5f5 50%, #1877f2 100%);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            margin-bottom: 1.5rem;\r\n            letter-spacing: -0.03em;\r\n            line-height: 1.1;\r\n            filter: drop-shadow(0 8px 25px rgba(24, 119, 242, 0.3));\r\n        }\r\n\r\n        .fb-photo-subtitle {\r\n            font-size: 1.3rem;\r\n            color: #65676b;\r\n            font-weight: 400;\r\n            max-width: 600px;\r\n            margin: 0 auto;\r\n            line-height: 1.6;\r\n        }\r\n\r\n        \/* Main Content Card *\/\r\n        .fb-photo-main-card {\r\n            background: rgba(255, 255, 255, 0.95);\r\n            border: 1px solid rgba(24, 119, 242, 0.1);\r\n            border-radius: 2.5rem;\r\n            padding: 4rem;\r\n            margin-bottom: 3rem;\r\n            backdrop-filter: blur(30px);\r\n            box-shadow: 0 30px 60px rgba(24, 119, 242, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05);\r\n        }\r\n\r\n        \/* Search Section *\/\r\n        .fb-photo-search-section {\r\n            margin-bottom: 4rem;\r\n        }\r\n\r\n        .fb-photo-search-form {\r\n            display: flex;\r\n            gap: 1.5rem;\r\n            max-width: 900px;\r\n            margin: 0 auto;\r\n        }\r\n\r\n        .fb-photo-url-input {\r\n            flex: 1;\r\n            padding: 1.8rem 2.5rem;\r\n            border: 2px solid rgba(24, 119, 242, 0.2);\r\n            border-radius: 1.5rem;\r\n            font-size: 1.2rem;\r\n            background: rgba(255, 255, 255, 0.8);\r\n            color: #1c1e21;\r\n            font-weight: 500;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            backdrop-filter: blur(10px);\r\n        }\r\n\r\n        .fb-photo-url-input::placeholder {\r\n            color: #65676b;\r\n        }\r\n\r\n        .fb-photo-url-input:focus {\r\n            outline: none;\r\n            border-color: #1877f2;\r\n            background: rgba(255, 255, 255, 0.95);\r\n            box-shadow: 0 0 0 4px rgba(24, 119, 242, 0.15), 0 10px 30px rgba(24, 119, 242, 0.1);\r\n            transform: translateY(-3px);\r\n        }\r\n\r\n        .fb-photo-analyze-btn {\r\n            background: linear-gradient(135deg, #1877f2 0%, #42a5f5 100%);\r\n            color: white;\r\n            border: none;\r\n            padding: 1.8rem 3.5rem;\r\n            border-radius: 1.5rem;\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            box-shadow: 0 15px 35px rgba(24, 119, 242, 0.3);\r\n            position: relative;\r\n            overflow: hidden;\r\n            backdrop-filter: blur(10px);\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 0.75rem;\r\n        }\r\n\r\n        .fb-photo-analyze-btn::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);\r\n            transition: left 0.6s;\r\n        }\r\n\r\n        .fb-photo-analyze-btn:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .fb-photo-analyze-btn:hover {\r\n            transform: translateY(-5px);\r\n            box-shadow: 0 25px 50px rgba(24, 119, 242, 0.4);\r\n        }\r\n\r\n        .fb-photo-analyze-btn:active {\r\n            transform: translateY(-2px);\r\n        }\r\n\r\n        .fb-photo-analyze-btn.loading {\r\n            pointer-events: none;\r\n            opacity: 0.8;\r\n        }\r\n\r\n        .fb-photo-analyze-btn .fb-photo-btn-spinner {\r\n            display: none;\r\n            animation: fb-photo-spin 1s linear infinite;\r\n        }\r\n\r\n        .fb-photo-analyze-btn.loading .fb-photo-btn-spinner {\r\n            display: inline-block;\r\n        }\r\n\r\n        .fb-photo-analyze-btn.loading .fb-photo-btn-text {\r\n            display: none;\r\n        }\r\n\r\n        \/* Loading Section *\/\r\n        .fb-photo-loading-section {\r\n            text-align: center;\r\n            padding: 6rem 0;\r\n        }\r\n\r\n        .fb-photo-spinner {\r\n            width: 80px;\r\n            height: 80px;\r\n            border: 4px solid rgba(24, 119, 242, 0.1);\r\n            border-top: 4px solid #1877f2;\r\n            border-radius: 50%;\r\n            animation: fb-photo-spin 1s linear infinite;\r\n            margin: 0 auto 2rem;\r\n        }\r\n\r\n        @keyframes fb-photo-spin {\r\n            to {\r\n                transform: rotate(360deg);\r\n            }\r\n        }\r\n\r\n        .fb-photo-loading-text {\r\n            font-size: 1.3rem;\r\n            color: #1877f2;\r\n            font-weight: 600;\r\n        }\r\n\r\n        \/* Photos Grid *\/\r\n        .fb-photo-photos-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));\r\n            gap: 3rem;\r\n            margin-top: 4rem;\r\n        }\r\n\r\n        .fb-photo-card {\r\n            background: rgba(255, 255, 255, 0.8);\r\n            border: 1px solid rgba(24, 119, 242, 0.1);\r\n            border-radius: 2rem;\r\n            overflow: hidden;\r\n            transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);\r\n            cursor: pointer;\r\n            position: relative;\r\n            backdrop-filter: blur(20px);\r\n            box-shadow: 0 10px 30px rgba(24, 119, 242, 0.1);\r\n        }\r\n\r\n        .fb-photo-card:hover {\r\n            transform: translateY(-20px) scale(1.03);\r\n            border-color: rgba(24, 119, 242, 0.3);\r\n            box-shadow: 0 40px 80px rgba(24, 119, 242, 0.2), 0 0 0 1px rgba(24, 119, 242, 0.1);\r\n        }\r\n\r\n        .fb-photo-image {\r\n            width: 100%;\r\n            height: 350px;\r\n            object-fit: cover;\r\n            transition: transform 0.5s ease;\r\n        }\r\n\r\n        .fb-photo-card:hover .fb-photo-image {\r\n            transform: scale(1.15);\r\n        }\r\n\r\n        .fb-photo-overlay {\r\n            position: absolute;\r\n            bottom: 0;\r\n            left: 0;\r\n            right: 0;\r\n            background: linear-gradient(transparent, rgba(0, 0, 0, 0.9));\r\n            padding: 4rem 2.5rem 2.5rem;\r\n            opacity: 0;\r\n            transition: opacity 0.4s ease;\r\n        }\r\n\r\n        .fb-photo-card:hover .fb-photo-overlay {\r\n            opacity: 1;\r\n        }\r\n\r\n        .fb-photo-actions {\r\n            display: flex;\r\n            gap: 1.5rem;\r\n            justify-content: center;\r\n        }\r\n\r\n        .fb-photo-action-btn {\r\n            background: rgba(255, 255, 255, 0.95);\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 64px;\r\n            height: 64px;\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            font-size: 1.4rem;\r\n            color: #1877f2;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);\r\n        }\r\n\r\n        .fb-photo-action-btn:hover {\r\n            background: #1877f2;\r\n            color: white;\r\n            transform: scale(1.15);\r\n            box-shadow: 0 10px 25px rgba(24, 119, 242, 0.3);\r\n        }\r\n\r\n        \/* Modal *\/\r\n        .fb-photo-modal {\r\n            position: fixed;\r\n            inset: 0;\r\n            background: rgba(0, 0, 0, 0.95);\r\n            display: flex;\r\n            align-items: center;\r\n            justify-content: center;\r\n            z-index: 1000;\r\n            opacity: 0;\r\n            pointer-events: none;\r\n            transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            backdrop-filter: blur(20px);\r\n        }\r\n\r\n        .fb-photo-modal.active {\r\n            opacity: 1;\r\n            pointer-events: all;\r\n        }\r\n\r\n        .fb-photo-modal-content {\r\n            background: rgba(255, 255, 255, 0.95);\r\n            border: 1px solid rgba(24, 119, 242, 0.1);\r\n            border-radius: 2.5rem;\r\n            max-width: 90vw;\r\n            max-height: 90vh;\r\n            overflow: hidden;\r\n            position: relative;\r\n            backdrop-filter: blur(30px);\r\n            box-shadow: 0 40px 80px rgba(24, 119, 242, 0.2), 0 0 0 1px rgba(255, 255, 255, 0.05);\r\n            transform: scale(0.9) translateY(20px);\r\n            transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n        }\r\n\r\n        .fb-photo-modal.active .fb-photo-modal-content {\r\n            transform: scale(1) translateY(0);\r\n        }\r\n\r\n        .fb-photo-modal-image {\r\n            max-width: 100%;\r\n            max-height: 70vh;\r\n            object-fit: contain;\r\n            display: block;\r\n        }\r\n\r\n        .fb-photo-modal-close {\r\n            position: absolute;\r\n            top: 2rem;\r\n            right: 2rem;\r\n            background: rgba(0, 0, 0, 0.8);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 50%;\r\n            width: 64px;\r\n            height: 64px;\r\n            font-size: 1.5rem;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            backdrop-filter: blur(10px);\r\n            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);\r\n        }\r\n\r\n        .fb-photo-modal-close:hover {\r\n            background: rgba(0, 0, 0, 0.9);\r\n            transform: scale(1.1);\r\n            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);\r\n        }\r\n\r\n        .fb-photo-modal-actions {\r\n            padding: 3rem;\r\n            display: flex;\r\n            gap: 2rem;\r\n            justify-content: center;\r\n        }\r\n\r\n        .fb-photo-modal-action-btn {\r\n            background: linear-gradient(135deg, #1877f2 0%, #42a5f5 100%);\r\n            color: white;\r\n            border: none;\r\n            border-radius: 1.5rem;\r\n            padding: 1.2rem 2.5rem;\r\n            font-size: 1.2rem;\r\n            font-weight: 600;\r\n            cursor: pointer;\r\n            transition: all 0.3s ease;\r\n            display: flex;\r\n            align-items: center;\r\n            gap: 1rem;\r\n            box-shadow: 0 10px 25px rgba(24, 119, 242, 0.3);\r\n        }\r\n\r\n        .fb-photo-modal-action-btn:hover {\r\n            transform: translateY(-3px);\r\n            box-shadow: 0 20px 40px rgba(24, 119, 242, 0.4);\r\n        }\r\n\r\n        \/* Error Message *\/\r\n        .fb-photo-error-message {\r\n            background: linear-gradient(135deg, #ff6b6b 0%, #ee5a52 100%);\r\n            color: white;\r\n            padding: 1.5rem 2rem;\r\n            border-radius: 1rem;\r\n            margin-top: 1.5rem;\r\n            font-weight: 500;\r\n            text-align: center;\r\n            display: none;\r\n        }\r\n\r\n        \/* No Data Message *\/\r\n        .fb-photo-no-data-message {\r\n            text-align: center;\r\n            color: #1877f2;\r\n            padding: 6rem 0;\r\n            font-size: 1.3rem;\r\n            font-weight: 500;\r\n        }\r\n\r\n        \/* Premium Features Grid *\/\r\n        .fb-photo-features-grid {\r\n            display: grid;\r\n            grid-template-columns: repeat(4, 1fr);\r\n            gap: 1.5rem;\r\n            margin-top: 3rem;\r\n        }\r\n\r\n        .fb-photo-feature-card {\r\n            background: rgba(255, 255, 255, 0.8);\r\n            border: 1px solid rgba(24, 119, 242, 0.1);\r\n            border-radius: 1.2rem;\r\n            padding: 2rem 1.5rem;\r\n            text-align: center;\r\n            transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);\r\n            position: relative;\r\n            overflow: hidden;\r\n            backdrop-filter: blur(20px);\r\n            box-shadow: 0 5px 15px rgba(24, 119, 242, 0.1);\r\n        }\r\n\r\n        .fb-photo-feature-card::before {\r\n            content: '';\r\n            position: absolute;\r\n            top: 0;\r\n            left: -100%;\r\n            width: 100%;\r\n            height: 100%;\r\n            background: linear-gradient(90deg, transparent, rgba(24, 119, 242, 0.05), transparent);\r\n            transition: left 0.6s;\r\n        }\r\n\r\n        .fb-photo-feature-card:hover::before {\r\n            left: 100%;\r\n        }\r\n\r\n        .fb-photo-feature-card:hover {\r\n            transform: translateY(-6px);\r\n            background: rgba(255, 255, 255, 0.9);\r\n            border-color: rgba(24, 119, 242, 0.3);\r\n            box-shadow: 0 15px 30px rgba(24, 119, 242, 0.2);\r\n        }\r\n\r\n        .fb-photo-feature-icon {\r\n            font-size: 2rem;\r\n            background: linear-gradient(135deg, #1877f2 0%, #42a5f5 100%);\r\n            -webkit-background-clip: text;\r\n            -webkit-text-fill-color: transparent;\r\n            background-clip: text;\r\n            margin-bottom: 1rem;\r\n            display: inline-block;\r\n            filter: drop-shadow(0 3px 10px rgba(24, 119, 242, 0.3));\r\n        }\r\n\r\n        .fb-photo-feature-title {\r\n            font-size: 1.1rem;\r\n            font-weight: 600;\r\n            color: #1c1e21;\r\n            margin-bottom: 0.8rem;\r\n        }\r\n\r\n        .fb-photo-feature-desc {\r\n            color: #65676b;\r\n            font-size: 0.85rem;\r\n            line-height: 1.5;\r\n        }\r\n\r\n        \/* Responsive Design *\/\r\n        @media (max-width: 1200px) {\r\n            .fb-photo-features-grid {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 1.2rem;\r\n            }\r\n\r\n            .fb-photo-feature-card {\r\n                padding: 1.8rem 1.2rem;\r\n            }\r\n\r\n            .fb-photo-feature-icon {\r\n                font-size: 1.8rem;\r\n            }\r\n\r\n            .fb-photo-feature-title {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .fb-photo-feature-desc {\r\n                font-size: 0.8rem;\r\n            }\r\n\r\n            .fb-photo-photos-grid {\r\n                grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));\r\n                gap: 2.5rem;\r\n            }\r\n            .fb-photo-search-form {\r\n\tdisplay: flex;\r\n\tgap: 1.5rem;\r\n\tmax-width: 900px;\r\n\tmargin: 0 auto;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 768px) {\r\n            .fb-photo-container {\r\n                padding: 0 1rem;\r\n            }\r\n\r\n            .fb-photo-main-card {\r\n                padding: 2rem 1.5rem;\r\n            }\r\n\r\n            .fb-photo-search-form {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n            }\r\n\r\n            .fb-photo-photos-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 2rem;\r\n            }\r\n\r\n            .fb-photo-header {\r\n                padding: 3rem 0 2rem 0;\r\n            }\r\n\r\n            .fb-photo-features-grid {\r\n                grid-template-columns: repeat(2, 1fr);\r\n                gap: 1rem;\r\n                margin-top: 2rem;\r\n            }\r\n\r\n            .fb-photo-feature-card {\r\n                padding: 1.5rem 1rem;\r\n            }\r\n\r\n            .fb-photo-feature-icon {\r\n                font-size: 1.6rem;\r\n                margin-bottom: 0.8rem;\r\n            }\r\n\r\n            .fb-photo-feature-title {\r\n                font-size: 0.95rem;\r\n                margin-bottom: 0.6rem;\r\n            }\r\n\r\n            .fb-photo-feature-desc {\r\n                font-size: 0.75rem;\r\n                line-height: 1.4;\r\n            }\r\n\r\n            .fb-photo-url-input {\r\n                padding: 1.5rem 1.5rem;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .fb-photo-analyze-btn {\r\n                padding: 1.5rem 2rem;\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .fb-photo-modal-actions {\r\n                flex-direction: column;\r\n                gap: 1rem;\r\n                padding: 2rem;\r\n            }\r\n\r\n            .fb-photo-modal-action-btn {\r\n                padding: 1rem 2rem;\r\n                font-size: 1rem;\r\n            }\r\n            .fb-photo-search-form {\r\n\tdisplay: flex;\r\n\tgap: 1.5rem;\r\n\tmax-width: 900px;\r\n\tmargin: 0 auto;\r\n\tflex-direction: column;\r\n}\r\n        }\r\n\r\n        @media (max-width: 480px) {\r\n            .fb-photo-features-grid {\r\n                grid-template-columns: 1fr;\r\n                gap: 1rem;\r\n                margin-top: 1.5rem;\r\n            }\r\n\r\n            .fb-photo-feature-card {\r\n                padding: 1.2rem 1rem;\r\n            }\r\n\r\n            .fb-photo-feature-icon {\r\n                font-size: 1.5rem;\r\n                margin-bottom: 0.6rem;\r\n            }\r\n\r\n            .fb-photo-feature-title {\r\n                font-size: 0.9rem;\r\n                margin-bottom: 0.5rem;\r\n            }\r\n\r\n            .fb-photo-feature-desc {\r\n                font-size: 0.7rem;\r\n                line-height: 1.3;\r\n            }\r\n\r\n            .fb-photo-title {\r\n                font-size: clamp(2rem, 5vw, 3rem);\r\n            }\r\n\r\n            .fb-photo-subtitle {\r\n                font-size: 1rem;\r\n            }\r\n\r\n            .fb-photo-main-card {\r\n                padding: 1.5rem 1rem;\r\n            }\r\n\r\n            .fb-photo-url-input {\r\n                padding: 1.2rem 1.2rem;\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .fb-photo-analyze-btn {\r\n                padding: 1.2rem 1.5rem;\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .fb-photo-photos-grid {\r\n                gap: 1.5rem;\r\n            }\r\n\r\n            .fb-photo-card {\r\n                border-radius: 1.5rem;\r\n            }\r\n\r\n            .fb-photo-image {\r\n                height: 250px;\r\n            }\r\n\r\n            .fb-photo-action-btn {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 1.2rem;\r\n            }\r\n\r\n            .fb-photo-modal-close {\r\n                width: 50px;\r\n                height: 50px;\r\n                font-size: 1.2rem;\r\n                top: 1rem;\r\n                right: 1rem;\r\n            }\r\n\r\n            .fb-photo-modal-actions {\r\n                padding: 1.5rem;\r\n            }\r\n\r\n            .fb-photo-modal-action-btn {\r\n                padding: 0.8rem 1.5rem;\r\n                font-size: 0.9rem;\r\n            }\r\n        }\r\n\r\n        @media (max-width: 360px) {\r\n            .fb-photo-container {\r\n                padding: 0 0.5rem;\r\n            }\r\n\r\n            .fb-photo-main-card {\r\n                padding: 1rem 0.8rem;\r\n            }\r\n\r\n            .fb-photo-feature-card {\r\n                padding: 1rem 0.8rem;\r\n            }\r\n\r\n            .fb-photo-feature-icon {\r\n                font-size: 1.3rem;\r\n            }\r\n\r\n            .fb-photo-feature-title {\r\n                font-size: 0.85rem;\r\n            }\r\n\r\n            .fb-photo-feature-desc {\r\n                font-size: 0.65rem;\r\n            }\r\n\r\n            .fb-photo-header {\r\n                padding: 2rem 0 1.5rem 0;\r\n            }\r\n\r\n            .fb-photo-title {\r\n                font-size: clamp(1.8rem, 4vw, 2.5rem);\r\n            }\r\n\r\n            .fb-photo-subtitle {\r\n                font-size: 0.9rem;\r\n            }\r\n\r\n            .fb-photo-url-input {\r\n                padding: 1rem 1rem;\r\n                font-size: 0.85rem;\r\n            }\r\n\r\n            .fb-photo-analyze-btn {\r\n                padding: 1rem 1.2rem;\r\n                font-size: 0.85rem;\r\n            }\r\n\r\n            .fb-photo-image {\r\n                height: 200px;\r\n            }\r\n\r\n            .fb-photo-action-btn {\r\n                width: 45px;\r\n                height: 45px;\r\n                font-size: 1rem;\r\n            }\r\n        }\r\n\r\n        \/* Premium Animations *\/\r\n        @keyframes fb-photo-fadeInUp {\r\n            from {\r\n                opacity: 0;\r\n                transform: translateY(30px);\r\n            }\r\n\r\n            to {\r\n                opacity: 1;\r\n                transform: translateY(0);\r\n            }\r\n        }\r\n\r\n        .fb-photo-feature-card {\r\n            animation: fb-photo-fadeInUp 0.6s ease forwards;\r\n        }\r\n\r\n        .fb-photo-feature-card:nth-child(1) {\r\n            animation-delay: 0.1s;\r\n        }\r\n\r\n        .fb-photo-feature-card:nth-child(2) {\r\n            animation-delay: 0.2s;\r\n        }\r\n\r\n        .fb-photo-feature-card:nth-child(3) {\r\n            animation-delay: 0.3s;\r\n        }\r\n\r\n        .fb-photo-feature-card:nth-child(4) {\r\n            animation-delay: 0.4s;\r\n        }\r\n    <\/style>\r\n\r\n    <div class=\"fb-photo-wrapper\">\r\n        <div class=\"fb-photo-container\">\r\n            <header class=\"fb-photo-header\">\r\n                <h1 class=\"fb-photo-title\"><i class=\"fab fa-facebook\"><\/i> Facebook Photo Viewer<\/h1>\r\n                <p class=\"fb-photo-subtitle\"><i class=\"fas fa-camera\"><\/i> Experience the ultimate way to view and download photos from any Facebook\r\n                    profile, group, or page with our premium interface.<\/p>\r\n            <\/header>\r\n\r\n            <div class=\"fb-photo-main-card\">\r\n                <section class=\"fb-photo-search-section\">\r\n                    <form class=\"fb-photo-search-form\" onsubmit=\"analyzeUrl(event)\">\r\n                        <input type=\"url\" id=\"urlInput\" class=\"fb-photo-url-input\"\r\n                            placeholder=\"Enter Facebook profile, group, or page URL...\" required>\r\n                        <button type=\"submit\" class=\"fb-photo-analyze-btn\" id=\"analyzeBtn\">\r\n                            <i class=\"fas fa-spinner fb-photo-btn-spinner\"><\/i>\r\n                            <span class=\"fb-photo-btn-text\">\r\n                                <i class=\"fas fa-search\"><\/i> Analyze Photos\r\n                            <\/span>\r\n                        <\/button>\r\n                    <\/form>\r\n                    <div id=\"errorMessage\" class=\"fb-photo-error-message\"><\/div>\r\n                <\/section>\r\n\r\n                <!-- Premium Features -->\r\n                <section class=\"fb-photo-features-grid\">\r\n                    <div class=\"fb-photo-feature-card\">\r\n                        <div class=\"fb-photo-feature-icon\"><i class=\"fas fa-images\"><\/i><\/div>\r\n                        <div class=\"fb-photo-feature-title\">Bulk Photo Viewer<\/div>\r\n                        <div class=\"fb-photo-feature-desc\">View all photos in a beautiful grid layout with high-quality previews\r\n                        <\/div>\r\n                    <\/div>\r\n                    <div class=\"fb-photo-feature-card\">\r\n                        <div class=\"fb-photo-feature-icon\"><i class=\"fas fa-download\"><\/i><\/div>\r\n                        <div class=\"fb-photo-feature-title\">One-Click Download<\/div>\r\n                        <div class=\"fb-photo-feature-desc\">Download photos instantly with our optimized download system<\/div>\r\n                    <\/div>\r\n                    <div class=\"fb-photo-feature-card\">\r\n                        <div class=\"fb-photo-feature-icon\"><i class=\"fas fa-share-alt\"><\/i><\/div>\r\n                        <div class=\"fb-photo-feature-title\">Easy Sharing<\/div>\r\n                        <div class=\"fb-photo-feature-desc\">Share photos directly to social media or copy links instantly<\/div>\r\n                    <\/div>\r\n                    <div class=\"fb-photo-feature-card\">\r\n                        <div class=\"fb-photo-feature-icon\"><i class=\"fas fa-shield-alt\"><\/i><\/div>\r\n                        <div class=\"fb-photo-feature-title\">Secure & Private<\/div>\r\n                        <div class=\"fb-photo-feature-desc\">Your privacy is our priority with secure, encrypted connections<\/div>\r\n                    <\/div>\r\n                <\/section>\r\n\r\n                <div id=\"loadingSection\" class=\"fb-photo-loading-section\" style=\"display:none;\">\r\n                    <div class=\"fb-photo-spinner\"><\/div>\r\n                    <div class=\"fb-photo-loading-text\"><i class=\"fas fa-spinner fa-spin\"><\/i> Analyzing and fetching photos...<\/div>\r\n                <\/div>\r\n\r\n                <main id=\"photosContent\"><\/main>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Photo Modal -->\r\n        <div id=\"photo-modal\" class=\"fb-photo-modal\">\r\n            <div class=\"fb-photo-modal-content\">\r\n                <button class=\"fb-photo-modal-close\" onclick=\"closePhotoModal()\">\r\n                    <i class=\"fas fa-times\"><\/i>\r\n                <\/button>\r\n                <img decoding=\"async\" id=\"photo-modal-image\" class=\"fb-photo-modal-image\" src=\"\" alt=\"Photo\">\r\n                <div class=\"fb-photo-modal-actions\">\r\n                    <button class=\"fb-photo-modal-action-btn\" onclick=\"downloadCurrentPhoto()\">\r\n                        <i class=\"fas fa-download\"><\/i> Download\r\n                    <\/button>\r\n                    <button class=\"fb-photo-modal-action-btn\" onclick=\"shareCurrentPhoto()\">\r\n                        <i class=\"fas fa-share\"><\/i> Share\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <script src=\"https:\/\/tools.xrespond.com\/api\/rate-limit-handler.js\"><\/script>\r\n<script src=\"https:\/\/tools.xrespond.com\/api\/js\/client-ip-detector.js\"><\/script>\r\n \r\n    <script>\r\n        let currentPhotos = [];\r\n        let currentPhotoIndex = null;\r\n        let currentPhotoUrl = '';\r\n\r\n        function analyzeUrl(event) {\r\n            event.preventDefault();\r\n            const url = document.getElementById('urlInput').value.trim();\r\n            if (!url) return;\r\n\r\n            \/\/ Add loading state to button\r\n            const analyzeBtn = document.getElementById('analyzeBtn');\r\n            analyzeBtn.classList.add('loading');\r\n\r\n            document.getElementById('errorMessage').style.display = 'none';\r\n            document.getElementById('photosContent').innerHTML = '';\r\n            document.getElementById('loadingSection').style.display = 'block';\r\n\r\n            fetch('https:\/\/tools.xrespond.com\/api\/facebook\/all-details', {\r\n                method: 'POST',\r\n                headers: { 'Content-Type': 'application\/json' },\r\n                body: JSON.stringify({ url })\r\n            })\r\n                .then(res => res.json())\r\n                .then(data => {\r\n                    let images = extractAllImages(data);\r\n                    images = images.filter(img => img.width > 200 && img.height > 200);\r\n                    images = getUniqueImages(images);\r\n                    images = images.sort((a, b) => b.quality - a.quality);\r\n                    currentPhotos = images;\r\n\r\n                    document.getElementById('loadingSection').style.display = 'none';\r\n                    analyzeBtn.classList.remove('loading');\r\n\r\n                    if (images.length > 0) {\r\n                        displayPhotos(images);\r\n                        \/\/ Scroll to results\r\n                        setTimeout(() => {\r\n                            document.getElementById('photosContent').scrollIntoView({\r\n                                behavior: 'smooth',\r\n                                block: 'start'\r\n                            });\r\n                        }, 100);\r\n                    } else {\r\n                        document.getElementById('photosContent').innerHTML =\r\n                            '<div class=\"fb-photo-no-data-message\"><i class=\"fas fa-images\"><\/i> No photos found or content is private.<\/div>';\r\n                        \/\/ Scroll to no data message\r\n                        setTimeout(() => {\r\n                            document.getElementById('photosContent').scrollIntoView({\r\n                                behavior: 'smooth',\r\n                                block: 'start'\r\n                            });\r\n                        }, 100);\r\n                    }\r\n                })\r\n                .catch(err => {\r\n                    document.getElementById('loadingSection').style.display = 'none';\r\n                    analyzeBtn.classList.remove('loading');\r\n                    document.getElementById('errorMessage').innerHTML = '<i class=\"fas fa-exclamation-triangle\"><\/i> Error fetching photos: ' + err.message;\r\n                    document.getElementById('errorMessage').style.display = 'block';\r\n                });\r\n        }\r\n\r\n        function extractAllImages(obj, path = '') {\r\n            const images = [];\r\n            if (obj && typeof obj === 'object') {\r\n                if (Array.isArray(obj)) {\r\n                    obj.forEach((item, index) => {\r\n                        images.push(...extractAllImages(item, `${path}[${index}]`));\r\n                    });\r\n                } else {\r\n                    for (const [key, value] of Object.entries(obj)) {\r\n                        if (key === 'prefetch_uris_v2' && Array.isArray(value)) {\r\n                            value.forEach((uriObj) => {\r\n                                if (uriObj?.uri) {\r\n                                    const resolution = extractResolution(uriObj.uri);\r\n                                    const quality = getQualityScore(uriObj.uri, resolution?.width || 0, resolution?.height || 0);\r\n                                    images.push({\r\n                                        uri: uriObj.uri,\r\n                                        type: 'prefetch',\r\n                                        resolution: resolution,\r\n                                        quality: quality,\r\n                                        width: resolution?.width || 0,\r\n                                        height: resolution?.height || 0\r\n                                    });\r\n                                }\r\n                            });\r\n                        } else if (key === 'image' && value?.uri) {\r\n                            const resolution = extractResolution(value.uri);\r\n                            const width = value.width || resolution?.width || 0;\r\n                            const height = value.height || resolution?.height || 0;\r\n                            const quality = getQualityScore(value.uri, width, height);\r\n                            images.push({\r\n                                uri: value.uri,\r\n                                type: 'image',\r\n                                width: width,\r\n                                height: height,\r\n                                resolution: resolution,\r\n                                quality: quality\r\n                            });\r\n                        } else if (key === 'uri' && typeof value === 'string' && (value.includes('scontent') || value.includes('fbcdn'))) {\r\n                            const resolution = extractResolution(value);\r\n                            const quality = getQualityScore(value, resolution?.width || 0, resolution?.height || 0);\r\n                            images.push({\r\n                                uri: value,\r\n                                type: 'direct',\r\n                                resolution: resolution,\r\n                                quality: quality,\r\n                                width: resolution?.width || 0,\r\n                                height: resolution?.height || 0\r\n                            });\r\n                        } else {\r\n                            images.push(...extractAllImages(value, path ? `${path}.${key}` : key));\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            return images;\r\n        }\r\n\r\n        function extractResolution(url) {\r\n            try {\r\n                const urlObj = new URL(url);\r\n                const stp = urlObj.searchParams.get('stp');\r\n                if (stp) {\r\n                    const match = stp.match(\/(\\d+)x(\\d+)\/);\r\n                    if (match) {\r\n                        return {\r\n                            width: parseInt(match[1]),\r\n                            height: parseInt(match[2]),\r\n                            total: parseInt(match[1]) * parseInt(match[2])\r\n                        };\r\n                    }\r\n                }\r\n                return null;\r\n            } catch (e) { return null; }\r\n        }\r\n\r\n        function getQualityScore(url, width = 0, height = 0) {\r\n            let score = 0;\r\n            const totalPixels = width * height;\r\n            score += Math.min(totalPixels \/ 1000000, 10);\r\n            if (url.includes('_n.jpg')) score += 5;\r\n            if (url.includes('dst-jpg')) score += 3;\r\n            if (!url.includes('s280x280') && !url.includes('s320x320')) score += 2;\r\n            if (url.includes('s640x640') || url.includes('s1080x1080')) score += 4;\r\n            if (url.includes('_o.jpg')) score += 8;\r\n            if (url.includes('s80x80') || url.includes('s74x74')) score -= 5;\r\n            if (url.includes('tt6')) score -= 1;\r\n            return Math.max(score, 0);\r\n        }\r\n\r\n        function getUniqueImages(allImages) {\r\n            const uniqueImages = [];\r\n            const seenUris = new Set();\r\n            allImages.forEach(img => {\r\n                if (!seenUris.has(img.uri)) {\r\n                    seenUris.add(img.uri);\r\n                    uniqueImages.push(img);\r\n                }\r\n            });\r\n            return uniqueImages;\r\n        }\r\n\r\n        function displayPhotos(photos) {\r\n            const html = `\r\n                <div class=\"fb-photo-photos-grid\">\r\n                    ${photos.map((photo, i) => `\r\n                        <div class=\"fb-photo-card\" onclick=\"openPhotoModal('${photo.uri.replace(\/'\/g, \"\\\\'\")}', ${i})\">\r\n                            <img decoding=\"async\" src=\"${photo.uri}\" alt=\"Photo ${i + 1}\" class=\"fb-photo-image\" \r\n                                 onerror=\"this.parentElement.style.display='none'\">\r\n                            <div class=\"fb-photo-overlay\">\r\n                                <div class=\"fb-photo-actions\">\r\n                                    <button class=\"fb-photo-action-btn\" \r\n                                            onclick=\"event.stopPropagation(); downloadImage('${photo.uri}', 'photo-${i + 1}.jpg')\">\r\n                                        <i class=\"fas fa-download\"><\/i>\r\n                                    <\/button>\r\n                                    <button class=\"fb-photo-action-btn\" \r\n                                            onclick=\"event.stopPropagation(); sharePhoto('${photo.uri}')\">\r\n                                        <i class=\"fas fa-share-alt\"><\/i>\r\n                                    <\/button>\r\n                                    <button class=\"fb-photo-action-btn\" \r\n                                            onclick=\"event.stopPropagation(); openPhotoModal('${photo.uri}', ${i})\">\r\n                                        <i class=\"fas fa-expand-alt\"><\/i>\r\n                                    <\/button>\r\n                                <\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    `).join('')}\r\n                <\/div>\r\n            `;\r\n            document.getElementById('photosContent').innerHTML = html;\r\n        }\r\n\r\n        function openPhotoModal(url, index) {\r\n            currentPhotoUrl = url;\r\n            currentPhotoIndex = index;\r\n            document.getElementById('photo-modal-image').src = url;\r\n            document.getElementById('photo-modal').classList.add('active');\r\n        }\r\n\r\n        function closePhotoModal() {\r\n            document.getElementById('photo-modal').classList.remove('active');\r\n            document.getElementById('photo-modal-image').src = '';\r\n        }\r\n\r\n        function downloadImage(url, filename) {\r\n            fetch(url)\r\n                .then(res => res.blob())\r\n                .then(blob => {\r\n                    const a = document.createElement('a');\r\n                    a.href = URL.createObjectURL(blob);\r\n                    a.download = filename;\r\n                    document.body.appendChild(a);\r\n                    a.click();\r\n                    document.body.removeChild(a);\r\n                    URL.revokeObjectURL(a.href);\r\n                });\r\n        }\r\n\r\n        function downloadCurrentPhoto() {\r\n            if (currentPhotoUrl) {\r\n                downloadImage(currentPhotoUrl, `photo-${currentPhotoIndex + 1}.jpg`);\r\n            }\r\n        }\r\n\r\n        function sharePhoto(url) {\r\n            if (navigator.share) {\r\n                navigator.share({ title: 'Facebook Photo', url }).catch(() => { });\r\n            } else {\r\n                navigator.clipboard.writeText(url).then(() => alert('Photo link copied to clipboard!'));\r\n            }\r\n        }\r\n\r\n        function shareCurrentPhoto() {\r\n            if (currentPhotoUrl) sharePhoto(currentPhotoUrl);\r\n        }\r\n\r\n        \/\/ Event Listeners\r\n        document.getElementById('photo-modal').addEventListener('click', function (e) {\r\n            if (e.target === this) closePhotoModal();\r\n        });\r\n\r\n        document.addEventListener('keydown', function (e) {\r\n            if (e.key === 'Escape') closePhotoModal();\r\n        });\r\n    <\/script>\r\n\r\n\r\n<!-- ======== Content Section Start ======== -->\r\n<!-- Facebook Photo Viewer - 3 Content Sections + Shortcode -->\r\n\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.4.0\/css\/all.min.css\" \/>\r\n\r\n<style>\r\n  .fbphr-s1-root { --s1-bg: #ffffff; --s1-card-bg: #f0f5ff; --s1-text: #0f172a; --s1-text-soft: #334155; --s1-text-muted: #64748b; --s1-primary: #1877F2; --s1-accent: #166FE5; width: 100%; background: var(--s1-bg); padding: 80px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .fbphr-s1-container { max-width: 1200px; margin: 0 auto; }\r\n  .fbphr-s1-header { text-align: center; margin-bottom: 30px; }\r\n  .fbphr-s1-heading { font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 16px; color: #0f172a; }\r\n  .fbphr-highlight { background: linear-gradient(135deg, #1877F2 0%, #166FE5 50%, #0E5FBF 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }\r\n  .fbphr-s1-subheading { font-size: clamp(0.8rem, 2vw, 1rem); color: var(--s1-text-muted); max-width: 700px; margin: 0 auto; line-height: 1.6; }\r\n  .fbphr-s1-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n  .fbphr-s1-card { background: var(--s1-card-bg); border-radius: 10px; padding: 32px 28px; position: relative; overflow: hidden; transition: all 0.4s ease; cursor: pointer; border: 2px solid transparent; opacity: 0; animation: fbphr-s1-fadeSlideUp 0.6s ease forwards; }\r\n  .fbphr-s1-card:nth-child(1) { animation-delay: 0.05s; }\r\n  .fbphr-s1-card:nth-child(2) { animation-delay: 0.1s; }\r\n  .fbphr-s1-card:nth-child(3) { animation-delay: 0.15s; }\r\n  .fbphr-s1-card:nth-child(4) { animation-delay: 0.2s; }\r\n  .fbphr-s1-card:nth-child(5) { animation-delay: 0.25s; }\r\n  .fbphr-s1-card:nth-child(6) { animation-delay: 0.3s; }\r\n  @keyframes fbphr-s1-fadeSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n  .fbphr-s1-card::before { content: \"\"; position: absolute; inset: 0; border-radius: 10px; padding: 2px; background: linear-gradient(90deg, var(--s1-primary), var(--s1-accent), var(--s1-primary)); background-size: 300% 100%; -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0); -webkit-mask-composite: xor; mask-composite: exclude; opacity: 0; transition: opacity 0.3s ease; animation: fbphr-s1-borderTrace 2s linear infinite; }\r\n  .fbphr-s1-card:hover::before { opacity: 1; }\r\n  @keyframes fbphr-s1-borderTrace { 0% { background-position: 0% 50%; } 100% { background-position: 300% 50%; } }\r\n  .fbphr-s1-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(24, 119, 242, 0.15); }\r\n  .fbphr-s1-icon-wrap { width: 56px; height: 56px; background: linear-gradient(135deg, #ffffff 0%, #f1f5f9 100%); border: 2px solid #e2e8f0; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 20px; transition: all 0.4s ease; }\r\n  .fbphr-s1-card:hover .fbphr-s1-icon-wrap { border-color: var(--s1-primary); background: linear-gradient(135deg, var(--s1-primary) 0%, var(--s1-accent) 100%); }\r\n  .fbphr-s1-icon { font-size: 24px; color: var(--s1-primary); transition: all 0.4s ease; }\r\n  .fbphr-s1-card:hover .fbphr-s1-icon { color: #ffffff; transform: rotate(15deg) scale(1.1); }\r\n  .fbphr-s1-card-title { font-size: 1.2rem; font-weight: 700; color: var(--s1-text); margin-bottom: 12px; }\r\n  .fbphr-s1-card-desc { font-size: 0.95rem; color: var(--s1-text-soft); line-height: 1.6; }\r\n\r\n  .fbphr-s2-root { --s2-bg: #f0f5ff; --s2-card-bg: #ffffff; --s2-text: #0f172a; --s2-text-soft: #334155; --s2-text-muted: #64748b; --s2-primary: #1877F2; --s2-accent: #166FE5; width: 100%; background: var(--s2-bg); padding: 80px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .fbphr-s2-container { max-width: 1200px; margin: 0 auto; }\r\n  .fbphr-s2-header { text-align: center; margin-bottom: 30px; }\r\n  .fbphr-s2-heading { font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 16px; color: #0f172a; }\r\n  .fbphr-s2-subheading { font-size: clamp(0.8rem, 2vw, 1rem); color: var(--s2-text-muted); max-width: 700px; margin: 0 auto; line-height: 1.6; }\r\n  .fbphr-s2-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n  .fbphr-s2-card { background: var(--s2-card-bg); border-radius: 10px; padding: 32px 28px; text-align: center; position: relative; transition: all 0.4s ease; cursor: pointer; border: 1px solid #e2e8f0; opacity: 0; animation: fbphr-s2-fadeSlideUp 0.6s ease forwards; }\r\n  .fbphr-s2-card:nth-child(1) { animation-delay: 0.05s; }\r\n  .fbphr-s2-card:nth-child(2) { animation-delay: 0.1s; }\r\n  .fbphr-s2-card:nth-child(3) { animation-delay: 0.15s; }\r\n  .fbphr-s2-card:nth-child(4) { animation-delay: 0.2s; }\r\n  .fbphr-s2-card:nth-child(5) { animation-delay: 0.25s; }\r\n  .fbphr-s2-card:nth-child(6) { animation-delay: 0.3s; }\r\n  @keyframes fbphr-s2-fadeSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n  .fbphr-s2-card::after { content: \"\"; position: absolute; inset: 0; border-radius: 10px; box-shadow: 0 0 0 0 rgba(24, 119, 242, 0.4); opacity: 0; pointer-events: none; }\r\n  .fbphr-s2-card:hover::after { animation: fbphr-s2-pulseEcho 1.5s ease-out infinite; }\r\n  @keyframes fbphr-s2-pulseEcho { 0% { box-shadow: 0 0 0 0 rgba(24, 119, 242, 0.4); opacity: 1; } 100% { box-shadow: 0 0 0 20px rgba(24, 119, 242, 0); opacity: 0; } }\r\n  .fbphr-s2-card:hover { transform: translateY(-8px); }\r\n  .fbphr-s2-icon-wrap { width: 64px; height: 64px; margin: 0 auto 20px; background: linear-gradient(135deg, var(--s2-primary) 0%, var(--s2-accent) 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55); }\r\n  .fbphr-s2-card:hover .fbphr-s2-icon-wrap { animation: fbphr-s2-elasticBounce 0.6s ease; }\r\n  @keyframes fbphr-s2-elasticBounce { 0% { transform: scale(1); } 30% { transform: scale(0.85) translateY(5px); } 50% { transform: scale(1.15) translateY(-10px); } 70% { transform: scale(0.95) translateY(2px); } 100% { transform: scale(1) translateY(0); } }\r\n  .fbphr-s2-icon { font-size: 26px; color: #ffffff; transition: transform 0.3s ease; }\r\n  .fbphr-s2-card:hover .fbphr-s2-icon { transform: rotate(10deg); }\r\n  .fbphr-s2-card-title { font-size: 1.2rem; font-weight: 700; color: var(--s2-text); margin-bottom: 12px; }\r\n  .fbphr-s2-card-desc { font-size: 0.95rem; color: var(--s2-text-soft); line-height: 1.6; }\r\n\r\n  .fbphr-s3-root { --s3-bg: #ffffff; --s3-card-bg: #f0f5ff; --s3-text: #0f172a; --s3-text-soft: #334155; --s3-text-muted: #64748b; --s3-primary: #1877F2; --s3-accent: #166FE5; width: 100%; background: var(--s3-bg); padding: 80px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .fbphr-s3-container { max-width: 1200px; margin: 0 auto; }\r\n  .fbphr-s3-header { text-align: center; margin-bottom: 30px; }\r\n  .fbphr-s3-heading { font-size: clamp(1.4rem, 4vw, 2.5rem); font-weight: 800; margin-bottom: 16px; color: #0f172a; }\r\n  .fbphr-s3-subheading { font-size: clamp(0.8rem, 2vw, 1rem); color: var(--s3-text-muted); max-width: 700px; margin: 0 auto; line-height: 1.6; }\r\n  .fbphr-s3-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }\r\n  .fbphr-s3-card { background: var(--s3-card-bg); border-radius: 10px; padding: 28px; position: relative; overflow: hidden; transition: all 0.4s ease; cursor: pointer; border: 1px solid transparent; opacity: 0; animation: fbphr-s3-fadeSlideUp 0.6s ease forwards; }\r\n  .fbphr-s3-card:nth-child(1) { animation-delay: 0.05s; }\r\n  .fbphr-s3-card:nth-child(2) { animation-delay: 0.1s; }\r\n  .fbphr-s3-card:nth-child(3) { animation-delay: 0.15s; }\r\n  .fbphr-s3-card:nth-child(4) { animation-delay: 0.2s; }\r\n  .fbphr-s3-card:nth-child(5) { animation-delay: 0.25s; }\r\n  .fbphr-s3-card:nth-child(6) { animation-delay: 0.3s; }\r\n  @keyframes fbphr-s3-fadeSlideUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }\r\n  .fbphr-s3-card::before { content: \"\"; position: absolute; width: 200px; height: 200px; background: radial-gradient(circle, rgba(24, 119, 242, 0.25) 0%, transparent 70%); border-radius: 50%; pointer-events: none; opacity: 0; transform: translate(-50%, -50%); transition: opacity 0.4s ease; left: var(--mouse-x, 50%); top: var(--mouse-y, 50%); }\r\n  .fbphr-s3-card:hover::before { opacity: 1; }\r\n  .fbphr-s3-card:hover { border-color: rgba(24, 119, 242, 0.3); transform: translateY(-4px); box-shadow: 0 12px 30px rgba(24, 119, 242, 0.1); }\r\n  .fbphr-s3-step-badge { position: absolute; top: 16px; right: 16px; width: 28px; height: 28px; background: linear-gradient(135deg, var(--s3-primary) 0%, var(--s3-accent) 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; color: #ffffff; transition: transform 0.3s ease; }\r\n  .fbphr-s3-card:hover .fbphr-s3-step-badge { transform: scale(1.2) rotate(10deg); }\r\n  .fbphr-s3-icon-wrap { width: 52px; height: 52px; background: #ffffff; border: 2px solid #e2e8f0; border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; transition: all 0.4s ease; transform-style: preserve-3d; }\r\n  .fbphr-s3-card:hover .fbphr-s3-icon-wrap { transform: rotateY(180deg); border-color: var(--s3-primary); background: linear-gradient(135deg, var(--s3-primary) 0%, var(--s3-accent) 100%); }\r\n  .fbphr-s3-icon { font-size: 22px; color: var(--s3-primary); transition: all 0.4s ease; backface-visibility: hidden; }\r\n  .fbphr-s3-card:hover .fbphr-s3-icon { color: #ffffff; transform: rotateY(180deg); }\r\n  .fbphr-s3-card-title { font-size: 1.1rem; font-weight: 700; color: var(--s3-text); margin-bottom: 10px; position: relative; z-index: 1; }\r\n  .fbphr-s3-card-desc { font-size: 0.9rem; color: var(--s3-text-soft); line-height: 1.5; position: relative; z-index: 1; }\r\n\r\n  .fbphr-shortcode { --sc-bg: #ffffff; --sc-border: #e2e8f0; --sc-text: #0f172a; --sc-text-muted: #64748b; --sc-primary: #1877F2; --sc-accent: #166FE5; width: 100%; background: var(--sc-bg); padding: 60px 20px; font-family: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; }\r\n  .fbphr-shortcode-container { max-width: 1200px; margin: 0 auto; }\r\n  .fbphr-shortcode-inner { border: 2px dashed var(--sc-border); border-radius: 12px; padding: 40px; text-align: center; background: linear-gradient(135deg, #fafafa 0%, #ffffff 100%); transition: border-color 0.3s ease; }\r\n  .fbphr-shortcode-inner:hover { border-color: var(--sc-primary); }\r\n  .fbphr-shortcode-placeholder { display: inline-block; background: linear-gradient(135deg, var(--sc-primary) 0%, var(--sc-accent) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; font-size: clamp(1.2rem, 3vw, 1.8rem); font-weight: 800; letter-spacing: 1px; }\r\n  .fbphr-shortcode-hint { margin-top: 12px; font-size: 0.9rem; color: var(--sc-text-muted); }\r\n\r\n  @media (max-width: 1024px) { .fbphr-s1-grid, .fbphr-s2-grid, .fbphr-s3-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; } }\r\n  @media (max-width: 640px) { .fbphr-s1-root, .fbphr-s2-root, .fbphr-s3-root, .fbphr-shortcode { padding: 50px 10px; } .fbphr-s1-grid, .fbphr-s2-grid, .fbphr-s3-grid { grid-template-columns: 1fr; gap: 16px; } .fbphr-s1-card, .fbphr-s2-card, .fbphr-s3-card { padding: 28px 24px; } .fbphr-shortcode-inner { padding: 24px 16px; } }\r\n<\/style>\r\n\r\n<section class=\"fbphr-shortcode\"><div class=\"fbphr-shortcode-container\"><\/div><\/section>\r\n\r\n<section class=\"fbphr-s1-root\" id=\"what-is-facebook-photo-viewer\">\r\n  <div class=\"fbphr-s1-container\">\r\n    <div class=\"fbphr-s1-header\">\r\n      <h2 class=\"fbphr-s1-heading\">What Is a <span class=\"fbphr-highlight\">Facebook Photo Viewer<\/span>?<\/h2>\r\n      <p class=\"fbphr-s1-subheading\">Browse Facebook photos, albums, and uploaded images with ease<\/p>\r\n    <\/div>\r\n    <div class=\"fbphr-s1-grid\">\r\n      <article class=\"fbphr-s1-card\"><div class=\"fbphr-s1-icon-wrap\"><i class=\"fa-solid fa-images fbphr-s1-icon\"><\/i><\/div><h3 class=\"fbphr-s1-card-title\">Photo Albums<\/h3><p class=\"fbphr-s1-card-desc\">Browse all public photo albums<\/p><\/article>\r\n      <article class=\"fbphr-s1-card\"><div class=\"fbphr-s1-icon-wrap\"><i class=\"fa-solid fa-expand fbphr-s1-icon\"><\/i><\/div><h3 class=\"fbphr-s1-card-title\">Full Resolution<\/h3><p class=\"fbphr-s1-card-desc\">View photos in original high quality<\/p><\/article>\r\n      <article class=\"fbphr-s1-card\"><div class=\"fbphr-s1-icon-wrap\"><i class=\"fa-solid fa-layer-group fbphr-s1-icon\"><\/i><\/div><h3 class=\"fbphr-s1-card-title\">Album Grid<\/h3><p class=\"fbphr-s1-card-desc\">View photo thumbnails in organized grid<\/p><\/article>\r\n      <article class=\"fbphr-s1-card\"><div class=\"fbphr-s1-icon-wrap\"><i class=\"fa-solid fa-download fbphr-s1-icon\"><\/i><\/div><h3 class=\"fbphr-s1-card-title\">Save Photos<\/h3><p class=\"fbphr-s1-card-desc\">Download photos for offline use<\/p><\/article>\r\n      <article class=\"fbphr-s1-card\"><div class=\"fbphr-s1-icon-wrap\"><i class=\"fa-solid fa-slideshow fbphr-s1-icon\"><\/i><\/div><h3 class=\"fbphr-s1-card-title\">Slideshow<\/h3><p class=\"fbphr-s1-card-desc\">View photos in automatic slideshow mode<\/p><\/article>\r\n      <article class=\"fbphr-s1-card\"><div class=\"fbphr-s1-icon-wrap\"><i class=\"fa-solid fa-tag fbphr-s1-icon\"><\/i><\/div><h3 class=\"fbphr-s1-card-title\">Tagged Photos<\/h3><p class=\"fbphr-s1-card-desc\">Browse photos where user is tagged<\/p><\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section class=\"fbphr-s2-root\" id=\"why-use-facebook-photo-viewer\">\r\n  <div class=\"fbphr-s2-container\">\r\n    <div class=\"fbphr-s2-header\">\r\n      <h2 class=\"fbphr-s2-heading\">Why Use a <span class=\"fbphr-highlight\">Facebook Photo Viewer<\/span>?<\/h2>\r\n      <p class=\"fbphr-s2-subheading\">View photos clearly, organize albums, and collect visual content<\/p>\r\n    <\/div>\r\n    <div class=\"fbphr-s2-grid\">\r\n      <article class=\"fbphr-s2-card\"><div class=\"fbphr-s2-icon-wrap\"><i class=\"fa-solid fa-eye fbphr-s2-icon\"><\/i><\/div><h3 class=\"fbphr-s2-card-title\">Visual Browse<\/h3><p class=\"fbphr-s2-card-desc\">Browse photos in crystal clear quality<\/p><\/article>\r\n      <article class=\"fbphr-s2-card\"><div class=\"fbphr-s2-icon-wrap\"><i class=\"fa-solid fa-folder fbphr-s2-icon\"><\/i><\/div><h3 class=\"fbphr-s2-card-title\">Album Organize<\/h3><p class=\"fbphr-s2-card-desc\">Organize photos by albums and categories<\/p><\/article>\r\n      <article class=\"fbphr-s2-card\"><div class=\"fbphr-s2-icon-wrap\"><i class=\"fa-solid fa-magnifying-glass fbphr-s2-icon\"><\/i><\/div><h3 class=\"fbphr-s2-card-title\">Photo Search<\/h3><p class=\"fbphr-s2-card-desc\">Search and filter photos by date or album<\/p><\/article>\r\n      <article class=\"fbphr-s2-card\"><div class=\"fbphr-s2-icon-wrap\"><i class=\"fa-solid fa-download fbphr-s2-icon\"><\/i><\/div><h3 class=\"fbphr-s2-card-title\">Download<\/h3><p class=\"fbphr-s2-card-desc\">Save photos for personal reference<\/p><\/article>\r\n      <article class=\"fbphr-s2-card\"><div class=\"fbphr-s2-icon-wrap\"><i class=\"fa-solid fa-share-nodes fbphr-s2-icon\"><\/i><\/div><h3 class=\"fbphr-s2-card-title\">Share Photos<\/h3><p class=\"fbphr-s2-card-desc\">Share interesting photos with others<\/p><\/article>\r\n      <article class=\"fbphr-s2-card\"><div class=\"fbphr-s2-icon-wrap\"><i class=\"fa-solid fa-clock fbphr-s2-icon\"><\/i><\/div><h3 class=\"fbphr-s2-card-title\">Photo Timeline<\/h3><p class=\"fbphr-s2-card-desc\">View photos organized by upload date<\/p><\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<section class=\"fbphr-s3-root\" id=\"how-to-use-facebook-photo-viewer\">\r\n  <div class=\"fbphr-s3-container\">\r\n    <div class=\"fbphr-s3-header\">\r\n      <h2 class=\"fbphr-s3-heading\">How to Use the <span class=\"fbphr-highlight\">Facebook Photo Viewer<\/span>?<\/h2>\r\n      <p class=\"fbphr-s3-subheading\">View Facebook photos with this simple step-by-step process<\/p>\r\n    <\/div>\r\n    <div class=\"fbphr-s3-grid\">\r\n      <article class=\"fbphr-s3-card\"><span class=\"fbphr-s3-step-badge\">1<\/span><div class=\"fbphr-s3-icon-wrap\"><i class=\"fa-solid fa-link fbphr-s3-icon\"><\/i><\/div><h3 class=\"fbphr-s3-card-title\">Enter URL<\/h3><p class=\"fbphr-s3-card-desc\">Paste the profile or album link<\/p><\/article>\r\n      <article class=\"fbphr-s3-card\"><span class=\"fbphr-s3-step-badge\">2<\/span><div class=\"fbphr-s3-icon-wrap\"><i class=\"fa-solid fa-images fbphr-s3-icon\"><\/i><\/div><h3 class=\"fbphr-s3-card-title\">Load Albums<\/h3><p class=\"fbphr-s3-card-desc\">Fetch all public photo albums<\/p><\/article>\r\n      <article class=\"fbphr-s3-card\"><span class=\"fbphr-s3-step-badge\">3<\/span><div class=\"fbphr-s3-icon-wrap\"><i class=\"fa-solid fa-grid-2 fbphr-s3-icon\"><\/i><\/div><h3 class=\"fbphr-s3-card-title\">Browse Grid<\/h3><p class=\"fbphr-s3-card-desc\">View photos in grid layout<\/p><\/article>\r\n      <article class=\"fbphr-s3-card\"><span class=\"fbphr-s3-step-badge\">4<\/span><div class=\"fbphr-s3-icon-wrap\"><i class=\"fa-solid fa-expand fbphr-s3-icon\"><\/i><\/div><h3 class=\"fbphr-s3-card-title\">Open Photo<\/h3><p class=\"fbphr-s3-card-desc\">Click to view in full resolution<\/p><\/article>\r\n      <article class=\"fbphr-s3-card\"><span class=\"fbphr-s3-step-badge\">5<\/span><div class=\"fbphr-s3-icon-wrap\"><i class=\"fa-solid fa-forward fbphr-s3-icon\"><\/i><\/div><h3 class=\"fbphr-s3-card-title\">Navigate<\/h3><p class=\"fbphr-s3-card-desc\">Scroll through photos in the album<\/p><\/article>\r\n      <article class=\"fbphr-s3-card\"><span class=\"fbphr-s3-step-badge\">6<\/span><div class=\"fbphr-s3-icon-wrap\"><i class=\"fa-solid fa-floppy-disk fbphr-s3-icon\"><\/i><\/div><h3 class=\"fbphr-s3-card-title\">Save Photos<\/h3><p class=\"fbphr-s3-card-desc\">Download photos for offline use<\/p><\/article>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n  (function () {\r\n    var cards = document.querySelectorAll(\".fbphr-s3-card\");\r\n    cards.forEach(function (card) {\r\n      card.addEventListener(\"mousemove\", function (e) {\r\n        var rect = card.getBoundingClientRect();\r\n        card.style.setProperty(\"--mouse-x\", ((e.clientX - rect.left) \/ rect.width) * 100 + \"%\");\r\n        card.style.setProperty(\"--mouse-y\", ((e.clientY - rect.top) \/ rect.height) * 100 + \"%\");\r\n      });\r\n    });\r\n  })();\r\n<\/script>\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":4,"featured_media":0,"parent":5494,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-homepage.php","meta":{"footnotes":""},"class_list":["post-5766","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/comments?post=5766"}],"version-history":[{"count":4,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5766\/revisions"}],"predecessor-version":[{"id":5779,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5766\/revisions\/5779"}],"up":[{"embeddable":true,"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/pages\/5494"}],"wp:attachment":[{"href":"https:\/\/viewari.com\/wp-json\/wp\/v2\/media?parent=5766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}