@charset "utf-8";
        /* CSS Document */

        * {
            text-decoration: none;
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            background-color: #f5f7fc;
            scroll-behavior: smooth;
        }

        /* 卡片容器 — 模拟 "界面" 而不含 head/foot */
        .guahaobg {
            background: url(../images/contactbg.jpg) no-repeat;
            width: 100%;
            padding: 6vw 0 2vw 0;
            background-size: cover;
            margin: -5vw 0 0 0;
        }
        .appointment-card {
            margin: 5vw auto;
            max-width: 1280px;
            width: 100%;
            background: #ffffff;
            border-radius: 32px;
            box-shadow: 0 20px 60px rgba(0, 20, 40, 0.08), 0 8px 24px rgba(0, 20, 40, 0.04);
            padding: 40px 36px;
            transition: box-shadow 0.25s ease;
        }

        @media (max-width: 480px) {
            .appointment-card {
                padding: 28px 20px;
                border-radius: 24px;
            }
        }

        /* 标题区域 — 纯视觉，非 head 语义 */
        .form-header {
            margin-bottom: 32px;
            display: flex;
            align-items: center;
            gap: 12px;
        }

        .form-header .icon {
            font-size: 32px;
            color: #1a6e8a;
            background: #e6f2f7;
            width: 56px;
            height: 56px;
            border-radius: 18px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .form-header h2 {
            font-size: 26px;
            font-weight: 600;
            letter-spacing: -0.01em;
            color: #0b2a3b;
            margin: 0;
        }

        .form-header h2 i {
            color: #e37318;
            margin-right: .6vw;
        }

        .form-header p {
            font-size: 15px;
            color: #5b6f7e;
            margin: 4px 0 0 0;
            font-weight: 400;
        }

        .form-header .title-group {
            display: flex;
            flex-direction: column;
        }

        /* 表单元素共用 */
        .form-group {
            margin-bottom: 24px;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .form-group label {
            font-size: 15px;
            font-weight: 500;
            color: #1d3b4f;
            letter-spacing: 0.01em;
            display: flex;
            align-items: center;
            gap: 6px;
        }

        .form-group label .required {
            color: #d1454a;
            font-weight: 600;
            margin-left: 2px;
        }

        .form-group label .material-symbols-outlined {
            font-size: 20px;
            color: #4d7b93;
        }

        /* 输入框通用样式 */
        .form-control {
            width: 94% !important;
            padding: 14px 3% !important;
            font-size: 16px;
            font-weight: 400;
            color: #102a38;
            background-color: #f8fbfd !important;
            border: 1px solid #e1e9f0 !important;
            border-radius: 16px !important;
            transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
            font-family: inherit;
            appearance: none;
            -webkit-appearance: none;
        }

        .form-control:focus {
            outline: none;
            border-color: #2a8aaa;
            background: #ffffff;
            box-shadow: 0 0 0 4px rgba(42, 138, 170, 0.12);
        }

        .form-control::placeholder {
            color: #98aebd;
            font-weight: 400;
            font-size: 15px;
        }

        /* 针对 select 定制 */
        select.form-control {
            cursor: pointer;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235b7a8e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 16px center;
            padding-right: 48px;
        }

        select.form-control option {
            color: #102a38;
            background: #fff;
        }

        /* 文本域 */
        textarea.form-control {
            resize: vertical;
            min-height: 100px;
            line-height: 1.5;
        }

        /* 双栏布局 (姓名 + 手机号) */
        .row-duo {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
        }

        @media (max-width: 520px) {
            .row-duo {
                grid-template-columns: 1fr;
                gap: 0;
            }
        }

        /* 预约时间 + 专家 也是双栏 (但时间用datetime-local, 专家用select) */
        .row-duo-2 {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 20px;
        }

        @media (max-width: 520px) {
            .row-duo-2 {
                grid-template-columns: 1fr;
                gap: 0;
            }
        }

        /* 提交按钮 — 非 "foot" 仅作为表单动作 */
        .submit-area {
            margin: 12px 0;
            display: flex;
            flex-direction: column;
            gap: 12px;
        }

        .btn-submit {
            width: 30%;
            padding: 20px 24px;
            background: linear-gradient(135deg, #2eb4fc, #1366f7);
            color: #fff;
            font-size: 18px;
            font-weight: 600;
            border: none;
            border-radius: 40px;
            cursor: pointer;
            transition: background 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
            box-shadow: 0 8px 24px rgba(26, 123, 156, 0.25);
            font-family: inherit;
            letter-spacing: 0.02em;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 10px;
        }

        .btn-submit:hover {
            background: #e37318;
            box-shadow: 0 12px 32px rgba(26, 123, 156, 0.35);
        }

        .btn-submit:active {
            transform: scale(0.98);
            box-shadow: 0 4px 12px rgba(26, 123, 156, 0.2);
        }

        .btn-submit .material-symbols-outlined {
            font-size: 24px;
        }

        /* 提示文本（辅助信息） */
        .hint {
            font-size: 13px;
            color: #6d899b;
            margin-top: 4px;
            padding-left: 4px;
        }

        /* 分割微调 */
        .mt-1 {
            margin-top: 4px;
        }

        /* 字段聚焦时 label 微动 (仅装饰) */
        .form-group:focus-within label {
            color: #1a6e8a;
        }

        /* 纯装饰分割线 */
        .divider-light {
            height: 1px;
            background: #e6eef5;
            margin: 8px 0 24px 0;
            opacity: 0.7;
        }

        /* 小屏优化 */
        @media (max-width: 400px) {
            .form-header h2 {
                font-size: 22px;
            }
            .form-header .icon {
                width: 48px;
                height: 48px;
                font-size: 26px;
            }
            .form-control {
                padding: 12px 14px;
                font-size: 15px;
            }
        }

        /* =========================================================
                     ★★★ 移动端完美适配（新增，不改变原有任何样式） ★★★
                     ========================================================= */
        @media (max-width: 768px) {

            /* ---- 背景容器 ---- */
            .guahaobg {
    background: url(../images/contactbg.jpg) no-repeat;
    width: 90%;
    padding: 6vw 0 2vw 0;
    background-size: cover;
    margin: -5vw 0 0 0;
}
            .guahaobg {
                padding: 8vw 0 4vw 0;
                margin: 0 5%;
                background-position: center top;
            }

            /* ---- 卡片容器 ---- */
            .appointment-card {
                margin: 4vw 3vw;
                padding: 4.5vw 4vw !important;
                border-radius: 5vw;
                box-shadow: 0 4vw 12vw rgba(0, 20, 40, 0.06), 0 2vw 6vw rgba(0, 20, 40, 0.03);
            }

            /* ---- 标题区域 ---- */
            .form-header {
                margin-bottom: 4vw;
                gap: 2.5vw;
                flex-wrap: wrap;
            }
            .form-header .icon {
                width: 10vw;
                height: 10vw;
                font-size: 5.5vw;
                border-radius: 3.5vw;
            }
            .form-header h2 {
                font-size: 5.8vw !important;
                letter-spacing: -0.02em;
            }
            .form-header h2 i {
                margin-right: 1.2vw;
                font-size: 5.2vw;
            }
            .form-header p {
                font-size: 3.6vw !important;
                margin-top: 0.6vw;
            }
            .form-header .title-group {
                flex: 1;
                min-width: 50vw;
            }

            /* ---- 表单组 ---- */
            .form-group {
                margin-bottom: 3.8vw;
                gap: 1.2vw;
            }
            .form-group label {
                font-size: 3.8vw !important;
                gap: 1.2vw;
            }
            .form-group label .required {
                font-size: 4vw;
            }

            /* ---- 输入框通用 ---- */
            .form-control {
                width: 100% !important;
                padding: 3.6vw 4% !important;
                font-size: 4vw !important;
                border-radius: 3.2vw !important;
                border-width: 0.3vw !important;
            }
            .form-control::placeholder {
                font-size: 3.8vw !important;
            }

            /* ---- select 定制 ---- */
            select.form-control {
                background-position: right 3.2vw center;
                background-size: 3.2vw 3.2vw;
                padding-right: 10vw;
            }
            select.form-control option {
                font-size: 4vw;
            }

            /* ---- 文本域 ---- */
            textarea.form-control {
                min-height: 18vw;
                font-size: 4vw !important;
                line-height: 1.6;
            }

            /* ---- 双栏 → 单栏 ---- */
            .row-duo,
            .row-duo-2 {
                grid-template-columns: 1fr !important;
                gap: 0 !important;
            }

            /* ---- 日期时间选择器（内联） ---- */
            .field_date_yuyueshijian .form-control {
                width: 100% !important;
                font-size: 4vw !important;
            }
            .field_date_yuyueshijian .input-group-btn .btn {
                padding: 2.8vw 3.6vw;
                font-size: 3.6vw;
            }
            .field_date_yuyueshijian .input-group-btn .btn i {
                font-size: 4vw;
            }

            /* ---- 分割线 ---- */
            .divider-light {
                margin: 2vw 0 3.6vw 0;
                height: 0.2vw;
            }

            /* ---- 提交区域 ---- */
            .submit-area {
                margin: 2vw 0 0.5vw 0;
                gap: 2vw;
            }
            .btn-submit {
                width: 100% !important;
                padding: 4vw 5vw !important;
                font-size: 4.4vw !important;
                border-radius: 8vw;
                gap: 2.4vw;
                box-shadow: 0 2vw 6vw rgba(26, 123, 156, 0.20);
            }
            .btn-submit i {
                font-size: 4.8vw !important;
            }
            .btn-submit:hover {
                box-shadow: 0 3vw 8vw rgba(26, 123, 156, 0.30);
            }
            .btn-submit:active {
                transform: scale(0.97);
            }

            /* ---- 提示文字 ---- */
            .hint {
                font-size: 3.2vw !important;
                margin-top: 0.8vw;
                padding-left: 1vw;
            }
            .submit-area .hint {
                font-size: 3.2vw !important;
                margin-top: 1vw;
                text-align: center;
            }

            /* ---- 日期选择器弹窗（bootstrap 插件）轻调 ---- */
            .datepicker,
            .datetimepicker {
                font-size: 3.6vw !important;
            }
            .datepicker table tr td,
            .datetimepicker table tr td {
                font-size: 3.6vw !important;
                padding: 1.2vw 1.6vw !important;
            }
            .datepicker table tr th,
            .datetimepicker table tr th {
                font-size: 3.8vw !important;
                padding: 1.2vw 1.6vw !important;
            }

            /* ---- 小屏手机深度优化（≤ 480px） ---- */
            @media (max-width: 480px) {
                .appointment-card {
                    padding: 5vw 9vw !important;
                    border-radius: 6vw;
                    margin: 3vw 0vw;
                }
                .form-header h2 {
                    font-size: 5.5vw !important;
                }
                .form-header p {
                    font-size: 3.5vw !important;
                }
                .form-group label {
                    font-size: 3.8vw !important;
                }
                .form-control {
                    font-size: 4vw !important;
                    padding: 4vw 4.5% !important;
                    border-radius: 3.6vw !important;
                }
                .form-control::placeholder {
                    font-size: 3.6vw !important;
                }
                .btn-submit {
                    font-size: 4.6vw !important;
                    padding: 4.5vw 5vw !important;
                    border-radius: 10vw;
                }
                .hint {
                    font-size: 3.2vw !important;
                }
                textarea.form-control {
                    min-height: 22vw;
                }
            }

            /* ---- 超小屏（≤ 360px）额外微调 ---- */
            @media (max-width: 360px) {
                .appointment-card {
                    padding: 4.5vw 3.5vw !important;
                    border-radius: 5vw;
                }
                .form-header h2 {
                    font-size: 5.2vw !important;
                }
                .form-header p {
                    font-size: 3.3vw !important;
                }
                .form-group label {
                    font-size: 3.6vw !important;
                }
                .form-control {
                    font-size: 3.8vw !important;
                    padding: 3.8vw 4% !important;
                }
                .btn-submit {
                    font-size: 4.2vw !important;
                    padding: 4.2vw 4.5vw !important;
                }
                .hint {
                    font-size: 3vw !important;
                }
            }
        }