
        /* ===================================================================
           留言面板专属样式 —— 完全遵循 search_policy 前缀作用域
           基于原有 ty_msg.css 重构优化，完美适配 PC/平板/手机
           所有 CSS3 特性均已添加中文注释
        =================================================================== */
        
        /* ---------- 作用域容器：所有样式均嵌套在此类下，确保前缀统一 ---------- */
        .search_policy_msg {
            /* 留言区域根容器，无额外样式，仅作为作用域限定 */
        }

        /* 留言区块整体 */
        .search_policy_msg .ty_msg_section {
            display: block;
            width: 100%;
            /* 内外边距已由全局 reset 管理，保持干净 */
        }

        /* 内容版心 —— grid 最大宽度自适应 */
        .search_policy_msg .ty_msg_container {
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            margin: 0 auto;
            width: 100%;
            max-width: 1600px;      /* 大屏幕舒适宽度，不强制但保持居中 */
        }

        /* 留言卡片 —— 白色轻质感卡片 */
        .search_policy_msg .ty_msg_card {
            background-color: var(--color-white, #ffffff);
            border-radius: var(--radius-xl, 1rem);
            box-shadow: var(--shadow-md, 0 4px 6px -1px rgb(0 0 0 / 0.1));
            padding: 2.5rem 2.8rem;
            border: 1px solid var(--color-gray-100, #f3f4f6);
            transition: all 0.2s ease;
        }

        /* 表单标题（默认隐藏，保留结构） */
        .search_policy_msg .ty_msg_title {
            display: none;
            font-size: 2rem;
            font-weight: 700;
            color: var(--color-gray-900, #111827);
            margin-bottom: 0.5rem;
            letter-spacing: -0.3px;
        }

        /* 副标题说明 */
        .search_policy_msg .ty_msg_subtitle {
            font-size: 0.95rem;
            color: var(--color-gray-500, #6b7280);
            margin-bottom: 2rem;
            border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
            padding-bottom: 1.2rem;
        }

        /* 表单总体 grid 布局 */
        .search_policy_msg .ty_msg_form {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1.5rem;
        }

        /* 通用输入双列布局 (省份+邮箱，姓名+电话) */
        .search_policy_msg .ty_msg_row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem;
        }

        /* 单个输入框组容器 */
        .search_policy_msg .ty_msg_group {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
        }

        /* 标签行（用于存放带图标的标签 + 字数统计），修改点1+2 核心容器 */
        .search_policy_msg .ty_msg_label_row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.75rem 1rem;
            width: 100%;
        }

        /* 左侧图标+文字容器（修改点1：图标与详细描述文字包裹在一起） */
        .search_policy_msg .ty_msg_label_icon_text {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            font-weight: 500;
            font-size: 0.9rem;
            color: var(--color-gray-700, #374151);
        }

        /* 原标签文本（详细描述+红星）重置边距，保留原有样式 */
        .search_policy_msg .ty_msg_label {
            display: inline-flex;
            align-items: center;
            gap: 0.3rem;
            font-weight: 500;
            font-size: 0.9rem;
            color: var(--color-gray-700, #374151);
            margin: 0;
        }

        /* 必填红星标志 */
        .search_policy_msg .ty_msg_required {
            color: #e53e3e;
            font-size: 1.1rem;
            line-height: 1;
            margin-left: 2px;
        }

        /* 字数统计区域 (修改点2：与详细描述标签同一水平线，PC左右分布) */
        .search_policy_msg .ty_msg_char_stats {
            font-size: 0.75rem;
            color: #6c757d;
            background: var(--color-gray-50, #f9fafb);
            padding: 0.2rem 0.7rem;
            border-radius: 20px;
            white-space: nowrap;
            letter-spacing: 0.3px;
            transition: all 0.2s;
            /* 优雅辅助 */
            box-shadow: inset 0 0 0 1px rgba(0,0,0,0.02);
        }
        .search_policy_msg .ty_msg_char_stats span {
            font-weight: 600;
            color: #0454dc;
        }
        .search_policy_msg .ty_msg_char_stats #charRemaining {
            color: #6c757d;
            font-weight: 500;
        }
        /* 当剩余字数极少时的警示样式（js动态改color，基础样式保留） */
        .search_policy_msg .ty_msg_char_stats .warning {
            color: #dc2626;
        }

        /* 输入框包装器 (用于放置输入组件) */
        .search_policy_msg .ty_msg_input-wrapper {
            display: flex;
            align-items: center;
            background-color: var(--color-white, #ffffff);
            border: 1.5px solid var(--color-gray-200, #e5e7eb);
            border-radius: var(--radius-md, 0.5rem);
            transition: border-color 150ms ease, box-shadow 150ms ease;
        }
        .search_policy_msg .ty_msg_input-wrapper:focus-within {
            border-color: #0454dc;
            box-shadow: 0 0 0 3px rgba(4, 84, 220, 0.12);
        }

        /* 小图标样式 (后续可替换为iconfont) */
        .search_policy_msg .ty_msg_icon {
            display: flex;
            align-items: center;
            justify-content: center;
            padding-left: 1rem;
            padding-right: 1rem;
            color: var(--color-gray-500, #6b7280);
            font-size: 1.1rem;
        }

        .ty_msg_icon i{
            font-size: 1.5rem;
        }

        /* 输入框/文本域/下拉框统一样式 */
        .search_policy_msg .ty_msg_input,
        .search_policy_msg .ty_msg_textarea,
        .search_policy_msg .ty_msg_select {
            width: 100%;
            padding: 0.75rem 1rem 0.75rem 1rem;
            border: none;
            background: transparent;
            font-size: 0.95rem;
            color: var(--color-gray-800, #1f2937);
            outline: none;
        }

        /* 文本域独立样式（移除图标后 padding 左右统一舒适） */
        .search_policy_msg .ty_msg_textarea {
            resize: vertical;      /* CSS3 特性：允许垂直拉伸 */
            min-height: 500px;     /* 满足数据库长文本需求 */
            line-height: 1.6;
            padding: 0.85rem 1rem;
        }

        /* 文本域包装器 - 去除图标区域的额外边距 */
        .search_policy_msg .ty_msg_input-wrapper.textarea-wrapper {
            align-items: stretch;
        }

        /* 下拉框指针样式 */
        .search_policy_msg .ty_msg_select {
            cursor: pointer;
        }

        /* 验证码区域整体布局 (flex组合) */
        .search_policy_msg .ty_msg_captcha-group {
            display: flex;
            align-items: stretch;
            gap: 0.8rem;
            flex-wrap: wrap;
        }

        /* 验证码输入框包装器 */
        .search_policy_msg .ty_msg_captcha-wrapper {
            flex: 0.2;
            min-width: 160px;
            display: flex;
            align-items: center;
            background-color: var(--color-white, #ffffff);
            border: 1.5px solid var(--color-gray-200, #e5e7eb);
            border-radius: var(--radius-md, 0.5rem);
            transition: border-color 150ms ease, box-shadow 150ms ease;
        }
        .search_policy_msg .ty_msg_captcha-wrapper:focus-within {
            border-color: #0454dc;
            box-shadow: 0 0 0 3px rgba(4, 84, 220, 0.12);
        }

        /* 验证码输入框 */
        .search_policy_msg .ty_msg_captcha-input {
            width: 100%;
            padding: 0.75rem 0.5rem 0.75rem 0.5rem;
            border: none;
            background: transparent;
            font-size: 0.95rem;
            outline: none;
        }

        /* 验证码显示图片区（带动态验证码） */
        .search_policy_msg .ty_msg_captcha-display {
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--color-gray-100, #f3f4f6);
            border-radius: var(--radius-md, 0.5rem);
            padding: 0 1.2rem;
            font-weight: 600;
            font-size: 1.3rem;
            letter-spacing: 4px;
            color: var(--color-gray-800, #1f2937);
            border: 1px solid var(--color-gray-200, #e5e7eb);
            max-width: 160px;
            /* 验证码噪点背景模拟 (CSS3 重复线性渐变) */
            background: repeating-linear-gradient(45deg, #eef2f6, #eef2f6 8px, #e5eaf0 8px, #e5eaf0 16px);
            cursor: pointer;
            transition: opacity 0.2s;
        }
        .search_policy_msg .ty_msg_captcha-display:hover {
            opacity: 0.85;
        }

        /* 刷新验证码按钮 */
        .search_policy_msg .ty_msg_refresh-btn {
            display: flex;
            align-items: center;
            justify-content: center;
            background-color: var(--color-white, #ffffff);
            border: 1.5px solid var(--color-gray-200, #e5e7eb);
            border-radius: var(--radius-md, 0.5rem);
            padding: 1rem 1.5rem;
            font-weight: 500;
            color: var(--color-gray-700, #374151);
            cursor: pointer;
            transition: all 150ms ease;
            white-space: nowrap;
        }
        .search_policy_msg .ty_msg_refresh-btn:hover {
            background-color: var(--color-gray-50, #f9fafb);
            border-color: #0454dc;
            color: #0454dc;
        }

        /* 提交按钮外层 */
        .search_policy_msg .ty_msg_submit-wrapper {
            display: flex;
            justify-content: flex-end;
        }

        /* 主要提交按钮 (渐变阴影 + 微交互) */
        .search_policy_msg .ty_msg_submit-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            background-color: #0454dc;
            color: white;
            font-size: 1.25rem;
            padding: 0.9rem 2.8rem;
            border-radius: 40px;
            border: none;
            /* CSS3 盒子阴影加强科技感 */
            box-shadow: 0 6px 14px rgba(4, 84, 220, 0.25);
            transition: background-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
            cursor: pointer;
            border: 1px solid #0454dc;
            white-space: nowrap;
        }
        .search_policy_msg .ty_msg_submit-btn:hover {
            background-color: #0347b8;
            transform: translateY(-2px);     /* CSS3 2D变换，轻微抬升 */
            box-shadow: 0 12px 22px rgba(4, 84, 220, 0.3);
        }
        .search_policy_msg .ty_msg_submit-btn .arrow {
            font-size: 1.3rem;
        }

        /* 最后一行布局：验证码整体 + 提交按钮在同一行grid两列 */
        .search_policy_msg .ty_msg_action-row {
            display: grid;
            grid-template-columns: 1fr auto;
            gap: 2rem;
            align-items: center;
        }

        /* 提示消息通用样式 */
        .search_policy_msg .formMessage_hidden {
            display: none;
        }
        .search_policy_msg .formMessage_active {
            padding: 1rem 1.25rem;
            border-radius: 8px;
            font-size: 1rem;
            line-height: 1.5;
            border: 1px solid #e2e8f0;
            background-color: #f8fafc;
            color: #0454dc;
            text-align: center;
            margin-top: 1.2rem;
            font-weight: 500;
        }

        /* ---------- 平板适配 (max-width: 1024px) 响应式优化 ---------- */
        @media (max-width: 1024px) {
            .search_policy_msg .ty_msg_card {
                padding: 2rem 2rem;
            }
            .search_policy_msg .ty_msg_row {
                gap: 1.2rem;
            }
            .search_policy_msg .ty_msg_action-row {
                gap: 1.5rem;
            }
            .search_policy_msg .ty_msg_char_stats {
                font-size: 0.7rem;
                white-space: nowrap;
                padding: 0.2rem 0.6rem;
            }
        }

        /* ---------- 手机适配 (max-width: 768px) 全面优化上下布局 ---------- */
        @media (max-width: 768px) {
            .search_policy_msg .ty_msg_card {
                padding: 1.5rem 1.2rem;
            }
            .search_policy_msg .ty_msg_title {
                font-size: 1.7rem;
            }
            /* 所有双列变为单列 */
            .search_policy_msg .ty_msg_row {
                grid-template-columns: 1fr;
                gap: 1.5rem;
            }
            /* 验证码区域 + 提交按钮响应式：改为单列 */
            .search_policy_msg .ty_msg_action-row {
                grid-template-columns: 1fr;
                gap: 1.2rem;
            }
            /* 验证码组内部自动换行 */
            .search_policy_msg .ty_msg_captcha-group {
                flex-wrap: wrap;
                gap: 0.6rem;
            }
            .search_policy_msg .ty_msg_captcha-display {
                min-width: 100px;
            }
            .search_policy_msg .ty_msg_refresh-btn {
                padding: 0.8rem 1rem;
            }
            .search_policy_msg .ty_msg_submit-wrapper {
                justify-content: stretch;
            }
            .search_policy_msg .ty_msg_submit-btn {
                width: 100%;
                justify-content: center;
            }
            /* 手机端文本域依然保留最小高度500px，不影响用户体验 */
            .search_policy_msg .ty_msg_textarea {
                min-height: 500px;
            }

            /* 修改点2移动端上下分布：让label_row 改为垂直排列，字数统计另起一行靠左 */
            .search_policy_msg .ty_msg_label_row {
                flex-direction: column;
                align-items: flex-start;
                gap: 0.5rem;
            }
            .search_policy_msg .ty_msg_char_stats {
                white-space: normal;
                width: auto;
                font-size: 0.75rem;
                background: transparent;
                padding-left: 0;
                box-shadow: none;
            }
            /* 图标文字容器保持内联 */
            .search_policy_msg .ty_msg_label_icon_text {
                font-size: 0.95rem;
            }
        }

        /* 极小屏（<480px）验证码内部完全纵向排列 */
        @media (max-width: 480px) {
            .search_policy_msg .ty_msg_captcha-group {
                flex-direction: column;
                align-items: stretch;
            }
            .search_policy_msg .ty_msg_captcha-display,
            .search_policy_msg .ty_msg_refresh-btn {
                width: 100%;
                justify-content: center;
            }
            .search_policy_msg .ty_msg_captcha-wrapper {
                width: 100%;
            }
        }

        /* 全局过渡效果，提升交互丝滑感 */
        .search_policy_msg .ty_msg_input-wrapper,
        .search_policy_msg .ty_msg_captcha-wrapper,
        .search_policy_msg .ty_msg_refresh-btn,
        .search_policy_msg .ty_msg_submit-btn {
            transition: all 0.2s ease;
        }

        /* 针对textarea字数统计与label行做额外间距微调 */
        .search_policy_msg .ty_msg_group:has(textarea) {
            gap: 0.8rem;
        }

        /* 修改点1：图标 + 详细描述容器完全符合设计，去除原来textarea包装器内冗余图标 */
        .search_policy_msg .textarea-wrapper .ty_msg_icon {
            display: none;   /* 确保旧图标占位隐藏，避免重复 */
        }

        /* 修正textarea区域内盒模型干净 */
        .search_policy_msg .textarea-wrapper {
            padding: 0;
        }
