<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Access Control Solutions-Smart Security Systems for Schools, Gyms &amp; Offices-Feocey</title>
	<atom:link href="https://www.feocey.com/category/access-control-solutions/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description></description>
	<lastBuildDate>Fri, 12 Jun 2026 05:40:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.feocey.com/wp-content/uploads/2025/09/cropped-logo-scaled-1-150x150.jpg</url>
	<title>Access Control Solutions-Smart Security Systems for Schools, Gyms &amp; Offices-Feocey</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">247189558</site>	<item>
		<title>FEOCEY School Access Control System: A Layered Safety Guide for Educational Campuses</title>
		<link>https://www.feocey.com/schools-access-control-systems-a-layered-safety-guide/</link>
		
		<dc:creator><![CDATA[杰森]]></dc:creator>
		<pubDate>Fri, 10 Apr 2026 01:30:43 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/school-access-control-systems-a-layered-safety-guide-2/</guid>

					<description><![CDATA[<p>Introduction School security is a multi-layered challenge. A robust access control system must balance strict security for sensitive areas with [&#8230;]</p>
<p><a href="https://www.feocey.com/schools-access-control-systems-a-layered-safety-guide/">FEOCEY School Access Control System: A Layered Safety Guide for Educational Campuses</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[<h2>Introduction</h2>
<p>School security is a multi-layered challenge. A robust access control system must balance strict security for sensitive areas with open accessibility for common spaces, while providing administrators with real-time visibility and audit capabilities. FEOCEY provides a comprehensive access control solution purpose-built for educational environments.</p>
<p><img fetchpriority="high" decoding="async" class="wp-image-4088 " src="https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54.jpg" alt="It demonstrates that Feocey's access control products are equipped with the DejaOS IoT Device Development System, which can conveniently solve problems for different access control scenarios by javascript." width="737" height="737" srcset="https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54.jpg 2000w, https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54-300x300.jpg 300w, https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54-1024x1024.jpg 1024w, https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54-150x150.jpg 150w, https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54-768x768.jpg 768w, https://www.feocey.com/wp-content/uploads/2025/09/微信图片_20250703173202_54-1536x1536.jpg 1536w" sizes="(max-width: 737px) 100vw, 737px" /></p>
<h2>The Layered Security Model for Schools</h2>
<h3>Perimeter Security (Layer 1)</h3>
<p>The outermost layer controls entry to the campus from outside. FEOCEY electronic gate locks and door readers at main entrances allow only authorized personnel (staff, students with valid credentials) to enter during school hours. All other visitors must check in at the reception desk.</p>
<h3>Building Security (Layer 2)</h3>
<p>Within each building, FEOCEY readers at interior doors allow administrators to restrict access to specific areas. Classrooms, labs, administrative offices, and storage rooms each have independent access control. A student who has access to the science building does not automatically have access to the chemistry lab.</p>
<h3>Zone Security (Layer 3)</h3>
<p>High-security zones such as server rooms, medical storage, and areas with expensive equipment require additional authentication beyond a simple code or badge. FEOCEY supports dual-factor authentication for these zones.</p>
<h2>Student Access Management</h2>
<h3>Automatic Access Scheduling</h3>
<p>Student access codes and badges are automatically valid only during scheduled school hours. If a student should only be in the building from 8 AM to 4 PM on school days, their access automatically expires outside those windows &#8211; no manual deactivation needed.</p>
<h3>Emergency Lockdown Integration</h3>
<p>FEOCEY access control integrates with school emergency systems. In a lockdown scenario, all doors can be locked simultaneously from the central dashboard with a single command. Individual doors can also be selectively locked to create filtered lockdown zones.</p>
<h3>Pickup Authorization Verification</h3>
<p>For elementary schools, the access control system integrates with the student pickup authorization list. When someone arrives to pick up a student, their badge or code is verified against the authorized pickup list before the release is approved. Unauthorized individuals cannot gain access to pickup areas.</p>
<h2>Faculty and Staff Access</h2>
<h3>Role-Based Access Control</h3>
<p>Staff members are assigned access levels based on their role. Teachers have access to their assigned classrooms and common areas. Administrative staff have access to office areas. Maintenance staff have access to utility rooms and storage. The access control system automatically enforces these role definitions.</p>
<h3>Visitor Management Integration</h3>
<p>Visitors receive temporary access codes or badges that are valid only for their scheduled appointment window. The system tracks exactly when each visitor entered and exited every area of the school. Visitor codes automatically expire at the end of the appointment &#8211; no manual revocation needed.</p>
<h2>Audit Trail and Reporting</h2>
<p>FEOCEY provides comprehensive logging of every access event across all connected doors. Administrators can generate reports showing:</p>
<ul>
<li>Who accessed which door at what time</li>
<li>Failed access attempts (important for identifying potential security incidents)</li>
<li>Door held-open events (a door left open too long triggers an alert)</li>
<li>Real-time occupancy counts by zone</li>
</ul>


<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/schools-access-control-systems-a-layered-safety-guide/">FEOCEY School Access Control System: A Layered Safety Guide for Educational Campuses</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">7165</post-id>	</item>
		<item>
		<title>Feocey Fitness: All-In-One Smart Gym Solution &#124; Cut Costs, Boost Revenue &#038; Maximize Member Retention</title>
		<link>https://www.feocey.com/feocey-smart-gym-solution-cut-costs/</link>
		
		<dc:creator><![CDATA[ji，ryan]]></dc:creator>
		<pubDate>Fri, 20 Mar 2026 10:29:55 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=6923</guid>

					<description><![CDATA[<p>In 2026, running a profitable fitness facility takes more than just premium equipment and top-tier trainers. What truly sets successful [&#8230;]</p>
<p><a href="https://www.feocey.com/feocey-smart-gym-solution-cut-costs/">Feocey Fitness: All-In-One Smart Gym Solution | Cut Costs, Boost Revenue &amp; Maximize Member Retention</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In 2026, running a profitable fitness facility takes more than just premium equipment and top-tier trainers. What truly sets successful gyms apart is the <strong>Feocey Smart Gym System</strong> — a seamless, frictionless member experience that drives consistent repeat visits, while cutting wasted hours, reducing high labor costs, and eliminating the operational headaches that hold your business back.</p>



<p class="wp-block-paragraph">If you’re struggling with these pain points:</p>



<ul class="wp-block-list">
<li>Long check-in lines and lost membership cards that hurt your member experience</li>



<li>Manual class booking and membership management eating up your team’s valuable time</li>



<li>Low member engagement and high churn rates dragging down your monthly revenue</li>



<li>Juggling 5+ separate tools for access control, bookings, and member communication with siloed data and clunky workflows</li>
</ul>



<p class="wp-block-paragraph">You’re not alone. Thousands of gym owners across Europe have switched to integrated smart gym solutions to solve these exact pain points — and Feocey Fitness is built specifically to meet your needs.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h1 class="wp-block-heading">What Is the Feocey Smart Gym System?</h1>



<p class="wp-block-paragraph">Feocey Fitness is a fully integrated, hardware-software smart gym solution built exclusively for fitness studios, gym chains, and boutique fitness spaces across Europe. Backed by over 10 years of expertise in face recognition access control and security hardware, we’ve combined enterprise-grade gym management software, a custom-branded member mobile app, and seamlessly integrated access control hardware into one single, intuitive platform。</p>



<p class="wp-block-paragraph">Unlike standalone gym management tools that force you to integrate third-party access systems and compromise on user experience, Feocey Fitness delivers a complete, end-to-end closed-loop experience. From the moment a member walks through our face recognition turnstile, to booking a personal training session, to tracking their workout progress, every step happens in one unified platform.</p>



<p class="wp-block-paragraph">This is the core advantage of the <strong>Feocey Smart Gym System</strong>.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Core Features of the Feocey Smart Gym System</h2>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://www.feocey.com/product/fcv4905/"><img decoding="async" width="801" height="1024" src="https://www.feocey.com/wp-content/uploads/2026/03/photobank-30-801x1024.png" alt="Feocey Fitness Smart Gym Core Features Interface" class="wp-image-6926" style="aspect-ratio:0.7822303342405033;width:447px;height:auto" srcset="https://www.feocey.com/wp-content/uploads/2026/03/photobank-30-801x1024.png 801w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-30-235x300.png 235w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-30-768x981.png 768w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-30.png 864w" sizes="(max-width: 801px) 100vw, 801px" /></a></figure>



<ol class="wp-block-list">
<li><strong>Lightning-Fast Face Recognition Access Control</strong>0.5-second frictionless check-in, no more plastic membership cards, scannable barcodes, or long check-in lines. Powered by Feocey Fitness’s industry-leading, in-house developed turnstile hardware and integrated face recognition access control, members can check in with nothing more than a smile in under 0.5 seconds.
<ul class="wp-block-list">
<li>Eliminate card sharing and unauthorized access with 99.9% accurate face recognition</li>



<li>GDPR-compliant encrypted data storage for full regulatory compliance</li>



<li>Automatic permission sync with your membership system</li>



<li>Dramatically reduce front desk labor costs</li>
</ul>
</li>



<li><strong>Full-Featured Membership &amp; Coupon Management</strong>Create flexible membership plans — day passes, punch cards, monthly unlimited packages, and custom bundles — in just a few clicks. Members can purchase, renew, and manage their memberships 24/7 directly in the app, no phone calls or front desk visits required. Access full reporting on membership revenue, redemption rates, and customer lifetime value to power data-driven business decisions.</li>



<li><strong>Hassle-Free Class &amp; PT Booking System</strong>Book group classes and personal training sessions in one tap via the app, with automated reminders, waitlists, and no-show controls, plus real-time sync for trainer schedules — no more manual chaos.Manual booking systems are a nightmare for both your team and your members. Missed calls, double-booked trainers, and last-minute cancellations derail your schedule and frustrate your members. Feocey Fitness’s booking system simplifies the entire process:
<ul class="wp-block-list">
<li>Members can complete a booking in 2 taps: browse upcoming group classes, check trainer availability, and secure their spot</li>



<li>Automated waitlists, booking reminders, and cancellation policies reduce no-shows by up to 35%</li>



<li>Trainers get a real-time view of their schedule, client details, and session history in a dedicated dashboard</li>



<li>Automatic sync with your membership system: only members with eligible plans can book specific classes, no manual checks required</li>
</ul>
</li>



<li><strong>High-Engagement In-App Workout System</strong>The #1 reason members leave gyms is a lack of engagement and visible progress. The Feocey Fitness member app is more than just a booking tool — it’s a complete fitness companion that keeps your members motivated and drives consistent gym visits.
<ul class="wp-block-list">
<li>Curated workout plans: from full-body strength training to targeted weight loss programs, with guided routines for every fitness level</li>



<li>Real-time workout tracking: members can log their sessions, track calories burned, and view their weekly progress with clear milestone tracking</li>



<li>Personalized weekly summaries to celebrate wins and keep members on track</li>



<li>Full workout categories: Strength, Cardio, Stretch, Mobility, and more, to meet every member’s training needs</li>
</ul>
</li>
</ol>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Why Choose the Feocey Fitness Smart Gym System?</h2>



<figure class="wp-block-image aligncenter size-large is-resized"><a href="https://www.feocey.com/product/fcv4905/"><img decoding="async" width="768" height="1024" src="https://www.feocey.com/wp-content/uploads/2026/03/photobank-63-768x1024.jpg" alt="" class="wp-image-6930" style="aspect-ratio:0.7500128779683717;width:398px;height:auto" srcset="https://www.feocey.com/wp-content/uploads/2026/03/photobank-63-768x1024.jpg 768w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-63-225x300.jpg 225w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-63.jpg 1069w" sizes="(max-width: 768px) 100vw, 768px" /></a></figure>



<p class="wp-block-paragraph">The <strong>Feocey Smart Gym System</strong> stands out from other gym solutions with these unbeatable advantages: When we built Feocey Fitness, we didn’t just create another gym management tool. We built a platform that addresses the core pain points of European gym owners, with key advantages no competitor can match:</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Native Hardware-Software Integration</strong>: Unlike standalone software platforms, we design and build our own access control turnstiles and supporting hardware. No messy third-party integrations, no compatibility issues, and a single point of contact for end-to-end technical support.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Fully Customizable White-Label Solution</strong>: The app, website, and hardware can all be branded with your gym’s logo, color scheme, and visual identity — no forced Feocey branding, so you retain full control of your member brand experience.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>GDPR-Compliant for the European Market</strong>: Built exclusively for European facilities, with full compliance with EU data privacy laws, biometric data regulations, and multi-language support for all EU languages.</p>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Scalable for Every Gym Size</strong>: Whether you’re a boutique studio with 100 members or a multi-location gym chain with thousands of members, Feocey Fitness scales seamlessly to fit your needs as your business grows.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Ready to Transform Your Gym?</h2>



<p class="wp-block-paragraph"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f449.png" alt="👉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <strong>Book your free, no-obligation demo today</strong></p>



<p class="wp-block-paragraph">We’ll walk you through the full Feocey Fitness platform, show you a custom solution tailored to your facility, and answer all your questions.</p>



<p class="wp-block-paragraph">You can also contact our sales team directly via email at <strong><a href="mailto:ryan@feocey.com">ryan@feocey.com</a></strong>&amp;<a href="https://wa.me/8618962100915">+86 18962100915</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Frequently Asked Questions </h2>



<div class="schema-faq wp-block-yoast-faq-block"><div class="schema-faq-section" id="faq-question-1773995506696"><strong class="schema-faq-question">Is Feocey Fitness compliant with EU GDPR regulations?</strong> <p class="schema-faq-answer">Absolutely! Feocey Fitness is built in full compliance with EU GDPR regulations, including strict requirements for biometric data storage, user consent, and data privacy. All member data is stored securely with end-to-end encryption, and members have full control over their personal information at all times.</p> </div> <div class="schema-faq-section" id="faq-question-1773995526988"><strong class="schema-faq-question">How long does it take to fully implement Feocey Fitness at our gym?</strong> <p class="schema-faq-answer">Most facilities are fully set up and live within 2-4 weeks, including hardware installation, software configuration, staff training, and app customization. Our dedicated team manages the entire implementation process for you from start to finish</p> </div> <div class="schema-faq-section" id="faq-question-1773995556288"><strong class="schema-faq-question">Does the solution support multi-location gym chains?</strong> <p class="schema-faq-answer">Absolutely! Feocey Fitness is purpose-built for multi-location gym chains, with core features including centralized head office management, cross-location membership access, and unified reporting across all your sites.</p> </div> </div>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>



<div class="wp-block-uagb-container has-custom-css uagb-block-ffd12f30 alignfull uagb-is-root-container wp-custom-css-db034da7">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/feocey-smart-gym-solution-cut-costs/">Feocey Fitness: All-In-One Smart Gym Solution | Cut Costs, Boost Revenue &amp; Maximize Member Retention</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6923</post-id>	</item>
		<item>
		<title>Feocey All-New Smart Locker Local Authentication Management System &#124; One-Stop Hardware &#038; Software Integrated Solution for All Scenarios</title>
		<link>https://www.feocey.com/feocey-fitness-smart-gym-system/</link>
		
		<dc:creator><![CDATA[ji，ryan]]></dc:creator>
		<pubDate>Thu, 12 Mar 2026 09:49:04 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=6864</guid>

					<description><![CDATA[<p>Feocey Smart Gym System Local Authentication Management System addresses industry-wide pain points of traditional cloud-dependent locker systems amid the diversified [&#8230;]</p>
<p><a href="https://www.feocey.com/feocey-fitness-smart-gym-system/">Feocey All-New Smart Locker Local Authentication Management System | One-Stop Hardware &amp; Software Integrated Solution for All Scenarios</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><strong>Feocey Smart Gym System Local Authentication Management System</strong> addresses industry-wide pain points of traditional cloud-dependent locker systems amid the diversified popularization of smart storage scenarios, including high network dependence, long response latency, total service outage during network disconnection, and potential security risks in data transmission.</p>



<p class="wp-block-paragraph">To fully address these industry challenges, Feocey officially launches our all-new complete smart locker local authentication management system solution.<strong>Feocey Smart Gym System Local Authentication Management System</strong> is an industrial-grade access control solution for intelligent lockers, delivering secure and efficient local authentication services for a wide range of locker cabinets.</p>



<p class="wp-block-paragraph">Built on the core architecture of <strong>local edge computing + terminal autonomous authentication</strong>, paired with our self-developed high-performance main control terminals and lock control hardware, this solution enables full-process authentication, logic judgment, and command execution to be completed entirely locally. It delivers a highly stable, secure, and scalable smart storage solution for small and medium-sized scenarios including express logistics, campuses, offices, industrial facilities, and communities.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Core Hardware Components of the Solution | Industrial-Grade Quality, Out-of-the-Box Deployment</h2>



<p class="wp-block-paragraph">This solution is a fully integrated hardware and software delivery package. All core hardware is self-developed and fully compatible by Feocey, with no additional debugging or adaptation required from customers. It supports out-of-the-box deployment, greatly reducing project implementation costs.</p>



<h3 class="wp-block-heading">1. Core Authentication Main Control Terminal (2 options for adaptation)</h3>



<h4 class="wp-block-heading">FC6820 3.33-inch Multi-Function Touch Control Main Terminal</h4>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://www.feocey.com/product/fc6820/"><img loading="lazy" decoding="async" width="646" height="355" src="https://www.feocey.com/wp-content/uploads/2026/03/image.png" alt="Feocey smart locker local authentication management system" class="wp-image-6881" style="aspect-ratio:1.8197576722384363;width:568px;height:auto" srcset="https://www.feocey.com/wp-content/uploads/2026/03/image.png 646w, https://www.feocey.com/wp-content/uploads/2026/03/image-300x165.png 300w" sizes="auto, (max-width: 646px) 100vw, 646px" /></a></figure>



<p class="wp-block-paragraph">Designed for small and medium-sized locker scenarios, this terminal integrates a 3.33-inch IPS industrial-grade capacitive touch screen, a high-performance 2D barcode scanning engine, and a stable Linux operating system. It serves as both the human-machine interaction entry of the entire system, and the core gateway for local computing and communication.</p>



<ul class="wp-block-list">
<li>Professional-grade scanning performance: Supports mainstream barcode formats including QR Code and PDF417, with an average recognition speed as low as 100ms. It is fully compatible with mobile screen codes and printed paper codes, and delivers stable recognition in both low-light and high-glare environments.</li>



<li>Powerful local computing capability: Supports offline storage of over 100,000 user permission entries. It completes the full workflow of QR code verification, locker number matching, and command issuance locally, with response latency &lt; 300ms.</li>



<li>Rich communication interfaces: Supports dual-link communication via TCP/IP wired network and 2.4G WiFi, and connects to lock control boards downstream via RS485 bus, adapting to various on-site deployment environments.</li>
</ul>



<h4 class="wp-block-heading">FCV5003 7-inch Facial Recognition Main Control Terminal</h4>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://www.feocey.com/store/fcv5005/"><img loading="lazy" decoding="async" width="604" height="442" src="https://www.feocey.com/wp-content/uploads/2026/03/image-1.png" alt="Feocey smart locker local authentication management system" class="wp-image-6883" style="aspect-ratio:1.3665220369947477;width:536px;height:auto" srcset="https://www.feocey.com/wp-content/uploads/2026/03/image-1.png 604w, https://www.feocey.com/wp-content/uploads/2026/03/image-1-300x220.png 300w" sizes="auto, (max-width: 604px) 100vw, 604px" /></a></figure>



<p class="wp-block-paragraph">Built for high-security and high-frequency usage scenarios, this terminal is equipped with a 7-inch IPS HD touch screen, an AI dual-core chip, an integrated 3D structured light facial recognition module, and under-screen card swiping function, providing financial-grade secure local facial authentication for the system.</p>



<ul class="wp-block-list">
<li>Ultra-fast and accurate facial recognition: Local face comparison speed &lt; 0.2s, with recognition accuracy &gt; 99.7%. It supports mask-wearing recognition and low-light liveness detection, preventing spoofing attacks via photos or videos.</li>



<li>Large-capacity local face database: Supports offline storage of over 50,000 face templates, completing the full workflow of facial recognition, permission verification, and unlocking even in offline environments.</li>



<li>Multi-modal authentication integration: Supports four mainstream authentication methods: facial recognition, IC card swiping, password, and QR code. It supports free combination of two-factor authentication locally to meet the needs of different security levels.</li>
</ul>



<p class="wp-block-paragraph">[Insert product photos of the main control terminals here: front view and installation effect of FC6820 and FCV5003, highlighting the industrial-grade design and texture]</p>



<h3 class="wp-block-heading">2. ECB39 Lock Control Expansion Board for Feocey Smart Locker Local Authentication Management System</h3>



<figure class="wp-block-image aligncenter size-full is-resized"><a href="https://wa.me/8618962100915"><img loading="lazy" decoding="async" width="640" height="396" src="https://www.feocey.com/wp-content/uploads/2026/03/df8cc9f61c18d5b4b230e726a7e46638.png" alt="Feocey ECB39 Lock Control Expansion Board for Smart Locker Local Authentication Management System" class="wp-image-6884" style="width:564px;height:auto" srcset="https://www.feocey.com/wp-content/uploads/2026/03/df8cc9f61c18d5b4b230e726a7e46638.png 640w, https://www.feocey.com/wp-content/uploads/2026/03/df8cc9f61c18d5b4b230e726a7e46638-300x186.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></figure>



<p class="wp-block-paragraph">As the execution core of the entire system, it connects to the main control terminal via RS485 bus cascading. It is responsible for electric lock driving and real-time cabinet door status collection, supports flexible address code configuration, and adapts to locker cabinets of different specifications.</p>



<ul class="wp-block-list">
<li>Ultra-strong cascading expansion capability: This <strong>Feocey Smart Locker Local Authentication Management System</strong> supports cascading control of up to 68 locker doors., perfectly adapting to all cabinet sizes from small office file cabinets to large courier station parcel lockers.</li>



<li>Dual-channel status feedback: Real-time collection of cabinet door open/close status and lock in-place signal, enabling local abnormal status alarm and eliminating the risks of false locking and missed locking.</li>



<li>Industrial-grade anti-interference design: Wide voltage adaptation, surge protection, and anti-static protection, adapting to complex electromagnetic environments such as factories, courier stations, and outdoor scenarios.</li>
</ul>



<h3 class="wp-block-heading">3. Power Supply for Smart Locker Local Authentication System</h3>



<p class="wp-block-paragraph">The solution comes standard with a 12V3A industrial-grade regulated power supply module, which provides stable power supply for the main control terminal and all lock sets. It supports DC 9V-24V wide voltage input, adapting to various on-site power supply environments. It is also equipped with a complete set of mounting brackets, wiring terminals, and embedded installation accessories, supporting embedded installation on the cabinet without additional custom opening, greatly reducing construction difficulty.</p>



<p class="wp-block-paragraph">[Insert photos of the lock control board and installation accessories here: details of the lock control board, wiring method, and installation accessories for engineering customers to view construction adaptability]</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Core Functional Highlights | Redefining the Smart Locker User Experience</h2>



<figure class="wp-block-video"><video height="720" style="aspect-ratio: 1280 / 720;" width="1280" controls src="https://www.feocey.com/wp-content/uploads/2026/03/26620f3db7c73fce782f871286461903.mp4"></video></figure>



<h3 class="wp-block-heading">1. 100% Offline Availability, Complete Freedom from Network Dependence</h3>



<p class="wp-block-paragraph">This is the core differentiated advantage of our solution: the full workflow of user authentication, permission verification, logic judgment, and unlocking command issuance can be completed entirely on the local terminal, without real-time connection to the cloud server. Even during network interruption or cloud server maintenance, the device can still provide normal storage and pickup services, completely eliminating the industry pain point of &#8220;total service outage upon network disconnection&#8221; in traditional cloud-based solutions.</p>



<h3 class="wp-block-heading">2. Multi-Modal Local Authentication with Financial-Grade Security Protection</h3>



<p class="wp-block-paragraph">The solution supports four mainstream authentication methods: QR code, facial recognition, card verification, and password verification. All authentication data is encrypted and stored locally on the terminal, no need to upload to the cloud, eliminating the risk of data leakage. It also supports local customization of permission validity period, usage times, and locker binding rules. Administrators can complete permission configuration and data management directly on the local terminal without logging into the cloud backend, enabling more convenient operation and more secure data.</p>



<h3 class="wp-block-heading">3. Millisecond-Level Ultra-Fast Response for Superior User Experience</h3>



<p class="wp-block-paragraph">Benefiting from the local closed-loop computing logic, after the user scans the QR code/face, the terminal completes verification and issues the unlocking command locally. The full-process response speed can reach as fast as 300ms, far outperforming the 1-3 second response latency of traditional cloud-based solutions. It greatly improves the user experience and reduces queuing waiting time during peak hours.</p>



<h3 class="wp-block-heading">4. Full-Link Real-Time Status Monitoring &amp; Local Anomaly Alarm</h3>



<p class="wp-block-paragraph">The system can collect the open/close status of each locker door, lock working status, and terminal operating status in real time, with all status data synchronized locally. In case of unclosed door, abnormal lock, illegal prying, the terminal will immediately trigger an audible and visual alarm locally, and can push alarm information to the administrator via the optional cloud link, realizing full-scenario security management and control.</p>



<h3 class="wp-block-heading">5. Highly Customizable Local UI Interaction</h3>



<p class="wp-block-paragraph">Administrators can directly customize the screen display content on the local terminal, including brand logo, background image, operation prompt text, welcome message, etc., without configuration issued via the cloud. It can quickly adapt to the personalized display needs of different brands and scenarios, creating an exclusive brand image.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Industrial-Grade Technical Specifications | Stable Operation in Complex Environments</h2>



<p class="wp-block-paragraph">表格</p>



<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>Category</th><th>Key Parameters</th><th>Application Notes</th></tr></thead><tbody><tr><td>Main Control System</td><td>Industrial-Grade Linux Operating System</td><td>Anti-crash and anti-freeze design, stable 24/7 operation</td></tr><tr><td>Screen Specification</td><td>3.33-inch / 7-inch IPS Capacitive Touch Screen</td><td>320*480 HD resolution, clear visibility in both high-glare and low-light environments</td></tr><tr><td>Communication Capability</td><td>Uplink: TCP/IP, 2.4G WiFi; Downlink: RS485 Bus</td><td>Dual-link uplink backup, high anti-interference downlink communication, maximum transmission distance of 1200 meters</td></tr><tr><td>Power Supply Specification</td><td>DC 9V-24V Wide Voltage Input (12V Typical)</td><td>Adapts to various on-site power supply environments, with surge and anti-static protection</td></tr><tr><td>Operating Power Consumption</td><td>Rated 6W (excluding lock power consumption)</td><td>Low power consumption design for stable and energy-saving long-term operation</td></tr><tr><td>Environmental Adaptability</td><td>Operating Temperature: -20℃ to 60℃</td><td>Supports semi-outdoor installation, adapts to all-season use in both northern and southern regions</td></tr><tr><td>Expansion Capability</td><td>Up to 68 locker doors supported per single system</td><td>One solution covers all needs from small file cabinets to large parcel lockers</td></tr></tbody></table></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Full Scenario Adaptation | One Solution for All Your Smart Storage Needs</h2>



<p class="wp-block-paragraph">With the advantages of high stability, high scalability, and flexible deployment, this solution can perfectly adapt to various smart storage scenarios:</p>



<ul class="wp-block-list">
<li><strong>Express &amp; Logistics Scenarios</strong>: Courier station parcel lockers, community self-pickup lockers, township logistics service points. Normal pickup is not affected by network disconnection, completely solving the pain point of unstable network in remote areas.</li>



<li><strong>Campus &amp; Education Scenarios</strong>: Student schoolbag lockers, library storage lockers, training building tool cabinets. Batch configuration of local permissions, usable without networking, adapting to campus intranet environments.</li>



<li><strong>Enterprise &amp; Office Scenarios</strong>: Office file cabinets, employee storage lockers, meeting room document cabinets. Secure and convenient facial recognition, local permission management to protect enterprise trade secrets.</li>



<li><strong>Industrial &amp; Manufacturing Scenarios</strong>: Factory tool cabinets, labor protection equipment lockers, workshop material cabinets. Wide temperature and voltage adaptation to industrial environments, offline availability to eliminate production interruptions.</li>



<li><strong>Commercial Service Scenarios</strong>: Supermarket self-service storage lockers, gym storage lockers, swimming pool changing room lockers. Multi-modal authentication adapts to different customer groups, ensuring stable 24/7 operation.</li>
</ul>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">About Feocey</h2>



<p class="wp-block-paragraph">Feocey specializes in the R&amp;D and manufacturing of hardware and software for smart access control, facial recognition, and smart storage solutions. We have a complete self-developed product line and industry solution capabilities, providing global customers with highly stable, cost-effective smart IoT products and customized services.</p>



<p class="wp-block-paragraph">[Insert brand introduction/enterprise qualification pictures here: enterprise factory, R&amp;D team, qualification certification to enhance brand trust]</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h2 class="wp-block-heading">Contact Us for a Customized Solution</h2>



<p class="wp-block-paragraph">If you are interested in our all-new smart locker local authentication management system, and want to obtain the detailed product manual, technical protocol, test prototype, and exclusive implementation solution, please contact us via:</p>



<ul class="wp-block-list">
<li><strong>WhatsApp: <em>+86 18962100915</em></strong></li>
</ul>



<p class="wp-block-paragraph">We will assign you an exclusive product manager and tech】、nical support team to provide one-to-one technical services and solution customization, helping you launch your project quickly and smoothly.</p>



<figure class="wp-block-image size-large"><a href="https://wa.me/8618962100915"><img loading="lazy" decoding="async" width="1024" height="686" src="https://www.feocey.com/wp-content/uploads/2026/03/photobank-61-1024x686.jpg" alt="" class="wp-image-6879" srcset="https://www.feocey.com/wp-content/uploads/2026/03/photobank-61-1024x686.jpg 1024w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-61-300x201.jpg 300w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-61-768x515.jpg 768w, https://www.feocey.com/wp-content/uploads/2026/03/photobank-61.jpg 1200w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/feocey-fitness-smart-gym-system/">Feocey All-New Smart Locker Local Authentication Management System | One-Stop Hardware &amp; Software Integrated Solution for All Scenarios</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		<enclosure url="https://www.feocey.com/wp-content/uploads/2026/03/26620f3db7c73fce782f871286461903.mp4" length="7564099" type="video/mp4" />

		<post-id xmlns="com-wordpress:feed-additions:1">6864</post-id>	</item>
		<item>
		<title>Feocey Office All-in-One Facial Recognition Video Intercom System &#124; A Full-Scenario Solution for Intelligent Access Control, Time Attendance and Visitor Management</title>
		<link>https://www.feocey.com/feocey-integrated-face-recognition-video-intercom-system/</link>
		
		<dc:creator><![CDATA[ji，ryan]]></dc:creator>
		<pubDate>Wed, 04 Mar 2026 10:16:36 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=6795</guid>

					<description><![CDATA[<p>Feocey Office Integrated Face Recognition Video Intercom System is a full-scenario solution for smart access control, attendance and visitor management, [&#8230;]</p>
<p><a href="https://www.feocey.com/feocey-integrated-face-recognition-video-intercom-system/">Feocey Office All-in-One Facial Recognition Video Intercom System | A Full-Scenario Solution for Intelligent Access Control, Time Attendance and Visitor Management</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Feocey Office <strong>Integrated Face Recognition Video Intercom System</strong> is a full-scenario solution for smart access control, attendance and visitor management, built for enterprises, industrial parks and residential communities. Amid the global wave of digital upgrading for enterprises and communities, traditional video intercom systems can no longer meet current management needs: cumbersome wiring, reliance on fixed indoor extensions, no remote linkage, isolated data from access control and attendance systems, difficulties in global deployment, and privacy compliance risks have become core obstacles to improving efficiency in office and residential scenarios.</p>



<p class="wp-block-paragraph">With an annual R&amp;D investment of over 5 million US dollars as its technological foundation, Feocey Office natively integrates high-definition video intercom capabilities into a mature access control and attendance management system, creating a full-scenario solution that combines facial recognition, two-way audio and video intercom, access control, time attendance, and permission configuration. Eliminating the need for switching between multiple systems or deploying additional independent terminals, the entire process of personnel and access management can be completed with a single mobile phone and one platform, delivering an exceptional experience of 0 downtime and 0 lag for year-round stable operation.</p>



<h2 class="wp-block-heading has-text-align-center">I. Core Working Principle of Feocey Integrated Integrated Face Recognition Intercom System</h2>



<p class="wp-block-paragraph">Our video intercom system adopts a five-layer architecture of edge-side intelligent collection &#8211; encrypted transmission &#8211; cloud/APP linkage &#8211; local execution &#8211; full-link log closed loop. It achieves in-depth integration of facial recognition and video intercom capabilities while ensuring low latency and high security, with the core workflow divided into four key stages:</p>



<h3 class="wp-block-heading">1. Edge Acquisition &amp; Intelligent Recognition Unit of the Integrated Face Recognition Video Intercom System</h3>



<p class="wp-block-paragraph">The facial recognition intelligent terminal deployed at entrances is equipped with a high-definition wide-angle camera, a wide dynamic audio and video collection module, a touch interaction unit, and a local facial recognition chip to complete front-end data collection and preprocessing:</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-7387b849 wp-block-group-is-layout-flex">
<ul class="wp-block-list">
<li><strong>Facial recognition</strong>: The terminal only extracts feature values from collected facial information instead of storing raw photos, avoiding data leakage risks from the source and fully complying with the EU GDPR data protection regulations. The encrypted feature values are subjected to millisecond-level 1:N matching locally, enabling identity verification and door opening trigger without relying on the cloud.</li>



<li><strong>Audio and video intercom</strong>: When a visitor initiates a call via the terminal, the device collects high-definition audio and video streams in real time and performs preprocessing for echo cancellation and noise suppression, ensuring clear communication in complex environments.</li>
</ul>
</div>



<h3 class="wp-block-heading">2. Encrypted Transmission and Signaling Linkage Link</h3>



<p class="wp-block-paragraph">The system supports all mainstream communication methods including Ethernet and Wi-Fi, adapting to different wiring environments of new and existing projects. All audio and video streams, control signaling, and personnel data are transmitted via bank-level encryption algorithms. Whether deployed locally on a LAN or accessed remotely via a cross-regional public network, the system ensures data security and transmission stability, eliminating stuttering, latency, and signaling loss.</p>



<h3 class="wp-block-heading">3. Platform and APP Integrated Processing Core</h3>



<p class="wp-block-paragraph">This is the core differentiated advantage of our solution — the video intercom capability is <strong>natively integrated into the Feocey Office Access Control &amp; Attendance APP and management background</strong>, eliminating the need for users to install additional independent applications and enabling full-function coverage with a single system:</p>



<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-7387b849 wp-block-group-is-layout-flex">
<ul class="wp-block-list">
<li>When a visitor initiates a call, the system pushes the encrypted audio and video streams to the interviewee&#8217;s Feocey Office APP in real time. Users can conduct two-way high-definition video calls and real-time identity verification via mobile phones, handling visitor requests anytime and anywhere without having to go downstairs or to a fixed indoor extension.</li>



<li>After identity confirmation, users can issue a door opening command with one click directly in the APP. The system also supports multiple authorization methods such as temporary QR codes, virtual passwords, and Bluetooth door opening, meeting the needs of different scenarios including couriers, food delivery, and temporary visitors.</li>



<li>Administrators can complete organizational structure management, personnel permission configuration, access control rule setting, attendance scheduling, and query of intercom records and access logs through the same background. All data is interconnected, completely breaking the information silos between traditional intercom and attendance systems</li>
</ul>
</div>



<h3 class="wp-block-heading">4. Execution Control &amp; Full-link Log Closed Loop of the Integrated Face Recognition Video Intercom System</h3>



<p class="wp-block-paragraph">After a door opening command is issued, the terminal outputs control signals to devices such as door locks and turnstiles through relay interfaces to complete the door opening action. Meanwhile, the system retains real-time logs of the entire process including call initiation, video calls, identity verification, door opening actions, and facial recognition records. Personnel access tracks and attendance punch-in records are clearly traceable with full-cycle backtracking, providing complete data support for scenario security.</p>



<h2 class="wp-block-heading has-text-align-center">II. Core Functions &amp; Differentiated Advantages of the Integrated Integrated Face Recognition Intercom System</h2>



<div class="wp-block-uagb-image uagb-block-5ed71a45 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://www.feocey.com/product/fc6820/" target="" rel="noopener"><img decoding="async" src="https://www.feocey.com/wp-content/uploads/2026/03/photobank-58-5-1024x788.jpg" alt="" class="uag-image-6807" width="1300" height="1000" title="photobank (58)" loading="lazy" role="img" /></a></figure></div>



<h3 class="wp-block-heading">1. Native Integration of Attendance &amp; Access Control and Video Intercom for Cost Reduction and Efficiency Improvement</h3>



<p class="wp-block-paragraph">Unlike most spliced solutions in the industry that separate intercom from attendance &amp; access control, Feocey Office deeply integrates these two core capabilities. Employees/residents only need one APP to complete the entire process of daily attendance punch-in, facial recognition door opening, remote intercom, and visitor authorization. Administrators can achieve unified management of personnel, permissions, scheduling, and logs through a single management background, eliminating the need for switching between multiple platforms and significantly reducing deployment, operation and maintenance, and usage costs.</p>



<h3 class="wp-block-heading">2. Multi-Dimensional Security Authentication for Full-Scenario Risk Prevention and Control</h3>



<ul class="wp-block-list">
<li>Supports multiple verification methods including facial recognition, password, access card, QR code, and Bluetooth, and can be configured with Two-Factor Authentication (2FA). Random combination of two verification methods greatly improves the security level of scenarios.</li>



<li>Facial feature values are encrypted at the edge side, with no raw facial photos stored throughout the process, complying with global mainstream data compliance requirements.</li>



<li>All operations are traceable with real-time records; door opening, call, and attendance records can all be retrieved, eliminating security vulnerabilities.</li>
</ul>



<h3 class="wp-block-heading">3. Seamless Adaptation for Global Deployment, Enabling Worry-Free Use for Multinational Enterprises</h3>



<ul class="wp-block-list">
<li><strong>Full mainstream language support</strong>: The system has a built-in multi-language setting, allowing free switching of interface languages to meet the barrier-free communication needs of multinational enterprises and global branches.</li>



<li><strong>Full mainstream time zone adaptation</strong>: Supports flexible configuration of multiple time zones; a single system can uniformly manage network points in different global regions without separate adaptation to localized time rules.</li>



<li><strong>Full communication protocol compatibility</strong>: It can be quickly adapted for intelligent deployment of new projects or transformation and upgrading of existing projects without large-scale rewiring.</li>
</ul>



<h3 class="wp-block-heading">4. Extremely Flexible Personalized Configuration for Full-Scenario Adaptation</h3>



<ul class="wp-block-list">
<li><strong>Flexible scheduling management</strong>: Covers all types of scheduling rules including fixed shifts, flexible shifts, and scheduled shifts. Access control permissions are automatically linked with attendance scheduling to achieve refined personnel management.</li>



<li><strong>UI interface customization</strong>: The homepage interface of the device terminal can be freely designed to display corporate brand logos and personalized content, creating an exclusive brand image.</li>



<li><strong>Powerful secondary development capability</strong>: The device side supports JavaScript custom scripts to flexibly define business workflows and interface interaction behaviors; the APP side supports plug-in module expansion, allowing users to develop personalized business functions according to their own needs and easily connect with the enterprise&#8217;s own systems such as OA and ERP.</li>
</ul>



<h2 class="wp-block-heading has-text-align-center">III. Full-industry Application Scenarios of the Integrated Face Recognition Intercom System</h2>



<div class="wp-block-uagb-image uagb-block-953649d1 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://wa.me/8618962100915" target="" rel="noopener"><img decoding="async" src="https://www.feocey.com/wp-content/uploads/2026/03/photobank-58-4-1024x571.jpg" alt="" class="uag-image-6805" width="2250" height="1255" title="photobank (58)" loading="lazy" role="img" /></a></figure></div>



<h3 class="wp-block-heading">1. Corporate Office Buildings and Industrial Parks</h3>



<p class="wp-block-paragraph">Realize the full digitalization of employee attendance, access control, and visitor management. When a visitor initiates a call via the terminal, the interviewee can conduct remote video identity verification and open the door with one click through the Feocey Office APP, eliminating the need for manual front desk registration and greatly improving access efficiency. Meanwhile, attendance data is automatically synchronized with access records to achieve refined and intelligent personnel management.</p>



<h3 class="wp-block-heading">2. Apartments, Residences and HOA Communities</h3>



<p class="wp-block-paragraph">Residents can pass quickly through facial recognition without carrying keys or access cards. When a visitor initiates a call, residents can confirm the visitor&#8217;s identity via remote video on their mobile phones and open the door without going downstairs. Temporary authorization codes can also be issued to meet the needs of couriers, housekeeping, family and friend visits, and other scenarios. Property management can complete resident permission management and access record query through a unified platform, greatly improving community management efficiency and residential security.</p>



<h3 class="wp-block-heading">3. Factories and Industrial Zones</h3>



<p class="wp-block-paragraph">Supports hierarchical permission management, with differentiated access control permissions set for different workshops and departments. Attendance and access control data are interconnected to achieve standardized management of factory personnel. Visitor management is fully traceable with video records and dual identity verification, preventing irrelevant personnel from entering production areas and ensuring factory production safety.</p>



<h3 class="wp-block-heading">4. Multinational Enterprises and Global Branches</h3>



<p class="wp-block-paragraph">With native adaptability for multiple languages and time zones and a globally compliant privacy protection design, Feocey Office helps multinational enterprises realize the unified management of access control, attendance, and intercom systems across multiple global branches. A single platform covers global businesses, reducing cross-regional management costs.</p>



<h2 class="wp-block-heading has-text-align-center">IV. Why Choose Feocey Office Integrated Face Recognition Video Intercom System</h2>



<ul class="wp-block-list">
<li><strong>Solid technological foundation</strong>: With an annual R&amp;D investment of over 5 million US dollars, the core system achieves year-round stable operation with 0 downtime and 0 lag, ensuring business continuity.</li>



<li><strong>Exceptional all-in-one experience</strong>: The industry-leading natively integrated solution of attendance &amp; access control and video intercom eliminates the pain points of using isolated multiple systems.</li>



<li><strong>Globally compliant adaptation</strong>: Strictly adheres to GDPR and other global mainstream data protection regulations, with native support for multiple languages and time zones, enabling stress-free multinational deployment.</li>



<li><strong>High flexibility and scalability</strong>: A complete secondary development capability that can deeply adapt to the personalized business needs of enterprises and continue to iterate with enterprise growth.</li>



<li><strong>Full-scenario coverage</strong>: From corporate offices to residential communities, from single domestic scenarios to global multi-network deployment, one solution meets all needs.</li>
</ul>



<p class="wp-block-paragraph">To learn more about the product specifications, wiring solutions, demo videos and exclusive tailored solutions of the Feocey Office Integrated Face Recognition Video Intercom System, please feel free to contact our team at any time. We will provide you with one-on-one full-process technical support and services.</p>



<p class="wp-block-paragraph"><a href="https://www.feocey.com/contact/">https://www.feocey.com/contact/</a></p>



<div class="wp-block-uagb-image uagb-block-938965f9 wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none"><figure class="wp-block-uagb-image__figure"><a class="" href="https://wa.me/8618962100915" target="" rel="noopener"><img decoding="async" src="https://www.feocey.com/wp-content/uploads/2026/03/photobank-28-1024x685.png" alt="" class="uag-image-6806" width="1200" height="803" title="photobank (28)" loading="lazy" role="img" /></a></figure></div>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/feocey-integrated-face-recognition-video-intercom-system/">Feocey Office All-in-One Facial Recognition Video Intercom System | A Full-Scenario Solution for Intelligent Access Control, Time Attendance and Visitor Management</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6795</post-id>	</item>
		<item>
		<title>2025 Gym Locker Lock Systems: Smart Solutions to Boost Retention &#038; Revenue</title>
		<link>https://www.feocey.com/2025-gym-locker-lock-systems-smart-solutions-to-boost-retention-revenue/</link>
		
		<dc:creator><![CDATA[Cinderella]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 06:22:52 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=5304</guid>

					<description><![CDATA[<p>2025 Gym Locker Lock Systems: Smart Solutions to Boost Retention &#38; Revenue For gyms and fitness centres, member loyalty starts [&#8230;]</p>
<p><a href="https://www.feocey.com/2025-gym-locker-lock-systems-smart-solutions-to-boost-retention-revenue/">2025 Gym Locker Lock Systems: Smart Solutions to Boost Retention &amp; Revenue</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-f0g3mom" id="2025-gym-locker-lock-systems-smart-solutions-to-boost-retention-amp-revenue" data-block-id="f0g3mom"><h2 class="stk-block-heading__text">2025 Gym Locker Lock Systems: Smart Solutions to Boost Retention &amp; Revenue</h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-uacxz1n" data-block-id="uacxz1n"><style>.stk-uacxz1n .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">For gyms and fitness centres, member loyalty starts in the locker room. A 2025 update to IHRSA’s industry report confirms what operators already know: 92% of members cite &#8220;locker room security and cleanliness&#8221; as a top factor in membership renewal—surpassing equipment quality and class variety. Outdated locker locks (padlocks, mechanical keys) not only frustrate members with lost keys or hoarded lockers but also drain staff time (up to 15 hours/week on management, per Zephyr Secure data).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vj7yt3g" data-block-id="vj7yt3g"><p class="stk-block-text__text"></p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-mstgmhz" data-block-id="mstgmhz"><style>.stk-mstgmhz .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">2025 marks a turning point for gym locker security: systems now blend smart access, space efficiency, privacy compliance, and even revenue generation. This guide breaks down the latest trends, must-have features, and deployment strategies to help you upgrade your locker room from a &#8220;necessary hassle&#8221; to a competitive advantage.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-cp5qs6j" id="the-hidden-cost-of-outdated-gym-locker-lock-systems" data-block-id="cp5qs6j"><h5 class="stk-block-heading__text">The Hidden Cost of Outdated Gym Locker Lock Systems</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-5vlm2bj" data-block-id="5vlm2bj"><p class="stk-block-text__text">Before diving into 2025’s solutions, let’s quantify why legacy systems are no longer viable:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-aot98d5" id="1-member-experience-drain" data-block-id="aot98d5"><h6 class="stk-block-heading__text">1. Member Experience Drain</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-8rux3ip" data-block-id="8rux3ip"><style>.stk-8rux3ip .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Padlocks force members to carry extra keys (40% of locker complaints tie to lost or forgotten keys, Zephyr Secure reports). Mechanical keys also lead to &#8220;locker hoarding&#8221;—members reserve spaces for weeks, leaving new users without storage.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-pu25y8x" id="2-sky-high-operational-costs" data-block-id="pu25y8x"><h6 class="stk-block-heading__text">2. Sky-High Operational Costs</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vj6379f" data-block-id="vj6379f"><style>.stk-vj6379f .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Staff spend hours cutting locks, resolving locker disputes, and sanitising shared keys. For mid-sized gyms (500+ members), this translates to $8,000+ in annual labour waste.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-meio78y" id="3-space-amp-security-gaps" data-block-id="meio78y"><h6 class="stk-block-heading__text">3. Space &amp; Security Gaps</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-pqgk00h" data-block-id="pqgk00h"><style>.stk-pqgk00h .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Traditional full-size lockers waste 60% of space: 80% of members only need to store phones, keys, or wallets, not full gym bags. Worse, unmonitored locker rooms see 3x more theft than those with smart tracking.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-qlt6xjv" id="4-privacy-compliance-risks" data-block-id="qlt6xjv"><h6 class="stk-block-heading__text">4. Privacy Compliance Risks</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-24pzqhf" data-block-id="24pzqhf"><style>.stk-24pzqhf .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">2024-2025 regulatory updates (e.g., Shanghai’s &#8220;no face-scanning in private areas&#8221; rule) ban unauthorised cameras in dressing rooms—many legacy &#8220;secure&#8221; systems now violate privacy laws.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-je1tlxl" id="2025-s-top-gym-locker-lock-systems-5-game-changing-solutions" data-block-id="je1tlxl"><h5 class="stk-block-heading__text">2025’s Top Gym Locker Lock Systems: 5 Game-Changing Solutions</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vip9k50" data-block-id="vip9k50"><p class="stk-block-text__text">2025’s leading systems prioritise convenience, space efficiency, compliance, and revenue. Here are the models dominating the market:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-8gtqwgm" id="1-ai-powered-shared-use-keyless-locks" data-block-id="8gtqwgm"><h6 class="stk-block-heading__text">1. AI-Powered Shared-Use Keyless Locks</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-bl0mr0e" data-block-id="bl0mr0e"><style>.stk-bl0mr0e .stk-block-text__text{font-weight:400 !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">The most popular choice for high-traffic gyms, these systems operate on &#8220;session-based access&#8221;:
</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-6e9ty45" data-block-id="6e9ty45"><style>.stk-6e9ty45 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● How it works: Members use an RFID wristband, gym app, or PIN to claim any available locker. Post-workout, the lock resets automatically for the next user (no staff intervention needed).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-5ndby8p" data-block-id="5ndby8p"><style>.stk-5ndby8p .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● 2025 Upgrade: AI-driven dashboard shows real-time locker availability (via gym app or lobby screens) and predicts peak usage times to adjust cleaning schedules.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-cbv4rj8" data-block-id="cbv4rj8"><style>.stk-cbv4rj8 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Best For: 24/7 gyms (e.g., Planet Fitness) or busy urban clubs—cuts locker management time by 90%.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-5nw01td" id="2-biometric-rfid-hybrid-locks" data-block-id="5nw01td"><h6 class="stk-block-heading__text">2. Biometric + RFID Hybrid Locks</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-xswv1au" data-block-id="xswv1au"><style>.stk-xswv1au .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Balances security and compliance, solving the &#8220;privacy vs. protection&#8221; dilemma:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-s0g5qzc" data-block-id="s0g5qzc"><style>.stk-s0g5qzc .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● How it works: Uses fingerprint or palm recognition (no face-scanning, avoiding dressing room privacy risks) or gym membership RFID wristbands. All access logs sync to a cloud dashboard.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-qmd72sw" data-block-id="qmd72sw"><style>.stk-qmd72sw .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● 2025 Upgrade: Offline access mode (powers via backup battery for 72 hours) and tamper alerts (triggers 100dB alarm if locks are pried).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-uzceaoa" data-block-id="uzceaoa"><style>.stk-uzceaoa .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Best For: Premium gyms (e.g., Equinox) or facilities with high-value member belongings (e.g., boutique cycling studios).</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-p2tt9o6" id="3-modular-compact-locker-systems" data-block-id="p2tt9o6"><h6 class="stk-block-heading__text">3. Modular Compact Locker Systems</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-2zsmu45" data-block-id="2zsmu45"><style>.stk-2zsmu45 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Space-saving heroes designed for small-item storage:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-296hxud" data-block-id="296hxud"><style>.stk-296hxud .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● How it works: Compact cabinets (1.2m wide) with 50+ mini-compartments (for phones/keys) and 10-12 full-size lockers (for bags/clothes). Uses shared keyless locks for mini-compartments and dedicated RFID locks for full-size units.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-pgpc4hk" data-block-id="pgpc4hk"><style>.stk-pgpc4hk .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● 2025 Upgrade: Modular design—add/remove compartments without rebuilding (ideal for gym expansions). Some models (e.g., MATRIX ULTRA) integrate wireless charging for phones.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-k7jwoki" data-block-id="k7jwoki"><style>.stk-k7jwoki .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Best For: Small-footprint gyms (e.g., hotel fitness centres) or clubs looking to free up space for equipment.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-dsgj6i4" id="4-compliance-first-secure-locks" data-block-id="dsgj6i4"><h6 class="stk-block-heading__text">4. Compliance-First Secure Locks</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-k7mfwol" data-block-id="k7mfwol"><style>.stk-k7mfwol .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Meets global privacy standards (GDPR, China’s Personal Information Protection Law):</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-5562rn0" data-block-id="5562rn0"><style>.stk-5562rn0 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● How it works: Cameras are installed outside dressing rooms (by locker entrances) to record access without capturing private areas. Locks use end-to-end encryption for access logs, with automatic data deletion after 90 days.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-2fr3haa" data-block-id="2fr3haa"><style>.stk-2fr3haa .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● 2025 Upgrade: QR code &#8220;visitor access&#8221;—day-pass users get one-time QR codes via email, no physical keys needed.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-bm4z9xu" data-block-id="bm4z9xu"><style>.stk-bm4z9xu .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Best For: Chain gyms operating in multiple regions or jurisdictions with strict data laws.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-te1chxz" id="5-revenue-generating-premium-locker-systems" data-block-id="te1chxz"><h6 class="stk-block-heading__text">5. Revenue-Generating Premium Locker Systems</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vm3rcqb" data-block-id="vm3rcqb"><style>.stk-vm3rcqb .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Turn lockers into a profit centre (a top trend for 2025, per Le Fitness Industry Report):</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-p1cjx7k" data-block-id="p1cjx7k"><style>.stk-p1cjx7k .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● How it works: Tiered access—free basic lockers (shared, 2-hour limit) and premium lockers ($5/month or $1/day) with perks (charging ports, climate control, dedicated use).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-bzv4ekn" data-block-id="bzv4ekn"><style>.stk-bzv4ekn .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● 2025 Upgrade: Gym app integration—members book premium lockers in advance and pay via in-app wallet.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-r2na3pz" data-block-id="r2na3pz"><style>.stk-r2na3pz .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Best For: Mid-sized to large gyms (e.g., LA Fitness)—generates $2,000-5,000/month in extra revenue.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-8js0rl6" id="5-core-benefits-of-2025-gym-locker-lock-systems" data-block-id="8js0rl6"><h5 class="stk-block-heading__text">5 Core Benefits of 2025 Gym Locker Lock Systems</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-j83b1vb" data-block-id="j83b1vb"><style>.stk-j83b1vb .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Upgrading to modern systems delivers ROI beyond just better security:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9rmbbq7" data-block-id="9rmbbq7"><style>.stk-9rmbbq7 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">1. 90% Higher Member Retention： Gyms with smart lockers see 3x fewer locker-related complaints and 15% higher renewal rates (IHRSA 2025).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-wo0ks4e" data-block-id="wo0ks4e"><style>.stk-wo0ks4e .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">2. 60% Less Labour Cost： Automated resetting, real-time alerts, and self-service access cut locker management from 15 hours/week to 1.5 hours.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-x4skepa" data-block-id="x4skepa"><style>.stk-x4skepa .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">3. 30% More Floor Space： Modular compact systems free up space for 2-3 additional treadmills or a new group class area.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-m7r84oe" data-block-id="m7r84oe"><style>.stk-m7r84oe .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">4. Zero Compliance Fines： Encrypted logs and privacy-safe design avoid $10,000+ fines for data breaches or privacy violations.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-oxhldk7" data-block-id="oxhldk7"><style>.stk-oxhldk7 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">5. New Revenue Streams： Premium lockers and visitor access can add 5-10% to annual revenue.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-n75p9d1" id="2025-deployment-checklist-how-to-upgrade-your-locker-room" data-block-id="n75p9d1"><h5 class="stk-block-heading__text">2025 Deployment Checklist: How to Upgrade Your Locker Room</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9gfsudr" data-block-id="9gfsudr"><style>.stk-9gfsudr .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">1. Audit Your Needs： Count daily peak users, measure available space, and review local privacy laws (e.g., avoid face-scanning in California).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-1f4ge7p" data-block-id="1f4ge7p"><style>.stk-1f4ge7p .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">2. Choose a Scalable System： Pick modular locks that grow with your gym—e.g., start with 2 compact cabinets, add 1 more as membership increases.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-h827san" data-block-id="h827san"><style>.stk-h827san .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">3. Integrate with Your Gym Tech Stack： Ensure locks sync with your membership management software (e.g., Mindbody) and gym app for seamless user experience.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vecaltz" data-block-id="vecaltz"><style>.stk-vecaltz .stk-block-text__text{font-weight:400 !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">4. Train Staff &amp; Members： Host a &#8220;locker upgrade day&#8221; with demos—80% of member pushback comes from lack of familiarity.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-qdo61sx" data-block-id="qdo61sx"><style>.stk-qdo61sx .stk-block-text__text{font-weight:400 !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">5. Test for Reliability： Run 48-hour offline tests and tamper simulations to ensure locks hold up in real-world use.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-ju44cia" data-block-id="ju44cia"><style>.stk-ju44cia .stk-block-text__text{font-weight:600 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">2025’s gym locker lock systems are no longer just about &#8220;securing belongings&#8221;—they’re a strategic tool to boost retention, cut costs, and generate revenue. By choosing AI-powered shared locks, compliance-first designs, or revenue-generating premium systems, you’ll turn your locker room into a member favorite.
Ready to upgrade? Contact our gym tech experts for a free space audit—we’ll help you pick the perfect system for your size, budget, and local regulations. Request your demo today!</p></div>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/2025-gym-locker-lock-systems-smart-solutions-to-boost-retention-revenue/">2025 Gym Locker Lock Systems: Smart Solutions to Boost Retention &amp; Revenue</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5304</post-id>	</item>
		<item>
		<title>Power over Ethernet (PoE) for Access Control</title>
		<link>https://www.feocey.com/power-over-ethernet-poe-for-access-control/</link>
		
		<dc:creator><![CDATA[Cinderella]]></dc:creator>
		<pubDate>Tue, 02 Dec 2025 01:37:26 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=5302</guid>

					<description><![CDATA[<p>In access control systems, the hassle of running separate cables for power and data has long been a pain point—especially [&#8230;]</p>
<p><a href="https://www.feocey.com/power-over-ethernet-poe-for-access-control/">Power over Ethernet (PoE) for Access Control</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-stackable-text stk-block-text stk-block stk-zlnbnl5" data-block-id="zlnbnl5"><style>.stk-zlnbnl5 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">In access control systems, the hassle of running separate cables for power and data has long been a pain point—especially for retrofits or large facilities like campuses and office parks. Power over Ethernet (PoE) changes the game by delivering both power and data over a single twisted-pair cable, simplifying installation, cutting costs, and boosting reliability. For access control devices like card readers, electronic locks, and controllers, PoE isn’t just a &#8220;nice-to-have&#8221;—it’s a transformative solution that aligns with modern smart security needs. This guide breaks down how PoE works for access control, its key benefits, selection tips, and real-world applications.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-yzp5ph2" id="what-is-po-e-and-how-does-it-work-for-access-control-core-definition" data-block-id="yzp5ph2"><h5 class="stk-block-heading__text">What Is PoE, and How Does It Work for Access Control? Core Definition</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9of2hso" data-block-id="9of2hso"><style>.stk-9of2hso .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">PoE is an IEEE-standardised technology that transmits electrical power (DC) and Ethernet data simultaneously over a single Cat5e/Cat6 cable. For access control, this means devices like PoE-enabled card readers, biometric scanners, and door controllers no longer need separate power cords or nearby electrical outlets—one cable handles everything.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-3s9rvjw" id="key-transmission-modes-for-access-control" data-block-id="3s9rvjw"><h5 class="stk-block-heading__text">Key Transmission Modes for Access Control</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-narxmsr" data-block-id="narxmsr"><style>.stk-narxmsr .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Two standardised PoE transmission methods adapt to different access control scenarios:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-4wi3fru" id="alternative-a-data-pair-power" data-block-id="4wi3fru"><h6 class="stk-block-heading__text">1. Alternative A (Data Pair Power)</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vb1fxb7" data-block-id="vb1fxb7"><style>.stk-vb1fxb7 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Uses 2 of the 4 twisted pairs in Cat5e/Cat6 cables (the same pairs for data). Ideal for low-power access control devices (e.g., basic card readers, keypads) in small offices. Note: Troubleshooting can be tricky since power and data share pairs.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-pp7veqf" id="2-alternative-b-spare-pair-power" data-block-id="pp7veqf"><h6 class="stk-block-heading__text">2. Alternative B (Spare Pair Power)</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-yhnpxtu" data-block-id="yhnpxtu"><style>.stk-yhnpxtu .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Uses 4 pairs in Cat6/Cat6a cables, separating power and data into distinct pairs. Perfect for high-power access control setups (e.g., video intercoms, motorised electronic locks) or large facilities—easier to diagnose wiring issues and more reliable for long runs.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-kumohta" id="critical-po-e-standards-for-access-control" data-block-id="kumohta"><h5 class="stk-block-heading__text">Critical PoE Standards for Access Control</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-gnxzlp1" data-block-id="gnxzlp1"><style>.stk-gnxzlp1 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">PoE has evolved to match growing access control power demands—choose the right standard based on your devices:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-elec2p4" data-block-id="elec2p4"><p class="stk-block-text__text"></p></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Standard</strong></td><td><strong>Nickname</strong></td><td><strong>Max Power (Source)</strong></td><td><strong>Suitable Access Control Devices</strong></td><td><strong>Cable Requirement</strong></td></tr><tr><td>IEEE 802.3af</td><td>PoE Basic</td><td>15.4W</td><td>Video intercoms, biometric scanners, and electric strikes</td><td>Cat5e+</td></tr><tr><td>IEEE 802.3at</td><td>PoE+</td><td>30W</td><td>Motorised magnetic locks, multi-functional access panels</td><td>Cat5e+</td></tr><tr><td>IEEE 802.3bt</td><td>PoE++ Type 3</td><td>60W</td><td>Motorized magnetic locks, multi-functional access panels</td><td>Cat6+</td></tr><tr><td>IEEE 802.3bt</td><td>PoE++ Type 4</td><td>90W</td><td>Integrated access-control-video systems, outdoor smart gates</td><td>Cat6a+</td></tr></tbody></table></figure>



<div class="wp-block-stackable-text stk-block-text stk-block stk-jdtt3h2" data-block-id="jdtt3h2"><style>.stk-jdtt3h2 .stk-block-text__text{font-weight:400 !important;font-style:oblique !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">All standards support 100m maximum cable length—critical for large facilities like campuses.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-toe8lgo" id="6-unbeatable-benefits-of-po-e-for-access-control" data-block-id="toe8lgo"><h5 class="stk-block-heading__text">6 Unbeatable Benefits of PoE for Access Control</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-nqgn3td" data-block-id="nqgn3td"><style>.stk-nqgn3td .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">PoE’s dominance in modern access control stems from its ability to solve real-world operational pain points:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-mz3t84v" id="1-slash-installation-amp-labour-costs" data-block-id="mz3t84v"><h6 class="stk-block-heading__text">1. Slash Installation &amp; Labour Costs</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-hf8jzoc" data-block-id="hf8jzoc"><style>.stk-hf8jzoc .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">No need for electricians to run dedicated power lines—IT teams can install PoE cables. For a 50-door office, this cuts wiring labor by 60% and eliminates costs for extra power outlets or junction boxes.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-7684zvq" id="2-flexible-device-placement" data-block-id="7684zvq"><h6 class="stk-block-heading__text">2. Flexible Device Placement</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-5xb0fbn" data-block-id="5xb0fbn"><style>.stk-5xb0fbn .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Install readers or intercoms in optimal security spots (e.g., ceiling-mounted scanners, remote gate entrances) without relying on nearby outlets. Rearrange devices easily during office renovations.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-dlh9tq7" id="3-enhanced-security-amp-safety" data-block-id="dlh9tq7"><h6 class="stk-block-heading__text">3. Enhanced Security &amp; Safety</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-t3dspxn" data-block-id="t3dspxn"><style>.stk-t3dspxn .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">PoE systems include built-in protection against overload, short circuits, and incorrect wiring—preventing damage to expensive access control gear. Low-voltage power (48V DC) also reduces fire risks vs. high-voltage AC.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-tqpk5sw" id="4-uninterrupted-reliability" data-block-id="tqpk5sw"><h6 class="stk-block-heading__text">4. Uninterrupted Reliability</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-ujxxmz3" data-block-id="ujxxmz3"><style>.stk-ujxxmz3 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Centralised PoE switches connect to UPS (Uninterruptible Power Supply) systems. During power outages, critical access points (e.g., emergency exits, server room doors) stay operational—avoiding security gaps.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-rbixf4l" id="5-centralised-management" data-block-id="rbixf4l"><h6 class="stk-block-heading__text">5. Centralised Management</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-iu6r385" data-block-id="iu6r385"><style>.stk-iu6r385 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Monitor the power usage of access control devices via PoE switches. Remotely reset unresponsive readers or lock/unlock doors without on-site visits—ideal for multi-location businesses.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-axx9s1c" id="6-future-proof-scalability" data-block-id="axx9s1c"><h6 class="stk-block-heading__text">6. Future-Proof Scalability</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-frghpb9" data-block-id="frghpb9"><style>.stk-frghpb9 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Add new devices (e.g., upgrade from card readers to biometric scanners) by simply connecting to existing PoE switches—no need to rewire for more power.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-gohcdj8" id="how-to-choose-the-right-po-e-solution-for-access-control" data-block-id="gohcdj8"><h5 class="stk-block-heading__text">How to Choose the Right PoE Solution for Access Control</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-sm4v8sn" data-block-id="sm4v8sn"><p class="stk-block-text__text">Avoid costly mismatches with these 4 key steps:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-zbk5r8n" id="1-calculate-device-power-needs" data-block-id="zbk5r8n"><h6 class="stk-block-heading__text">1. Calculate Device Power Needs</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-1sxqpen" data-block-id="1sxqpen"><style>.stk-1sxqpen .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">List all access control devices and their power draws: Basic readers (5-10W → 802.3af), video intercoms (15-25W → 802.3at), motorised locks (30-50W → 802.3bt Type 3).</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-wi1gch7" id="2-select-the-right-cable" data-block-id="wi1gch7"><h6 class="stk-block-heading__text">2. Select the Right Cable</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vg0pwp1" data-block-id="vg0pwp1"><style>.stk-vg0pwp1 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Use Cat5e for 802.3af/at; upgrade to Cat6 for 802.3bt (reduces signal loss for high power). For outdoor access points (e.g., parking lot gates), choose weatherproof shielded Cat6a.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-siv2p8n" id="3-pick-a-reliable-po-e-switch" data-block-id="siv2p8n"><h6 class="stk-block-heading__text">3. Pick a Reliable PoE Switch</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-j2sdlc3" data-block-id="j2sdlc3"><style>.stk-j2sdlc3 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Opt for &#8220;managed&#8221; PoE switches (vs. unmanaged) to monitor device status and power usage. Ensure the switch has enough ports for current devices + 20% spare for future expansion.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-t5cuhx1" id="4-verify-compatibility" data-block-id="t5cuhx1"><h6 class="stk-block-heading__text">4. Verify Compatibility</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-7fzoi38" data-block-id="7fzoi38"><style>.stk-7fzoi38 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Confirm access control devices (readers, controllers) are PoE-certified (look for IEEE 802.3af/at/bt logos). Avoid mixing proprietary PoE gear (e.g., old Cisco UPOE) with standard devices.</p></div>



<p class="wp-block-paragraph"></p>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/power-over-ethernet-poe-for-access-control/">Power over Ethernet (PoE) for Access Control</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5302</post-id>	</item>
		<item>
		<title>OSDP in Access Control: A Complete Guide</title>
		<link>https://www.feocey.com/osdp-in-access-control-a-complete-guide/</link>
		
		<dc:creator><![CDATA[Cinderella]]></dc:creator>
		<pubDate>Mon, 01 Dec 2025 06:53:08 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=5298</guid>

					<description><![CDATA[<p>In the world of physical access control, outdated protocols like Wiegand have long been a pain point—unencrypted data, one-way communication, [&#8230;]</p>
<p><a href="https://www.feocey.com/osdp-in-access-control-a-complete-guide/">OSDP in Access Control: A Complete Guide</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-stackable-text stk-block-text stk-block stk-ebfjs9x" data-block-id="ebfjs9x"><style>.stk-ebfjs9x .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">In the world of physical access control, outdated protocols like Wiegand have long been a pain point—unencrypted data, one-way communication, and limited scalability leave facilities vulnerable to hacks and operational inefficiencies. Enter OSDP (Open Supervised Device Protocol): a global standard developed to fix these flaws, offering secure, interoperable, and future-proof communication between access control devices. Whether you’re upgrading an old system or building a new one, understanding OSDP is critical to boosting security and simplifying operations. This guide breaks down everything you need to know about OSDP—from its core components to implementation best practices.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-cfo6wyu" id="what-is-osdp-definition-amp-key-background" data-block-id="cfo6wyu"><h5 class="stk-block-heading__text">What Is OSDP? Definition &amp; Key Background</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9jwsmjf" data-block-id="9jwsmjf"><style>.stk-9jwsmjf .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">OSDP, short for Open Supervised Device Protocol, is an open communication standard for access control systems, developed by the Security Industry Association (SIA) in 2008 and elevated to an international standard (IEC 60839-11-5) in 2020. Unlike proprietary or legacy protocols, OSDP was designed to address two critical gaps:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-eb9c35v" data-block-id="eb9c35v"><style>.stk-eb9c35v .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Security: Fixes unencrypted data risks in protocols like Wiegand with AES-128 encryption and real-time tamper detection.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-v4dhajy" data-block-id="v4dhajy"><style>.stk-v4dhajy .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Interoperability: Enables seamless communication between devices from different manufacturers (e.g., a HID reader with a Mercury controller).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-107zmci" data-block-id="107zmci"><style>.stk-107zmci .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Today, OSDP is refined regularly by SIA (latest versions include v2.2) and adopted by top vendors like HID Global, Mercury, and LenelS2. It’s mandatory for high-security environments (government, data centres) and recommended for all facilities prioritising long-term scalability.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-j62zxke" id="3-core-components-of-an-osdp-system" data-block-id="j62zxke"><h5 class="stk-block-heading__text">3 Core Components of an OSDP System</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-1qglfb5" data-block-id="1qglfb5"><style>.stk-1qglfb5 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">OSDP relies on three interconnected components to deliver secure, reliable access control—each playing a unique role in the workflow:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-3vb7pex" id="1-access-control-management-system" data-block-id="3vb7pex"><h6 class="stk-block-heading__text">1. Access Control Management System</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-727xv0a" data-block-id="727xv0a"><style>.stk-727xv0a .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">The &#8220;brain&#8221; of the system: manages user permissions, logs entry/exit activity, and sends commands to controllers. It integrates with OSDP to enable remote updates (e.g., firmware, user credentials) and centralised monitoring.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-fx7jr8g" id="2-osdp-compliant-readers" data-block-id="fx7jr8g"><h6 class="stk-block-heading__text">2. OSDP-Compliant Readers</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-sdj68oa" data-block-id="sdj68oa"><style>.stk-sdj68oa .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">The &#8220;user interface&#8221; captures user data via smart cards, biometrics (fingerprint/facial recognition), or keypads. Unlike legacy readers, OSDP readers send encrypted data and receive status commands (e.g., &#8220;flash LED for access granted&#8221;).</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-le0puux" id="3-controllers" data-block-id="le0puux"><h6 class="stk-block-heading__text">3. Controllers</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-lxr8mpg" data-block-id="lxr8mpg"><style>.stk-lxr8mpg .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">The &#8220;communication hub&#8221;: connects readers to the management system, processes authentication requests, and triggers actions (e.g., unlock doors). OSDP controllers support bidirectional communication—they can detect reader malfunctions or tampering and alert admins in real time.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-xfspr4i" id="osdp-vs-wiegand-why-osdp-is-a-better-choice" data-block-id="xfspr4i"><h6 class="stk-block-heading__text">OSDP vs. Wiegand: Why OSDP Is a Better Choice</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-b7x4f5i" data-block-id="b7x4f5i"><style>.stk-b7x4f5i .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Wiegand, the 1980s-era protocol still used by 90% of legacy systems, can’t match OSDP’s security and flexibility. Here’s a clear comparison:</p></div>



<figure class="wp-block-table"><table class="has-fixed-layout"><tbody><tr><td><strong>Feature</strong></td><td><strong>OSDP</strong></td><td><strong>Wiegand</strong></td></tr><tr><td>Communication Direction</td><td>Bidirectional (two-way)</td><td>One-way (reader to controller only)</td></tr><tr><td>Encryption</td><td>AES-128 encryption (end-to-end secure)</td><td>No encryption (data easily hacked)</td></tr><tr><td>Wiring Requirement</td><td>2 wires (multi-drop support)</td><td>6-12+ wires (no multi-drop)</td></tr><tr><td>Maximum Transmission Range</td><td>Up to 1200m (4000ft)</td><td>Max 152m (500ft)</td></tr><tr><td>Tamper Detection</td><td>Real-time alerts (line/reader tampering)</td><td>No tamper monitoring</td></tr><tr><td>Remote Management</td><td>Supports firmware updates &amp; configs</td><td>No remote capabilities</td></tr><tr><td>Interoperability</td><td>Open standard (cross-manufacturer)</td><td>Proprietary (limited compatibility)</td></tr></tbody></table></figure>



<div class="wp-block-stackable-text stk-block-text stk-block stk-f04rri7" data-block-id="f04rri7"><style>.stk-f04rri7 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">OSDP isn’t just a &#8220;better Wiegand&#8221;—it’s the future of access control communication. Its open standard, end-to-end security, and flexibility make it the top choice for facilities of all sizes, from small offices to federal campuses. By upgrading to OSDP, you’ll eliminate vendor lock-in, reduce operational costs, and protect your facility from evolving threats.
Ready to make the switch to OSDP? Contact our certified experts for a free system audit—we’ll help you choose the right profile, select compatible devices, and plan a seamless rollout. Request your demo today!</p></div>



<p class="wp-block-paragraph"></p>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/osdp-in-access-control-a-complete-guide/">OSDP in Access Control: A Complete Guide</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5298</post-id>	</item>
		<item>
		<title>School Access Control Systems: A Layered Safety Guide</title>
		<link>https://www.feocey.com/school-access-control-systems-a-layered-safety-guide/</link>
		
		<dc:creator><![CDATA[Cinderella]]></dc:creator>
		<pubDate>Wed, 26 Nov 2025 03:32:24 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=5293</guid>

					<description><![CDATA[<p>School Access Control Systems: A Layered Safety Guide Schools are tasked with the critical mission of fostering a safe, open [&#8230;]</p>
<p><a href="https://www.feocey.com/school-access-control-systems-a-layered-safety-guide/">School Access Control Systems: A Layered Safety Guide</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-3z0jcro" id="school-access-control-systems-a-layered-safety-guide" data-block-id="3z0jcro"><h1 class="stk-block-heading__text">School Access Control Systems: A Layered Safety Guide</h1></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-7a8mt82" data-block-id="7a8mt82"><style>.stk-7a8mt82 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Schools are tasked with the critical mission of fostering a safe, open learning environment while protecting students, staff, and visitors from evolving security threats. From unauthorised access to emergency lockdowns, traditional locks and manual monitoring can no longer keep up with modern risks. The Partner Alliance for Safer Schools (PASS) emphasises a layered security approach—integrating access control with IP video intercoms, surveillance, and mass notification systems—to create a comprehensive safety ecosystem. This guide outlines the process of designing, implementing, and optimising school access control systems that strike a balance between security, compliance, and daily operational efficiency.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-wtpinna" id="why-schools-need-a-layered-access-control-system" data-block-id="wtpinna"><h2 class="stk-block-heading__text">Why Schools Need a Layered Access Control System</h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-4153ekh" data-block-id="4153ekh"><style>.stk-4153ekh .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">A one-size-fits-all security solution fails to address the diverse needs of school campuses. A layered access control system delivers unique value across multiple dimensions:<br>Prevent Threats Proactively: Restrict access to sensitive areas (classrooms, IT labs, nurses’ offices) and block unauthorised individuals (trespassers, former staff) before they enter.<br>Rapid Emergency Response: Integrate with lockdown tools and mass notification systems to secure buildings in seconds during crises—critical for active shooter or violent incident scenarios.<br>Streamline Daily Operations: Automate visitor check-ins, eliminate manual key management, and enable role-based access (e.g., teachers access classrooms, admins access offices) to save time.<br>Ensure Accountability: Track real-time entry/exit logs, monitor door status (e.g., alerts for left-open doors), and maintain audit trails for compliance and incident investigations.<br>Balance Safety &amp; Warmth: Avoid creating a &#8220;prison-like&#8221; atmosphere with discreet, user-friendly tools (mobile credentials, remote intercoms) that keep campuses welcoming while secure.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-psj5col" id="key-types-of-school-access-control-systems" data-block-id="psj5col"><h2 class="stk-block-heading__text">Key Types of School Access Control Systems</h2></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-rvbzl1h" id="1-perimeter-amp-parking-lot-security" data-block-id="rvbzl1h"><h3 class="stk-block-heading__text">1. Perimeter &amp; Parking Lot Security</h3></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9jamxnl" data-block-id="9jamxnl"><style>.stk-9jamxnl .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Tools: IP video intercom towers, emergency wall boxes, CCTV integration, automated gates.<br>Function: Create a first line of defence—enable two-way communication with visitors, alert security to suspicious activity, and integrate with public address systems for campus-wide announcements.<br>Best For: Controlling vehicle/pedestrian access to campus grounds, monitoring remote parking areas.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-jbrlvj2" id="2-building-entry-control" data-block-id="jbrlvj2"><h3 class="stk-block-heading__text">2. Building Entry Control</h3></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-x2vkaon" data-block-id="x2vkaon"><style>.stk-x2vkaon .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Tools: Key cards/fobs, mobile credentials (NFC/Bluetooth), PIN pads, IP video intercoms.<br>Function: Verify visitor identities visually (via intercoms), restrict exterior door access to authorised users, and enable remote door status monitoring.<br>Best For: Main entrances, side doors, and loading docks—critical for preventing unauthorised building entry.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-s26tec0" id="3-interior-campus-access" data-block-id="s26tec0"><h3 class="stk-block-heading__text">3. Interior Campus Access</h3></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-qezaefi" data-block-id="qezaefi"><style>.stk-qezaefi .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Tools: Role-based electronic locks, classroom intercom substations, elevator access control.<br>Function: Limit access to sensitive zones (science labs with chemicals, IT rooms, and administrative offices) and enable direct communication between classrooms and the main office.<br>Best For: Managing movement within buildings while supporting daily teaching activities.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-3heng31" id="4-visitor-amp-emergency-management" data-block-id="3heng31"><h3 class="stk-block-heading__text">4. Visitor &amp; Emergency Management</h3></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-xeklcbb" data-block-id="xeklcbb"><style>.stk-xeklcbb .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Tools: Visitor management systems (VMS), check-in kiosks, watchlist integration, remote lockdown controls.
Function: Streamline visitor check-ins (ID scanning, temporary badges), cross-reference guests with threat databases, and activate campus-wide lockdowns or mass notifications during emergencies.
Best For: Maintaining visibility of non-staff/student individuals and ensuring rapid response to crises.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-57qzr1y" id="6-step-by-step-implementation-guide-for-schools" data-block-id="57qzr1y"><h3 class="stk-block-heading__text">6. Step-by-Step Implementation Guide for Schools</h3></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-zuv434n" data-block-id="zuv434n"><style>.stk-zuv434n .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">①Conduct a Comprehensive Security Audit: Identify vulnerable access points (unmonitored side doors, isolated parking areas), assess current security gaps, and prioritise high-risk zones (early education classrooms, nurses’ offices).</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-kbg01o2" data-block-id="kbg01o2"><style>.stk-kbg01o2 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">②Define Clear Access Policies: Establish rules for who can access what areas and when—e.g., students can enter classrooms during class hours, staff can access facilities 30 minutes before/after school, and visitors are restricted to common areas without escort.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-kbims6l" data-block-id="kbims6l"><style>.stk-kbims6l .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">③Select Integrated, Scalable Technology: Opt for cloud-based systems (for remote management) that integrate with existing tools (surveillance, mass notification). Prioritize wireless solutions if dealing with legacy building infrastructure.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-j2g9zox" data-block-id="j2g9zox"><style>.stk-j2g9zox .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">④Install &amp; Test Systems Thoroughly: Work with certified installers to ensure proper alignment of locks, intercoms, and readers. Test emergency functions (lockdowns, alerts) and integration between systems to avoid gaps.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-eowxy49" data-block-id="eowxy49"><style>.stk-eowxy49 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">⑤Train Staff, Students, &amp; Parents: Provide hands-on training for staff on system management (e.g., revoking lost key cards, activating lockdowns). Educate students on proper credential use and parents on visitor protocols to build buy-in.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-jx5vahw" data-block-id="jx5vahw"><style>.stk-jx5vahw .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">⑥Monitor, Analyse, &amp; Adapt: Regularly review access logs to identify patterns (e.g., frequent after-hours access to a specific area) and update policies as needed. Conduct quarterly system tests to ensure functionality.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-f07d6zi" id="overcoming-common-challenges-in-school-access-control" data-block-id="f07d6zi"><h2 class="stk-block-heading__text">Overcoming Common Challenges in School Access Control</h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-vses73p" data-block-id="vses73p"><style>.stk-vses73p .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">①Budget Constraints: Start with high-priority areas (main entrances, emergency lockdowns) and expand incrementally. Explore grants, local government safety programs, or flexible financing from vendors.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-thwk07q" data-block-id="thwk07q"><style>.stk-thwk07q .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">②Legacy Building Infrastructure: Choose wireless or cloud-based systems to avoid costly wiring renovations. Collaborate with facilities staff to find creative hardware placement solutions.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-mpu7cos" data-block-id="mpu7cos"><style>.stk-mpu7cos .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">③Balancing Security &amp; Accessibility: Use discreet technology (e.g., mobile credentials instead of visible key card readers) and role-based access to avoid restricting daily operations. Communicate the purpose of systems to the school community to reduce resistance.</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-tamh739" data-block-id="tamh739"><style>.stk-tamh739 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">④Compliance Risks: Select systems that meet FERPA requirements (secure student data storage) and local safety mandates. Ensure transparent data collection practices (e.g., explaining facial recognition use to parents) to address privacy concerns.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-4p59ync" id="compliance-amp-privacy-considerations" data-block-id="4p59ync"><h2 class="stk-block-heading__text">Compliance &amp; Privacy Considerations</h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-4u3lwd5" data-block-id="4u3lwd5"><style>.stk-4u3lwd5 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">FERPA Compliance: Ensure access control systems store student-related data (e.g., entry logs) securely, with restricted access to authorised staff only. Maintain audit trails for data access and modifications.<br>Local Safety Mandates: Align systems with state/district requirements for emergency preparedness (e.g., lockdown protocols, mass notification standards) to avoid penalties.<br>Privacy Protection: Use encrypted data storage, limit data retention periods, and communicate clearly with parents about what data is collected (e.g., visitor photos) and how it’s used. Avoid over-collecting sensitive information.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-m6689zj" id="conclusion-invest-in-a-system-that-grows-with-your-school" data-block-id="m6689zj"><h2 class="stk-block-heading__text">Conclusion: Invest in a System That Grows With Your School</h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-qpr80gu" data-block-id="qpr80gu"><style>.stk-qpr80gu .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">A layered access control system is more than a security tool—it’s an investment in creating a safe, supportive learning environment where students and staff can thrive. By integrating access control with communication and emergency tools, schools can proactively prevent threats, respond rapidly to crises, and streamline daily operations—all while maintaining the open, welcoming atmosphere critical for education.<br>Ready to strengthen your campus security? Partner with a trusted provider specialising in school access control—with experience in educational environments, compliance expertise, and scalable solutions. Request a free demo today to tailor a system to your school’s unique needs!</p></div>



<p class="wp-block-paragraph"></p>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/school-access-control-systems-a-layered-safety-guide/">School Access Control Systems: A Layered Safety Guide</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5293</post-id>	</item>
		<item>
		<title>How to Choose the Right Gym Access Control System</title>
		<link>https://www.feocey.com/how-to-choose-the-right-gym-access-control-system/</link>
		
		<dc:creator><![CDATA[Cinderella]]></dc:creator>
		<pubDate>Wed, 26 Nov 2025 03:30:20 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=5291</guid>

					<description><![CDATA[<p>How to Choose the Right Gym Access Control System For gym and fitness centre operators, the first interaction members have [&#8230;]</p>
<p><a href="https://www.feocey.com/how-to-choose-the-right-gym-access-control-system/">How to Choose the Right Gym Access Control System</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-vjq8g4u" id="br-strong-how-to-choose-the-right-gym-access-control-system-strong" data-block-id="vjq8g4u"><h2 class="stk-block-heading__text"><br><strong>How to Choose the Right Gym Access Control System</strong></h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-jxt5a0s" data-block-id="jxt5a0s"><style>.stk-jxt5a0s .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">For gym and fitness centre operators, the first interaction members have with your facility often starts at the door. Long check-in lines, lost key fobs, unauthorised access, and limited operating hours can quickly ruin the member experience—while also putting your equipment, revenue, and security at risk. Today’s gym-goers demand convenience (like 24/7 access) and safety, and a modern access control system is the key to delivering both.<br>With so many options—from RFID key fobs to biometric scanners and mobile apps—choosing the right solution can feel overwhelming. Do you need a cloud-based system for remote management? Will biometrics alienate privacy-conscious members? How do you balance security with ease of use? This guide breaks down everything you need to know to make an informed decision, from core benefits to detailed system comparisons and actionable selection tips.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-xvdrl0u" id="why-every-gym-needs-a-professional-access-control-system" data-block-id="xvdrl0u"><h5 class="stk-block-heading__text">Why Every Gym Needs a Professional Access Control System</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-hba1rkg" data-block-id="hba1rkg"><style>.stk-hba1rkg .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Gone are the days of manual sign-in sheets or basic keypads. A dedicated gym access control system offers far more than just door security—it’s a tool to boost member satisfaction, streamline operations, and drive business growth:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-oi6ezmh" data-block-id="oi6ezmh"><style>.stk-oi6ezmh .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Enhanced Security &amp; Fraud Prevention: Restrict access to authorised members only, eliminating “free rides” from shared key cards or PINs. Protect expensive equipment, member belongings in lockers, and your facility from intruders—especially critical for 24/7 gyms.<br>●24/7 Operation Without Extra Staff: Let members work out on their schedule (early mornings, late nights, weekends) without needing on-site staff to monitor entry. This flexibility is a top-selling point for attracting and retaining members.<br>●Streamlined Member Experience: Cut down on check-in lines with fast, touchless access. Members no longer need to carry physical cards—many systems use smartphones or biometrics for hassle-free entry.<br>●Data-Driven Insights: Track usage patterns (peak hours, popular facility areas, membership tier activity) to optimise class schedules, staffing, and equipment investments. Integrate with gym management software to sync membership data and automate access revocation for expired plans.<br>●Reduced Operational Costs: Free up staff from manual check-in tasks to focus on customer service, personal training, or class instruction. Cloud-based systems also minimise maintenance and hardware costs compared to on-premise setups.<br>●Flexible Access Control: Customise permissions based on membership levels—e.g., restrict premium amenities like saunas or personal training studios to VIP members, or grant temporary access to guests or contractors.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-71krkls" id="5-popular-gym-access-control-systems-pros-amp-cons" data-block-id="71krkls"><h5 class="stk-block-heading__text">5 Popular Gym Access Control Systems: Pros &amp; Cons</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-trvbqg4" data-block-id="trvbqg4"><style>.stk-trvbqg4 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Not all access control systems are created equal. Below is a detailed comparison of the most common options, tailored to gym-specific needs:</p></div>



<figure class="wp-block-table is-style-stripes has-small-font-size"><table class="has-fixed-layout" style="border-width:5px"><tbody><tr><td><strong>System Type</strong></td><td><strong>How It Works</strong></td><td><strong>Pros</strong></td><td><strong>Cons</strong></td><td><strong>Best For</strong></td></tr><tr><td><strong>RFID Key Fobs/Cards</strong></td><td>Members tap or swipe a physical fob/card on a reader</td><td>Affordable, intuitive, easy to distribute, compatible with most gyms</td><td>Prone to loss/theft/sharing, limited security, replacement costs</td><td>Small-to-medium gyms with budget constraints</td></tr><tr><td><strong>Mobile App Access</strong></td><td>Members use a smartphone app (QR code/NFC) to unlock doors</td><td>Touchless, no physical tokens, customizable permissions, integrates with gym management software</td><td>Requires internet/Bluetooth, depends on member device access</td><td>Modern boutique studios, tech-savvy members</td></tr><tr><td><strong>Biometric Scanners</strong></td><td>Uses fingerprint/face ID to verify identity</td><td>Highest security (cannot be shared/lost), fast check-in</td><td>Higher upfront cost, privacy concerns for some members</td><td>Touchless, no physical tokens, customizable permissions, and integrates with gym management software</td></tr><tr><td><strong>PIN Keypads</strong></td><td>Members enter a unique or shared PIN code</td><td>Low cost, simple to install, no need for devices/fobs</td><td>Risk of shared/stolen PINs, wear on keypads reveals codes</td><td>Small studios, supplementary access for low-risk areas</td></tr><tr><td><strong>Smart Lock Systems</strong></td><td>Combines multiple methods (mobile/RFID/PIN) with cloud management</td><td>Versatile, remote access control, scalable for multiple locations</td><td>Reliance on stable internet, higher price point</td><td>High-security gyms, 24/7 facilities, premium fitness centres</td></tr></tbody></table></figure>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-hu9zef3" id="7-key-factors-to-choose-the-perfect-gym-access-control-system" data-block-id="hu9zef3"><h5 class="stk-block-heading__text">7 Key Factors to Choose the Perfect Gym Access Control System</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-83p0az6" data-block-id="83p0az6"><style>.stk-83p0az6 .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">To narrow down your options, focus on these non-negotiable factors that align with gym operations:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-gk3a1lh" id="1-24-7-reliability-amp-remote-management" data-block-id="gk3a1lh"><h6 class="stk-block-heading__text">1. 24/7 Reliability &amp; Remote Management</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-sxkcqm6" data-block-id="sxkcqm6"><style>.stk-sxkcqm6 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">For gyms offering round-the-clock access, the system must work seamlessly without on-site staff. Look for:
●Cloud-based software that lets you monitor access, lock/unlock doors, and resolve issues remotely (even from your phone).
●Backup power (battery or generator) to avoid downtime during outages.
●Real-time alerts for suspicious activity (e.g., failed entry attempts, doors left open).</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-lbii6yo" id="2-integration-with-gym-management-software" data-block-id="lbii6yo"><h6 class="stk-block-heading__text">2. Integration with Gym Management Software</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-sd5fnb3" data-block-id="sd5fnb3"><style>.stk-sd5fnb3 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Your access control system should sync with your existing membership platform to:<br>●Automatically grant/revoke access based on membership status (e.g., expired plans, frozen accounts).<br>●Sync class bookings (e.g., only allow access to spin class attendees during session times).<br>● Centralise data (usage patterns, member activity) for easier reporting.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-8auxc2v" id="3-security-amp-anti-tailgating-features" data-block-id="8auxc2v"><h6 class="stk-block-heading__text">3. Security &amp; Anti-Tailgating Features</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-tmla6w7" data-block-id="tmla6w7"><style>.stk-tmla6w7 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Gyms face unique security risks (equipment theft, unauthorised entry, and member safety). Prioritize:<br>●Anti-tailgating measures (motion sensors, turnstiles, or alarm triggers for multiple entries).<br>●Encrypted data storage (especially for biometric systems) to protect member privacy.<br>●Integration with CCTV cameras to record entry events and aid investigations.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-jxwt05e" id="4-member-friendliness" data-block-id="jxwt05e"><h6 class="stk-block-heading__text">4. Member-Friendliness</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-eego2op" data-block-id="eego2op"><style>.stk-eego2op .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">A system that’s complicated to use will frustrate members. Choose solutions that are:
●Intuitive (no lengthy setup for members).
●Touchless (critical for hygiene, post-pandemic).
●Flexible (supports multiple credential types for different member preferences).</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-3qvof3p" id="5-scalability" data-block-id="3qvof3p"><h6 class="stk-block-heading__text">5. Scalability</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-7xzz37d" data-block-id="7xzz37d"><style>.stk-7xzz37d .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">If you plan to expand to multiple locations, add amenities, or grow your member base, the system should scale with you. Look for:
●Cloud-based architecture that allows adding new readers/doors with minimal hardware upgrades.
●Support for unlimited members and access points.
●Easy replication of settings across locations.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-lzikdcy" id="6-budget-amp-total-cost-of-ownership" data-block-id="lzikdcy"><h6 class="stk-block-heading__text">6. Budget &amp; Total Cost of Ownership</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-8vytahx" data-block-id="8vytahx"><style>.stk-8vytahx .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Consider upfront and long-term costs:
●Upfront: Hardware (readers, locks, scanners), installation, and software licenses.
●Long-term: Maintenance, replacement of physical tokens (fobs/cards), and software updates.
●Tip: Cloud-based systems often have lower long-term costs than on-premise setups, as they eliminate server maintenance fees.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-7lqrvnp" id="7-compliance-amp-privacy" data-block-id="7lqrvnp"><h6 class="stk-block-heading__text">7. Compliance &amp; Privacy</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-q3d1mzl" data-block-id="q3d1mzl"><style>.stk-q3d1mzl .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">For biometric systems, ensure compliance with data privacy laws (e.g., GDPR, CCPA) by:
●Choosing providers that encrypt biometric data and store it securely.
●Disclosing data usage to members and obtaining consent.
●Allowing members to opt out or request data deletion if needed.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-pjh458b" id="conclusion-invest-in-a-system-that-grows-with-your-gym" data-block-id="pjh458b"><h6 class="stk-block-heading__text">Conclusion: Invest in a System That Grows With Your Gym</h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-uo5xw9v" data-block-id="uo5xw9v"><style>.stk-uo5xw9v .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">The right gym access control system isn’t just a security tool—it’s a way to enhance the member experience, streamline operations, and drive revenue. By focusing on 24/7 reliability, integration, member-friendliness, and scalability, you’ll choose a solution that meets your needs today and adapts as your gym grows.
Don’t let outdated check-in processes hold your facility back. Whether you’re a small boutique studio or a multi-location chain, a modern access control system will set you apart from competitors and keep members coming back.
Ready to upgrade your gym’s entry experience? Contact our team for a free consultation—we’ll help you find a customized access control solution that aligns with your budget, membership base, and growth goals. Book your demo today!</p></div>



<p class="wp-block-paragraph"></p>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/how-to-choose-the-right-gym-access-control-system/">How to Choose the Right Gym Access Control System</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5291</post-id>	</item>
		<item>
		<title>How to Choose the Best Smart Door Entry Intercom System?</title>
		<link>https://www.feocey.com/how-to-choose-the-best-smart-door-entry-intercom-system/</link>
		
		<dc:creator><![CDATA[Cinderella]]></dc:creator>
		<pubDate>Wed, 26 Nov 2025 02:09:10 +0000</pubDate>
				<category><![CDATA[Access Control Solutions]]></category>
		<guid isPermaLink="false">https://www.feocey.com/?p=5289</guid>

					<description><![CDATA[<p>How to Choose the Best Smart Door Entry Intercom System? Choosing a smart door entry intercom system isn’t just about [&#8230;]</p>
<p><a href="https://www.feocey.com/how-to-choose-the-best-smart-door-entry-intercom-system/">How to Choose the Best Smart Door Entry Intercom System?</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-lxqij57" id="strong-how-to-choose-the-best-smart-door-entry-intercom-system-strong" data-block-id="lxqij57"><h2 class="stk-block-heading__text"><strong>How to Choose the Best Smart Door Entry Intercom System? </strong></h2></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-lr6o9n4" data-block-id="lr6o9n4"><style>.stk-lr6o9n4 .stk-block-text__text{line-height:1.5em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text"><br>Choosing a smart door entry intercom system isn’t just about buying a &#8220;buzzer&#8221;—it’s about investing in long-term security, user convenience, and property value. The wrong system can lead to frequent malfunctions, security loopholes, or frustrated residents/employees. With so many options—video vs. audio, wired vs. wireless, cloud-based vs. on-premise—how do you pick the one that fits your needs? This guide breaks down 5 critical steps and key considerations to help you select the best smart intercom system for your property.</p></div>



<div class="wp-block-uagb-container uagb-block-82571495 alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-4x5r8jp" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="4x5r8jp"><style>.stk-4x5r8jp {margin-top:var(--stk--preset--spacing--none, 0px) !important;margin-bottom:var(--stk--preset--spacing--none, 0px) !important;}</style><h5 class="stk-block-heading__text"><strong>Step 1: Clarify Your Core Needs &amp; Use Case</strong></h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9n0li51" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="9n0li51"><style>.stk-9n0li51 {margin-bottom:var(--stk--preset--spacing--none, 0px) !important;top:-14px !important;}.stk-9n0li51 .stk-block-text__text{font-weight:900 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text"><br>The first rule of choosing an intercom system is to match it to your scenario. Ask these questions to narrow down options:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-1x7fjos" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="1x7fjos"><style>.stk-1x7fjos {margin-bottom:var(--stk--preset--spacing--none, 0px) !important;}</style><h6 class="stk-block-heading__text"><strong>What type of property are you securing? </strong></h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-jtcu5br" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="jtcu5br"><style>.stk-jtcu5br {margin-top:var(--stk--preset--spacing--none, 0px) !important;margin-bottom:var(--stk--preset--spacing--none, 0px) !important;}.stk-jtcu5br .stk-block-text__text{line-height:1.5em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Residential buildings (apartments/condos) need user-friendly systems with package management features; commercial offices require multi-tenant directories and remote access; schools prioritise video verification and emergency lockdown integration; industrial sites need weatherproof, tamper-proof hardware.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-uhu6nrm" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="uhu6nrm"><h6 class="stk-block-heading__text"><strong>How many users/entry points do you have?</strong></h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-kozbgjx" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="kozbgjx"><style>.stk-kozbgjx {margin-bottom:var(--stk--preset--spacing--none, 0px) !important;top:-30px !important;}.stk-kozbgjx .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text"><br>Small apartments (10 units or less) can use basic wireless systems; large campuses or multi-location businesses need scalable cloud-based solutions that support dozens of entry points.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-rofzs4a" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="rofzs4a"><style>.stk-rofzs4a {top:-30px !important;}</style><h6 class="stk-block-heading__text"><strong>What’s your top priority?</strong></h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-rep5cjf" id="strong-step-1-clarify-your-core-needs-amp-use-case-strong" data-block-id="rep5cjf"><style>.stk-rep5cjf {top:-60px !important;}.stk-rep5cjf .stk-block-text__text{font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text"><br>Is it security (prioritise video intercoms with AI detection), convenience (mobile app access), hygiene (touchless systems), or cost-efficiency (wired audio intercoms)?</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-1299cd8d alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-ojiw48l" id="strong-step-2-evaluate-key-features-strong" data-block-id="ojiw48l"><h5 class="stk-block-heading__text"><strong>Step 2: Evaluate Key Features</strong></h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-8o05lr0" data-block-id="8o05lr0"><style>.stk-8o05lr0 {margin-bottom:var(--stk--preset--spacing--none, 0px) !important;top:-15px !important;}.stk-8o05lr0 .stk-block-text__text{font-weight:900 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Not all smart intercoms are created equal—focus on these must-have features to avoid disappointment:</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-yyt94kn" id="strong-2-1-security-performance-strong" data-block-id="yyt94kn"><style>.stk-yyt94kn {top:14px !important;}</style><h6 class="stk-block-heading__text"><strong>2.1 Security Performance</strong></h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-buasuwl" data-block-id="buasuwl"><style>.stk-buasuwl .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Video Quality: Opt for HD (1080p+) cameras for clear visitor identification; night vision is essential for outdoor use.
●Verification Methods: Video intercoms are superior to audio-only (visual ID checks reduce impersonation risks). For high-security sites, look for AI-powered features like face recognition or ID scanning.
●Access Logs: Cloud-based systems automatically record entry times, visitor details, and door release history—critical for audits and incident investigations.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-bh1uk4j" id="strong-2-2-user-convenience-strong" data-block-id="bh1uk4j"><style>.stk-bh1uk4j {top:14px !important;}</style><h6 class="stk-block-heading__text"><strong>2.2 User Convenience</strong></h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-r2fr13n" data-block-id="r2fr13n"><style>.stk-r2fr13n .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Remote Access: Ensure the system supports mobile apps (iOS/Android) for remote door release and visitor calls—ideal for users who travel or work off-site.
●Touchless Options: Motion sensors or QR code scanning eliminate the need for physical contact, a must for healthcare facilities, schools, and high-traffic areas.
●Directory &amp; Call Routing: A searchable user directory (cloud-updatable) lets visitors quickly find the person they’re meeting; direct call routing avoids disrupting reception staff.</p></div>



<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-btyf0pu" id="strong-2-3-reliability-amp-durability-strong" data-block-id="btyf0pu"><style>.stk-btyf0pu {top:14px !important;}</style><h6 class="stk-block-heading__text"><strong>2.3 Reliability &amp; Durability</strong></h6></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-dek9z36" id="strong-2-3-reliability-amp-durability-strong" data-block-id="dek9z36"><style>.stk-dek9z36 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Connectivity: Wired systems (Ethernet/PoE) offer stable performance for critical areas; wireless systems (Wi-Fi/5G) are flexible but require strong signal coverage.
●Weather Resistance: Outdoor intercoms must have an IP65+ rating to withstand rain, dust, and extreme temperatures.
●Power Backup: A built-in battery or UPS (Uninterruptible Power Supply) ensures the system works during power outages.</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-e1dc3ebb alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-idoe9l1" id="step-3-check-compatibility-amp-scalability" data-block-id="idoe9l1"><h5 class="stk-block-heading__text">Step 3: Check Compatibility &amp; Scalability</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-f9zbcdl" data-block-id="f9zbcdl"><style>.stk-f9zbcdl .stk-block-text__text{font-weight:900 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">A smart intercom shouldn’t exist in a silo—ensure it integrates with your existing systems and can grow with your property:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-p3czpwb" data-block-id="p3czpwb"><style>.stk-p3czpwb .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Integration Capabilities: Look for compatibility with access control (electronic locks, key cards), CCTV cameras, visitor management systems (VMS), and emergency notification tools (mass alerts, lockdown systems).<br>●Scalability: Cloud-based systems let you add new entry points or users without rewiring; avoid proprietary hardware that limits future upgrades.<br>●API Support: Open APIs allow customisation and integration with third-party software (e.g., property management platforms, HR systems for employee access).</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-af5ca3ea alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-va71i3e" id="step-4-balance-budget-amp-total-cost-of-ownership" data-block-id="va71i3e"><h5 class="stk-block-heading__text">Step 4: Balance Budget &amp; Total Cost of Ownership</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-8t5m7zr" data-block-id="8t5m7zr"><style>.stk-8t5m7zr .stk-block-text__text{font-weight:900 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text"><br>Don’t just focus on upfront costs—consider long-term expenses:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-hyg4m0g" data-block-id="hyg4m0g"><style>.stk-hyg4m0g .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Upfront Costs: Wired systems are cheaper for new constructions (no extra wiring needed); wireless systems have higher hardware costs but lower installation fees.
●Maintenance Fees: Cloud-based systems charge monthly/annual subscriptions for updates and storage; on-premise systems have no recurring fees but require in-house IT maintenance.
●Replacement Costs: Wireless intercoms may need signal boosters or battery replacements; wired systems have longer lifespans (10+ years) with minimal upkeep.</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-046a93f4 alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-48mqbs4" id="step-5-choose-a-trusted-supplier-amp-check-after-sales-support" data-block-id="48mqbs4"><h5 class="stk-block-heading__text">Step 5: Choose a Trusted Supplier &amp; Check After-Sales Support</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-fq8xg2t" data-block-id="fq8xg2t"><p class="stk-block-text__text">The best system is only as good as its supplier. Look for:</p></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-kfjg87o" data-block-id="kfjg87o"><style>.stk-kfjg87o .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Industry Experience: Suppliers specialising in your property type (e.g., residential vs. industrial) understand your unique needs.<br>●Certifications: Ensure hardware meets safety standards (IP rating for weatherproofing, FCC/CE for electronics) and data privacy compliance (GDPR, CCPA for cloud storage).<br>●Customer Support: 24/7 technical support, on-site installation, and user training are critical—avoid suppliers that offer no post-purchase assistance.<br>●Case Studies: Ask for references or case studies from similar properties to verify performance.</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-2d4861ef alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-m9yrqaf" id="scenario-specific-recommendations" data-block-id="m9yrqaf"><h5 class="stk-block-heading__text">Scenario-Specific Recommendations </h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-y6jaruu" data-block-id="y6jaruu"><style>.stk-y6jaruu .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">●Residential Buildings: Cloud-based video intercom with mobile app access (e.g., ButterflyMX) – supports package management and remote visitor approval.
●Commercial Offices: Wireless multi-tenant intercom with directory (e.g., Kisi) – integrates with employee access cards and VMS.
●Schools: Wired video intercom with lockdown integration (e.g., Aiphone) – durable and compliant with school security standards.
●Industrial Sites: Weatherproof wired intercom (e.g., Pelco) – tamper-proof and compatible with industrial surveillance systems.</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-2d01ddf3 alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-ju0k1t7" id="common-mistakes-to-avoid" data-block-id="ju0k1t7"><h5 class="stk-block-heading__text">Common Mistakes to Avoid</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-9l6ab7u" data-block-id="9l6ab7u"><style>.stk-9l6ab7u .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">● Prioritising Price Over Quality: Cheap audio-only systems may save money upfront, but lack security and scalability.<br>●Ignoring Compatibility: A system that doesn’t integrate with your existing locks or CCTV will create silos and extra work.<br>●Overlooking Signal Coverage: Wireless systems in large buildings need proper signal planning—otherwise, users will experience dropped calls.<br>●Forgetting User Training: Even the best system will fail if staff/residents don’t know how to use it—ensure suppliers offer training.</p></div>
</div></div>



<div class="wp-block-uagb-container uagb-block-2470ceaf alignfull uagb-is-root-container"><div class="uagb-container-inner-blocks-wrap">
<div class="wp-block-stackable-heading stk-block-heading stk-block-heading--v2 stk-block stk-jt7c610" id="conclusion" data-block-id="jt7c610"><h5 class="stk-block-heading__text">Conclusion</h5></div>



<div class="wp-block-stackable-text stk-block-text stk-block stk-cm0y9q7" data-block-id="cm0y9q7"><style>.stk-cm0y9q7 .stk-block-text__text{line-height:2em !important;font-weight:400 !important;font-style:normal !important;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;}</style><p class="stk-block-text__text">Choosing the best smart door entry intercom system requires balancing security, convenience, compatibility, and budget. By clarifying your needs, evaluating core features, and selecting a trusted supplier, you’ll invest in a system that protects your property, simplifies operations, and enhances user experience for years to come.<br>Ready to find your perfect intercom? Contact our experts for a free customised consultation—we’ll assess your property, recommend tailored solutions, and provide a no-obligation demo.</p></div>
</div></div>



<div class="wp-block-uagb-container has-custom-css uagb-block-91ac9172 alignfull uagb-is-root-container wp-custom-css-12c1c466">
<style data-wp-block-html="css">
/* ================================================
   FEOCEY — 文章页统一样式 (article-styles.css)
   粘贴到 WordPress 后台 → 外观 → 自定义 → 额外 CSS
   ================================================ */

/* ---------- 文章页基础容器 ---------- */
.single-post .site-main,
.single-post .content-area {
    max-width: 100%;
}

/* 文章内容区排版（宽度随 Astra 主题设定） */
.single-post .entry-content {
    padding: 48px 0 64px;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 17px;
    line-height: 1.85;
    color: #1E293B;
    letter-spacing: -0.003em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* ---------- 文章顶部 Hero 区域 ---------- */
.single-post .ast-post-title-wrap,
.single-post .entry-header,
.single-post .ast-container .entry-header,
.single-post .ast-single-post .entry-header {
    background: linear-gradient(180deg, #0F172A 0%, #1E293B 100%) !important;
    color: #fff !important;
    padding: 80px 24px 56px !important;
    text-align: center !important;
    position: relative;
    overflow: hidden;
}

/* Hero 背景封面图叠加效果 */
.single-post .entry-header::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.72);
    z-index: 1;
}

.single-post .entry-header > * {
    position: relative;
    z-index: 2;
}

/* 文章标题 — 强制白色 */
.single-post .entry-title,
.single-post h1.entry-title,
.single-post .ast-single-post .entry-title,
.single-post .entry-header h1,
.single-post .entry-header .entry-title {
    font-family: 'Plus Jakarta Sans', 'Inter', sans-serif !important;
    font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    color: #ffffff !important;
    max-width: 800px;
    margin: 0 auto 20px !important;
    letter-spacing: -0.02em;
}

/* 文章元信息（分类、日期、作者） */
.single-post .entry-meta,
.single-post .ast-post-meta,
.single-post .entry-header .entry-meta,
.single-post .entry-header .post-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 16px;
    font-size: 0.88rem;
    color: rgba(255, 255, 255, 0.72) !important;
    margin-top: 16px;
}

.single-post .entry-meta *,
.single-post .ast-post-meta * {
    color: rgba(255, 255, 255, 0.72) !important;
}

.single-post .entry-meta a,
.single-post .ast-post-meta a {
    color: #F5E180 !important;
    text-decoration: none !important;
    font-weight: 600;
}

.single-post .entry-meta a:hover,
.single-post .ast-post-meta a:hover {
    color: #fff !important;
}

/* 分类标签样式 */
.single-post .cat-links a,
.single-post .entry-header .cat-links a {
    display: inline-block;
    background: rgba(107, 78, 255, 0.3) !important;
    border: 1px solid rgba(107, 78, 255, 0.5);
    color: #c4b8ff !important;
    padding: 4px 14px;
    border-radius: 9999px;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none !important;
}

/* 封面图 */
.single-post .post-thumbnail,
.single-post .wp-post-image-wrap {
    width: 100%;
    max-width: 860px;
    margin: 0 auto 48px;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 16px 40px rgba(0,0,0,0.15);
}

.single-post .post-thumbnail img,
.single-post .wp-post-image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 正文内容排版 ---------- */

/* 段落 */
.single-post .entry-content p {
    margin-bottom: 1.6em;
    color: #334155;
}

/* 段落间视觉节奏：首段加重 */
.single-post .entry-content > p:first-of-type {
    font-size: 1.12em;
    color: #1E293B;
    line-height: 1.8;
}

/* 加粗文字用品牌色点缀 */
.single-post .entry-content strong {
    color: #1E293B;
    font-weight: 700;
}

/* 强调/高亮 */
.single-post .entry-content em {
    color: #475569;
}

/* 标题层级 */
.single-post .entry-content h2 {
    font-size: 1.65rem;
    font-weight: 800;
    color: #1E293B;
    margin: 2.4em 0 0.8em;
    padding-bottom: 12px;
    border-bottom: 2px solid #E2E8F0;
    border-image: linear-gradient(90deg, #6B4EFF 0%, #E2E8F0 60%) 1;
    line-height: 1.3;
    letter-spacing: -0.01em;
}

.single-post .entry-content h3 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #1E293B;
    margin: 2em 0 0.7em;
    line-height: 1.35;
    letter-spacing: -0.005em;
}

.single-post .entry-content h4 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #334155;
    margin: 1.6em 0 0.5em;
}

/* 内联链接 */
.single-post .entry-content a {
    color: #6B4EFF;
    text-decoration: underline;
    text-decoration-color: rgba(107, 78, 255, 0.35);
    text-underline-offset: 3px;
    transition: color 0.2s, text-decoration-color 0.2s;
}

.single-post .entry-content a:hover {
    color: #4B2ED8;
    text-decoration-color: #4B2ED8;
}

/* 引用块 */
.single-post .entry-content blockquote {
    border-left: 4px solid #6B4EFF;
    margin: 2em 0;
    padding: 20px 28px;
    background: #F0EEFF;
    border-radius: 0 12px 12px 0;
    font-style: italic;
    color: #475569;
    font-size: 1.05rem;
    line-height: 1.75;
}

.single-post .entry-content blockquote p {
    margin: 0;
}

/* 代码块 */
.single-post .entry-content code {
    background: #F1F5F9;
    color: #6B4EFF;
    padding: 2px 7px;
    border-radius: 5px;
    font-size: 0.9em;
    font-family: 'Fira Code', 'Cascadia Code', monospace;
}

.single-post .entry-content pre {
    background: #0F172A;
    color: #E2E8F0;
    padding: 24px;
    border-radius: 12px;
    overflow-x: auto;
    font-size: 0.9rem;
    line-height: 1.7;
    margin: 2em 0;
}

.single-post .entry-content pre code {
    background: none;
    color: inherit;
    padding: 0;
}

/* 列表 */
.single-post .entry-content ul,
.single-post .entry-content ol {
    padding-left: 1.6em;
    margin-bottom: 1.6em;
}

.single-post .entry-content li {
    margin-bottom: 0.6em;
    color: #334155;
    line-height: 1.75;
}

.single-post .entry-content ul li::marker {
    color: #6B4EFF;
}

/* 嵌套列表 */
.single-post .entry-content li > ul,
.single-post .entry-content li > ol {
    margin-top: 0.5em;
    margin-bottom: 0;
}

.single-post .entry-content li > ul li::marker {
    color: #94A3B8;
}

/* 图片 */
.single-post .entry-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 1.5em 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    display: block;
}

/* 图片说明文字 */
.single-post .entry-content figcaption,
.single-post .entry-content .wp-caption-text {
    text-align: center;
    font-size: 0.82rem;
    color: #94A3B8;
    margin-top: 8px;
}

/* 分割线 */
.single-post .entry-content hr {
    border: none;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, #CBD5E1 20%, #CBD5E1 80%, transparent 100%);
    margin: 3em 0;
}

/* 表格 */
.single-post .entry-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    font-size: 0.92rem;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.single-post .entry-content th {
    background: #F0EEFF;
    color: #1E293B;
    font-weight: 700;
    padding: 14px 16px;
    text-align: left;
    border-bottom: 2px solid #6B4EFF;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.single-post .entry-content td {
    padding: 12px 16px;
    border-bottom: 1px solid #E2E8F0;
    color: #334155;
}

.single-post .entry-content tr:last-child td {
    border-bottom: none;
}

.single-post .entry-content tbody tr:hover {
    background: #F8FAFC;
}

/* ---------- 文章标签 ---------- */
.single-post .tags-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 32px 0 16px;
    border-top: 1px solid #E2E8F0;
    margin-top: 40px;
}

.single-post .tags-links a {
    display: inline-block;
    background: #F0EEFF;
    color: #6B4EFF !important;
    border: 1px solid #E4DFFF;
    padding: 5px 14px;
    border-radius: 9999px;
    font-size: 0.82rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: background 0.2s, border-color 0.2s;
}

.single-post .tags-links a:hover {
    background: #6B4EFF;
    color: #fff !important;
    border-color: #6B4EFF;
}

/* ---------- 作者信息框 ---------- */
.single-post .about-author,
.single-post .ast-author-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 28px;
    background: #F8FAFC;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    margin: 40px 0;
}

.single-post .about-author img,
.single-post .ast-author-info img {
    width: 64px !important;
    height: 64px !important;
    border-radius: 50% !important;
    object-fit: cover;
    flex-shrink: 0;
    margin: 0 !important;
    box-shadow: none !important;
}

.single-post .author-title {
    font-weight: 700;
    color: #1E293B;
    font-size: 0.95rem;
    margin-bottom: 6px;
}

.single-post .author-bio {
    font-size: 0.87rem;
    color: #64748B;
    line-height: 1.65;
    margin: 0;
}

/* ---------- 评论区 ---------- */
.single-post #comments {
    padding: 0 0 64px;
}

.single-post .comment-reply-title,
.single-post #reply-title {
    font-size: 1.3rem;
    font-weight: 800;
    color: #1E293B;
    margin-bottom: 24px;
}

/* ---------- 隐藏 Astra 自带相关文章 ---------- */
.single-post .ast-related-post-wrap,
.single-post .ast-related-posts-wrapper,
.single-post .related-posts,
.single-post .ast-related-posts,
.single-post .ast-related-post {
    display: none !important;
}

/* ---------- 移动端适配 ---------- */
@media (max-width: 768px) {
    .single-post .entry-content {
        padding: 32px 20px 48px;
        font-size: 16px;
    }

    .single-post .entry-header,
    .single-post .ast-post-title-wrap,
    .single-post .ast-single-post .entry-header {
        padding: 56px 20px 40px !important;
    }

    .single-post .entry-title,
    .single-post h1.entry-title,
    .single-post .entry-header .entry-title {
        font-size: 1.75rem !important;
    }

    .single-post .entry-content h2 {
        font-size: 1.35rem;
    }

    .single-post .entry-content h3 {
        font-size: 1.12rem;
    }

    .single-post .about-author,
    .single-post .ast-author-info {
        flex-direction: column;
        gap: 14px;
    }

    .single-post #comments {
        padding: 0 20px 40px;
    }
}

</style>

<!-- ========================================
     FEOCEY — 文章底部区块 (article_footer_cta.html)
     使用方法：
       方案A（推荐）：将此代码放入 functions.php，用 hook 自动插入所有文章底部
       方案B：在每篇文章末尾手动加一个"自定义HTML"块，粘贴此代码
     ======================================== -->

<div class="article-footer-wrap">

    <!-- ① 延伸阅读 -->
    <div class="article-cta-block">
        <div class="article-cta-inner">
            <span class="article-cta-tag">Explore More</span>
            <h3>Want to Dive Deeper?</h3>
            <p>Browse our solution categories, read real-world case studies, or download the full product manual.</p>
            <div class="article-cta-btns">
                <a href="https://www.feocey.com/category/access-control-solutions/" class="article-btn article-btn--primary">Access Control Solutions</a>
                <a href="https://www.feocey.com/category/smart-lock/" class="article-btn article-btn--outline">Smart Lock Solutions</a>
                <a href="https://www.feocey.com/feocey-product-manual/" class="article-btn article-btn--outline">Product Manual</a>
            </div>
        </div>
    </div>

    <!-- ② 询盘表单 -->
    <div class="article-inquiry" id="article-inquiry">
        <h4 class="article-inquiry__title">Send an Inquiry</h4>
        <p class="article-inquiry__sub">Fill in the form below and our team will get back to you within 24 hours.</p>

        <!-- 提交到 WordPress 内置处理器，走 WP Mail SMTP 发邮件 -->
        <form class="article-inquiry__form" id="inquiry-form" action="https://www.feocey.com/wp-admin/admin-post.php?action=feocey_article_inquiry" method="POST">
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-name">Name <span class="article-inquiry__required">*</span></label>
                    <input type="text" id="inq-name" name="name" placeholder="Your full name" required>
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-email">Email <span class="article-inquiry__required">*</span></label>
                    <input type="email" id="inq-email" name="email" placeholder="you@company.com" required>
                </div>
            </div>
            <div class="article-inquiry__row">
                <div class="article-inquiry__field">
                    <label for="inq-company">Company</label>
                    <input type="text" id="inq-company" name="company" placeholder="Your company name">
                </div>
                <div class="article-inquiry__field">
                    <label for="inq-product">Product Interest <span class="article-inquiry__required">*</span></label>
                    <select id="inq-product" name="product" required>
                        <option value="" disabled selected>Select a product…</option>
                        <option value="Access Control">Access Control</option>
                        <option value="Smart Lock">Smart Lock</option>
                        <option value="DejaOS">DejaOS</option>
                        <option value="Other">Other / General Inquiry</option>
                    </select>
                </div>
            </div>
            <div class="article-inquiry__field article-inquiry__field--full">
                <label for="inq-message">Message <span class="article-inquiry__required">*</span></label>
                <textarea id="inq-message" name="message" rows="5" placeholder="Tell us about your project, requirements, or questions…" required></textarea>
            </div>
            <div class="article-inquiry__submit-row">
                <button type="submit" class="article-inquiry__submit" id="inq-submit">
                    <span class="article-inquiry__submit-text">Send Inquiry</span>
                    <span class="article-inquiry__submit-loading" style="display:none;">Sending…</span>
                </button>
                <p class="article-inquiry__note">We respect your privacy. Your data will never be shared.</p>
            </div>
            <div class="article-inquiry__success" id="inq-success" style="display:none;">
                <svg width="48" height="48" viewBox="0 0 24 24" fill="none" stroke="#10B981" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M8 12l3 3 5-5"/></svg>
                <h4>Thank you for your inquiry!</h4>
                <p>We&#8217;ve received your message and will get back to you shortly.</p>
            </div>
        </form>
    </div>

    <!-- ③ 分享按钮 -->
    <div class="article-share">
        <span class="article-share__label">Share this article</span>
        <div class="article-share__btns">
            <a href="https://twitter.com/intent/tweet?url=PAGE_URL&#038;text=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--twitter" aria-label="Share on X">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-4.714-6.231-5.401 6.231H2.744l7.73-8.835L1.254 2.25H8.08l4.259 5.636L18.244 2.25zm-1.161 17.52h1.833L7.084 4.126H5.117L17.083 19.77z"/></svg>
                X (Twitter)
            </a>
            <a href="https://www.linkedin.com/shareArticle?url=PAGE_URL&#038;title=PAGE_TITLE" target="_blank" rel="noopener" class="article-share__btn article-share__btn--linkedin" aria-label="Share on LinkedIn">
                <svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 01-2.063-2.065 2.064 2.064 0 112.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
                LinkedIn
            </a>
            <button class="article-share__btn article-share__btn--copy" onclick="navigator.clipboard.writeText(window.location.href).then(()=>{this.textContent=&#8217;✓ Copied!&#8217;;setTimeout(()=>{this.innerHTML=&#8217;<svg width=\'18\' height=\'18\' viewBox=\'0 0 24 24\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'><rect x=\'9\' y=\'9\' width=\'13\' height=\'13\' rx=\'2\'/><path d=\'M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\'/></svg> Copy Link\&#8217;;},2000)})&#8221; aria-label=&#8221;Copy link&#8221;>
                <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="9" y="9" width="13" height="13" rx="2"/><path d="M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1"/></svg>
                Copy Link
            </button>
        </div>
    </div>

</div>

<style>
/* ===== 文章底部区块样式 — 与 feocey.com 设计体系统一 ===== */
.article-footer-wrap {
    --af-primary: #6B4EFF;
    --af-primary-dark: #4B2ED8;
    --af-primary-light: #8B7AFF;
    --af-accent: #F5E180;
    --af-accent-dark: #D4A800;
    --af-text: #1E293B;
    --af-text-secondary: #475569;
    --af-text-muted: #94A3B8;
    --af-bg-subtle: #F8FAFC;
    --af-bg-soft: #F1F5F9;
    --af-border: #E2E8F0;
    --af-radius-sm: 10px;
    --af-radius-md: 14px;
    --af-radius-lg: 20px;
    --af-radius-full: 9999px;
    --af-shadow-sm: 0 2px 8px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
    --af-shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
    --af-shadow-primary: 0 8px 30px rgba(107,78,255,0.25);
    --af-shadow-primary-lg: 0 12px 40px rgba(107,78,255,0.35);
    --af-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;

    max-width: none;
    margin: 0;
    padding: 0 0 80px;
    font-family: var(--af-font);
    color: var(--af-text);
}

/* ========== ① 延伸阅读 CTA ========== */
.article-cta-block {
    background: linear-gradient(135deg, #0F172A 0%, #1E293B 60%, #2D1B69 100%);
    border-radius: var(--af-radius-lg);
    padding: 56px 48px;
    text-align: center;
    margin: 48px 0;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(107,78,255,0.15);
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
}

/* 左上角紫色光晕 */
.article-cta-block::before {
    content: '';
    position: absolute;
    top: -100px; left: -60px;
    width: 300px; height: 300px;
    background: radial-gradient(circle, rgba(107,78,255,0.18) 0%, transparent 70%);
    pointer-events: none;
}

/* 右下角金色光晕 */
.article-cta-block::after {
    content: '';
    position: absolute;
    bottom: -80px; right: -40px;
    width: 260px; height: 260px;
    background: radial-gradient(circle, rgba(245,225,128,0.08) 0%, transparent 70%);
    pointer-events: none;
}

.article-cta-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(107,78,255,0.15);
    border: 1px solid rgba(107,78,255,0.35);
    color: #C4B8FF !important;
    padding: 5px 16px;
    border-radius: var(--af-radius-full);
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.article-cta-block h3 {
    font-size: 1.75rem;
    font-weight: 800;
    color: #ffffff !important;
    line-height: 1.25;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-cta-block p {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 0.97rem;
    line-height: 1.75;
    max-width: 520px;
    margin: 0 auto 28px;
    position: relative;
    z-index: 1;
}

.article-cta-btns {
    display: flex;
    gap: 12px;
    justify-content: center;
    flex-wrap: wrap;
    position: relative;
    z-index: 1;
}

.article-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    padding: 13px 28px;
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-weight: 700;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

/* 主按钮：紫色渐变，hover 带金色光扫过 */
.article-btn--primary {
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff !important;
    box-shadow: var(--af-shadow-primary);
}

.article-btn--primary::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.25) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-btn--primary:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-btn--primary:hover::after {
    opacity: 1;
}

/* 描边按钮：浅紫描边，hover 加深 */
.article-btn--outline {
    border: 1.5px solid rgba(196, 184, 255, 0.35);
    color: #C4B8FF !important;
    background: rgba(255, 255, 255, 0.04);
}

.article-btn--outline:hover {
    border-color: #C4B8FF;
    background: rgba(107,78,255,0.18);
    color: #ffffff !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(107,78,255,0.25);
}

/* ========== ② 询盘表单 ========== */
.article-inquiry {
    margin: 48px 0;
    background: #fff;
    border: 1px solid var(--af-border);
    border-radius: var(--af-radius-lg);
    padding: 44px 48px;
    box-shadow: var(--af-shadow-sm);
    position: relative;
}

/* 顶部金色装饰线 */
.article-inquiry::before {
    content: '';
    position: absolute;
    top: 0; left: 24px; right: 24px;
    height: 3px;
    background: linear-gradient(90deg, var(--af-primary) 0%, var(--af-accent) 50%, var(--af-primary) 100%);
    border-radius: 0 0 3px 3px;
    opacity: 0.7;
}

.article-inquiry__title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 0 0 6px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__sub {
    font-size: 0.9rem;
    color: var(--af-text-secondary);
    margin: 0 0 28px;
    line-height: 1.6;
}

.article-inquiry__form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.article-inquiry__row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

.article-inquiry__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.article-inquiry__field--full {
    grid-column: 1 / -1;
}

.article-inquiry__field label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--af-text-secondary);
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.article-inquiry__required {
    color: #EF4444;
    margin-left: 1px;
}

.article-inquiry__field input,
.article-inquiry__field select,
.article-inquiry__field textarea {
    width: 100%;
    padding: 13px 16px;
    border: 1.5px solid var(--af-border);
    border-radius: var(--af-radius-sm);
    font-size: 0.93rem;
    font-family: var(--af-font);
    color: var(--af-text);
    background: var(--af-bg-subtle);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-sizing: border-box;
}

.article-inquiry__field input:hover,
.article-inquiry__field select:hover,
.article-inquiry__field textarea:hover {
    border-color: #CBD5E1;
}

.article-inquiry__field input:focus,
.article-inquiry__field select:focus,
.article-inquiry__field textarea:focus {
    outline: none;
    border-color: var(--af-primary);
    background: #fff;
    box-shadow: 0 0 0 3px rgba(107,78,255,0.1), 0 2px 8px rgba(107,78,255,0.08);
}

.article-inquiry__field input::placeholder,
.article-inquiry__field textarea::placeholder {
    color: var(--af-text-muted);
}

.article-inquiry__field select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B4EFF' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 36px;
    cursor: pointer;
}

.article-inquiry__field textarea {
    resize: vertical;
    min-height: 120px;
}

.article-inquiry__submit-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    padding-top: 4px;
}

.article-inquiry__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 14px 36px;
    background: linear-gradient(135deg, var(--af-primary) 0%, var(--af-primary-dark) 100%);
    color: #fff;
    font-size: 0.97rem;
    font-weight: 700;
    border: none;
    border-radius: var(--af-radius-sm);
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: var(--af-shadow-primary);
    font-family: var(--af-font);
    position: relative;
    overflow: hidden;
}

.article-inquiry__submit::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0%, rgba(245,225,128,0.2) 50%, transparent 100%);
    opacity: 0;
    transition: opacity 0.35s;
    pointer-events: none;
}

.article-inquiry__submit:hover {
    transform: translateY(-2px);
    box-shadow: var(--af-shadow-primary-lg);
}

.article-inquiry__submit:hover::after {
    opacity: 1;
}

.article-inquiry__note {
    font-size: 0.78rem;
    color: var(--af-text-muted);
    margin: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* 锁图标小装饰 */
.article-inquiry__note::before {
    content: '';
    display: inline-block;
    width: 12px; height: 12px;
    background: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0110 0v4'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.article-inquiry__success {
    text-align: center;
    padding: 40px 0;
}

.article-inquiry__success svg {
    display: block;
    margin: 0 auto;
}

.article-inquiry__success h4 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--af-text);
    margin: 16px 0 8px;
    font-family: 'Plus Jakarta Sans', var(--af-font);
}

.article-inquiry__success p {
    font-size: 0.93rem;
    color: var(--af-text-secondary);
    margin: 0;
}

/* ========== ③ 分享按钮 ========== */
.article-share {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding: 24px 0;
    border-top: 1px solid var(--af-border);
    margin-top: 8px;
}

.article-share__label {
    font-size: 0.83rem;
    font-weight: 700;
    color: var(--af-text-muted);
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.article-share__btns {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.article-share__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    border-radius: var(--af-radius-sm);
    font-size: 0.83rem;
    font-weight: 600;
    text-decoration: none !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: 1.5px solid var(--af-border);
    background: #fff;
    color: var(--af-text-secondary) !important;
    font-family: var(--af-font);
    box-shadow: var(--af-shadow-sm);
}

.article-share__btn:hover {
    border-color: currentColor;
    transform: translateY(-1px);
    box-shadow: var(--af-shadow-md);
}

.article-share__btn svg {
    flex-shrink: 0;
}

.article-share__btn--twitter:hover {
    color: #0F1419 !important;
    background: #F7F9F9;
    border-color: #0F1419;
}

.article-share__btn--linkedin:hover {
    color: #0A66C2 !important;
    background: #F3F6F9;
    border-color: #0A66C2;
}

.article-share__btn--copy {
    background: var(--af-bg-subtle);
    border-color: var(--af-border);
}

.article-share__btn--copy:hover {
    color: var(--af-primary) !important;
    background: var(--af-primary-50, #F0EEFF);
    border-color: var(--af-primary);
}

/* ========== 移动端适配 ========== */
@media (max-width: 768px) {
    .article-footer-wrap { padding: 0 20px 60px; }

    .article-cta-block {
        padding: 40px 24px;
        border-radius: var(--af-radius-md);
    }

    .article-cta-block h3 { font-size: 1.35rem; }

    .article-inquiry {
        padding: 32px 20px;
        border-radius: var(--af-radius-md);
    }

    .article-inquiry::before { left: 16px; right: 16px; }

    .article-inquiry__row {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .article-inquiry__submit-row {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .article-inquiry__submit {
        width: 100%;
    }

    .article-share {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .article-cta-btns { flex-direction: column; }
    .article-btn { width: 100%; justify-content: center; }
    .article-inquiry { padding: 28px 16px; }
    .article-cta-block { padding: 36px 20px; }
    .article-cta-block h3 { font-size: 1.2rem; }
}
</style>

<script>
/* ===== 询盘表单 Ajax 提交 =====
   走 WordPress admin-post.php + WP Mail SMTP 发邮件
   需配合 functions.php 中的 feocey_article_inquiry handler */
(function(){
    var form   = document.getElementById('inquiry-form');
    var btn    = document.getElementById('inq-submit');
    var txt    = btn.querySelector('.article-inquiry__submit-text');
    var load   = btn.querySelector('.article-inquiry__submit-loading');
    var succ   = document.getElementById('inq-success');
    if (!form) return;

    form.addEventListener('submit', function(e){
        e.preventDefault();
        txt.style.display = 'none';
        load.style.display = 'inline';
        btn.disabled = true;

        var data = new FormData(form);
        /* 附带当前文章 URL，方便你知道客户从哪篇文章发来的 */
        data.append('article_url', window.location.href);

        fetch(form.action, { method: 'POST', body: data })
            .then(function(r){
                if (r.ok) {
                    form.style.display = 'none';
                    succ.style.display = 'block';
                } else {
                    throw new Error('Server returned ' + r.status);
                }
            })
            .catch(function(err){
                alert('Something went wrong. Please try again or email us at carlo@feocey.com.');
                txt.style.display = 'inline';
                load.style.display = 'none';
                btn.disabled = false;
            });
    });
})();
</script>

<!--
========================================
 部署说明
========================================

1. 把本文件全部内容粘贴到 WP 文章底部（自定义HTML块）

2. 把下面的 PHP 代码添加到主题 functions.php 末尾：
   (WP 后台 → 外观 → 主题文件编辑器 → functions.php)
   <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 找不到主题编辑器的话，用 FTP/文件管理器进
      /wp-content/themes/astra/functions.php

3. 前提：WP Mail SMTP 已配置并测试通过

4. 提交后走 admin-post.php → WP Mail SMTP 发邮件到 carlo@feocey.com
   客户看到绿色对勾，页面不刷新
========================================
-->
</div>
<p><a href="https://www.feocey.com/how-to-choose-the-best-smart-door-entry-intercom-system/">How to Choose the Best Smart Door Entry Intercom System?</a>最先出现在<a href="https://www.feocey.com">Feocey Access Control</a>。</p>
]]></content:encoded>
					
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5289</post-id>	</item>
	</channel>
</rss>
