/* =====================================================================
   mobile-v3.css — 手机端第三轮修正（仅样式层，仅 html.is-mobile 生效）
   ===================================================================== */

/* ---------- 1. 搜索框：内部输入框与外框同高；已登录隐藏用户菜单 ---------- */
html.is-mobile .ant-input-affix-wrapper > input.ant-input {
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.5 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: inherit;
}
html.is-mobile .my-m-header-search .ant-input-group > .ant-input-affix-wrapper {
    height: 30px;
    padding: 0 8px 0 12px;
    display: flex;
    align-items: center;
    font-size: 13px;
}
html.is-mobile .my-m-header-right.loggedin > .flex-none {
    display: none !important;
}
html.is-mobile .my-m-header-right .my-m-lang-btn {
    height: 28px;
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
}
html.is-mobile .my-m-tabbar-item .ant-badge {
    color: inherit;
    line-height: 1;
}
html.is-mobile .my-m-tabbar-item .ant-badge .ant-scroll-number {
    font-size: 10px;
    min-width: 14px;
    height: 14px;
    line-height: 14px;
    padding: 0 3px;
}
/* 客服聊天气泡抬高到底部导航栏之上 */
html.is-mobile iframe[title="聊天组件"],
html.is-mobile iframe[title="chat widget"],
html.is-mobile iframe[title="Chat widget"] {
    bottom: 70px !important;
}

/* ---------- 2. 列表页“查看详情”按钮：更小，文字居中 ---------- */
html.is-mobile .my-tourcard-price > div:last-child a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 14px !important;
    line-height: 1 !important;
    font-size: 13px !important;
}

/* ---------- 3. 线路详情页 ---------- */
html.is-mobile .my-order-topbar > div.flex > div {
    display: flex;
    align-items: center;
}
html.is-mobile .my-order-topbar > div.flex > div[style="margin: 9px 15px 0px;"] {
    margin-left: 10px !important;
}
html.is-mobile .my-order-topbar .ant-input {
    height: 26px;
    line-height: 24px;
    padding: 0 6px;
}
/* 房间行：上下间距一致、控件更小 */
html.is-mobile .my-order-left div[style*="rgb(215, 215, 215)"] > div:has(> .ant-select) {
    margin: 4px 0 !important;
    font-size: 12px;
    line-height: 24px;
}
html.is-mobile .my-order-left .ant-select[style*="width: 110px"] {
    width: 76px !important;
}
html.is-mobile .my-order-left .ant-select[style*="width: 60px"] {
    width: 48px !important;
}
html.is-mobile .my-order-left .ant-select[style*="width: 50px"] {
    width: 46px !important;
}
html.is-mobile .my-order-left .ant-select-single .ant-select-selector {
    height: 24px !important;
    padding: 0 16px 0 5px !important;
    font-size: 12px;
}
html.is-mobile .my-order-left .ant-select-single .ant-select-selection-item,
html.is-mobile .my-order-left .ant-select-single .ant-select-selection-search-input {
    line-height: 22px !important;
    height: 22px !important;
    font-size: 12px;
}
html.is-mobile .my-order-left .ant-select .ant-select-arrow {
    right: 4px;
    inset-inline-end: 4px;
    font-size: 10px;
}
html.is-mobile .my-order-left .ant-select + .ant-btn-sm,
html.is-mobile .my-order-left div[style*="rgb(215, 215, 215)"] > div:has(> .ant-select) > .ant-btn-sm {
    height: 24px;
    min-height: 24px;
    width: 26px;
}
/* 增值服务：成人/儿童选择放在第一行右侧 */
html.is-mobile .my-order-left div[style*="rgb(215, 215, 215)"] .flex.my-1 {
    flex-wrap: nowrap !important;
    align-items: flex-start;
}
html.is-mobile .my-order-left div[style*="rgb(215, 215, 215)"] .flex.my-1 > .grow {
    flex: 1 1 auto !important;
    min-width: 0;
}
html.is-mobile .my-order-left div[style*="rgb(215, 215, 215)"] .flex.my-1 > .flex-none {
    flex: none !important;
    margin: 0 0 0 4px !important;
    font-size: 11px;
    white-space: nowrap;
    display: flex;
    align-items: center;
    text-align: right;
}
html.is-mobile .my-order-left div[style*="rgb(215, 215, 215)"] .flex.my-1 > .flex-none .ant-select {
    margin: 0 2px !important;
}
html.is-mobile .my-order-left .ant-checkbox-wrapper[style*="font-size: 17px"] {
    font-size: 12px !important;
}
/* 锚点导航：去掉 ul 默认外边距，垂直居中 */
html.is-mobile .my-tour-anchor ul {
    margin: 0 !important;
    padding: 0 8px !important;
}

/* ---------- 4. 订单列表页：详细搜索每项一行，下拉框缩小；添加订单弹窗 ---------- */
html.is-mobile .my-orders-page .flex.flex-shrink-0.mx-3.my-1 {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
    margin: 4px 8px !important;
    gap: 6px;
}
html.is-mobile .my-orders-page .flex.flex-shrink-0.mx-3.my-1 > *:first-child {
    flex: none;
    white-space: nowrap;
    margin: 0 !important;
}
html.is-mobile .my-orders-page .flex.flex-shrink-0.mx-3.my-1 > *:not(:first-child) {
    flex: 1 1 auto;
    min-width: 0 !important;
    width: auto !important;
    max-width: 240px;
}
html.is-mobile .my-orders-page .flex.flex-shrink-0.mx-3.my-1 .ant-select {
    width: auto !important;
    min-width: 0 !important;
}
html.is-mobile .ant-modal .ml-10,
html.is-mobile .ant-modal .ml-5 {
    margin-left: 4px !important;
}
html.is-mobile .ant-modal .ant-modal-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}
html.is-mobile .ant-modal .ant-modal-footer > * {
    margin: 0 !important;
}
html.is-mobile .ant-modal .ant-modal-body .flex {
    flex-wrap: wrap;
}
html.is-mobile .ant-modal .ant-btn {
    height: 28px;
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
}
html.is-mobile .ant-modal .ant-modal-title {
    font-size: 15px;
}
html.is-mobile .ant-modal .ant-input,
html.is-mobile .ant-modal .ant-select,
html.is-mobile .ant-modal .ant-picker,
html.is-mobile .ant-modal .ant-input-number,
html.is-mobile .ant-modal .ant-radio-wrapper {
    font-size: 12px;
}

/* ---------- 6. 下单确认页 / 订单详情页：性别按钮缩小，出行人两行布局 ---------- */
html.is-mobile .my-orderconfirm .ant-radio-button-wrapper,
html.is-mobile .my-orderpage .ant-radio-button-wrapper {
    height: 26px;
    line-height: 24px;
    font-size: 12px;
    padding: 0 8px;
}
html.is-mobile .my-orderconfirm .ant-radio-group[style*="display: block"],
html.is-mobile .my-orderpage .ant-radio-group[style*="display: block"] {
    display: inline-flex !important;
    margin-bottom: 0;
}
html.is-mobile .my-customer-row {
    gap: 6px;
}
html.is-mobile .my-customer-row > .ant-radio-group {
    flex: none !important;
    display: inline-flex !important;
    margin: 0 !important;
}
html.is-mobile .my-customer-row > .flex-none:nth-of-type(3),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(4) {
    flex: 1 1 0 !important;
    min-width: 0;
}
html.is-mobile .my-customer-row > .flex-none:nth-of-type(5),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(6) {
    flex: 1 1 calc(50% - 3px) !important;
    min-width: 0;
}
html.is-mobile .my-customer-row .ant-input,
html.is-mobile .my-customer-row .ant-input-affix-wrapper,
html.is-mobile .my-customer-row .ant-picker {
    width: 100% !important;
    height: 30px;
    font-size: 13px;
}
html.is-mobile .my-customer-row .ant-input-affix-wrapper {
    padding: 0 8px;
}
/* 弹层箭头在手机上位置不可靠，直接隐藏 */
html.is-mobile .ant-popover .ant-popover-arrow,
html.is-mobile .ant-popconfirm .ant-popover-arrow {
    display: none !important;
}
/* 底部操作栏：主按钮始终整行，即使弹层被渲染在栏内 */
html.is-mobile .my-orderconfirm-bar > div:has(> .ant-btn-primary) {
    flex: 1 1 100%;
    display: flex;
}
html.is-mobile .my-orderconfirm-bar > div:has(> .ant-btn-primary) > .ant-btn-primary {
    width: 100%;
    height: 42px;
    font-size: 16px;
    border-radius: 21px;
}
html.is-mobile .my-orderconfirm-bar > .ant-popover,
html.is-mobile .my-orderconfirm-bar > div:not(:has(> .ant-btn)):not(.flex) {
    flex: none;
}

/* ---------- 7. 订单完成页 ---------- */
html.is-mobile .my-orderfinish .my-orderfinish-top {
    display: none !important;
}
html.is-mobile .my-orderfinish {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
}
html.is-mobile .my-orderfinish div[style*="font-size: 20px"],
html.is-mobile .my-orderfinish div[style*="font-size: 18px"],
html.is-mobile .my-orderfinish span[style*="font-size"] {
    font-size: 14px !important;
    line-height: 1.6;
}
html.is-mobile .my-orderfinish .mx-10,
html.is-mobile .my-orderfinish .my-3.mx-10 {
    margin-left: 12px !important;
    margin-right: 12px !important;
}
html.is-mobile .my-orderfinish .m-3 {
    margin: 8px 12px !important;
}
html.is-mobile .my-orderfinish .my-5.mx-3 {
    margin: 12px !important;
}
html.is-mobile .my-orderfinish .ant-btn {
    margin: 4px 0;
}

/* ---------- 8. 订单详情页 ---------- */
html.is-mobile .my-orderpage {
    font-size: 13px;
}
html.is-mobile .my-orderpage .ant-btn:not(.ant-btn-link) {
    height: 26px;
    min-height: 26px;
    padding: 0 8px;
    font-size: 12px;
    line-height: 24px;
}
html.is-mobile .my-orderpage .ant-btn .anticon {
    font-size: 12px;
}
html.is-mobile .my-orderpage div[style*="font-size: 15px"] {
    font-size: 12px !important;
}
html.is-mobile .my-orderpage div[style*="font-size: 18px"] {
    font-size: 14px !important;
    align-items: center;
}
html.is-mobile .my-orderpage div[style*="font-size: 18px"] .ant-btn {
    margin: 2px 4px 2px 0 !important;
}
html.is-mobile .my-orderpage .ant-input,
html.is-mobile .my-orderpage .ant-input-number,
html.is-mobile .my-orderpage .ant-picker,
html.is-mobile .my-orderpage .ant-select {
    font-size: 12px;
}
html.is-mobile .my-orderpage .ant-input-number {
    height: 26px;
    line-height: 24px;
}
html.is-mobile .my-orderpage .ant-input-number-input {
    height: 24px;
    font-size: 12px;
}
html.is-mobile .my-orderpage .mb-1[style*="color: blue"] {
    font-size: 12px !important;
    line-height: 1.6;
}
html.is-mobile .my-orderpage .mb-1[style*="color: blue"] .ml-2 {
    margin-left: 0 !important;
    margin-right: 8px;
    display: inline-block;
}
html.is-mobile .my-orderpage div[style*="dashed"] .flex > .flex-none {
    flex: 1 1 100%;
}
html.is-mobile .my-orderpage div[style*="dashed"] .flex > .flex-none:has(> .ant-radio-group) {
    flex: none;
}
/* 出行人证件区：按钮整齐排列 */
html.is-mobile .my-orderpage .flex:has(> .ant-btn.relative) {
    gap: 6px;
    align-items: center;
}
html.is-mobile .my-orderpage .flex:has(> .ant-btn.relative) > .ant-btn {
    margin: 0 !important;
}
/* 底部：总价 + 费用明细一排，金额行紧凑 */
html.is-mobile .my-orderpage .flex.flex-wrap > .grow {
    flex-basis: auto;
    flex: 1 1 auto;
}
html.is-mobile .my-orderpage div[style*="font-size: 22px"],
html.is-mobile .my-orderpage span[style*="font-size: 22px"] {
    font-size: 18px !important;
}
html.is-mobile .my-orderpage .ant-input-number[style*="width: 150px"],
html.is-mobile .my-orderpage .ant-input-number[style*="width: 120px"] {
    width: 110px !important;
}
html.is-mobile .my-orderpage .flex > .grow > .flex,
html.is-mobile .my-orderpage .flex.my-1 {
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
}
html.is-mobile .my-order-left .ant-select-single .ant-select-selection-item {
    padding-inline-end: 0 !important;
}
html.is-mobile .my-order-left .ant-select[style*="width: 110px"] {
    width: 84px !important;
}
/* 出行人：第一行 性别+名+姓，第二行 电话+生日 */
html.is-mobile .my-customer-row > .flex-none:nth-of-type(3),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(4) {
    flex: 1 1 28% !important;
}
html.is-mobile .my-customer-row > .flex-none:nth-of-type(5),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(6) {
    flex: 1 1 46% !important;
}
html.is-mobile .my-customer-row .ant-input-affix-wrapper[style*="width"] {
    width: 100% !important;
}
/* 订单详情页底部：返回/总价/费用明细一排，金额每项一行 */
html.is-mobile .my-orderpage .flex.flex-wrap:has(> div > .ant-btn-primary.mb-1),
html.is-mobile .my-orderpage .flex.flex-wrap:has(> div > a > .ant-btn-primary.mb-1) {
    align-items: center;
    gap: 6px 4px;
}
html.is-mobile .my-orderpage .flex.flex-wrap > div:has(> .ant-btn-primary.mb-1),
html.is-mobile .my-orderpage .flex.flex-wrap > div:has(> a > .ant-btn-primary.mb-1) {
    flex: none;
}
html.is-mobile .my-orderpage .ant-btn-primary.mb-1 {
    margin-bottom: 0 !important;
}
html.is-mobile .my-orderpage .flex.flex-wrap > div:has(> span > span[style*="font-size: 20px"]) {
    flex: none;
    margin-left: auto;
}
html.is-mobile .my-orderpage span[style*="font-size: 20px"] {
    font-size: 17px !important;
}
html.is-mobile .my-orderpage span[style*="font-size: 16px"] {
    font-size: 13px !important;
}
html.is-mobile .my-orderpage div.mt-1[style*="font-weight: bold"][style*="color: red"] {
    flex: 0 0 38%;
    margin: 0 !important;
    font-size: 13px !important;
    text-align: right;
    padding-right: 6px;
}
html.is-mobile .my-orderpage div.mt-1[style*="font-weight: bold"][style*="color: red"]:not(.mr-1) {
    flex: 1 1 100%;
    text-align: right;
    font-size: 12px !important;
    font-weight: normal !important;
    padding-right: 0;
}
html.is-mobile .my-orderpage .ant-input-number-group-wrapper[style*="width: 150px"],
html.is-mobile .my-orderpage .ant-input-number-group-wrapper[style*="width: 120px"] {
    flex: 0 0 58%;
    width: auto !important;
    max-width: 58%;
}
html.is-mobile .my-orderpage .flex:has(> .ant-input-number-group-wrapper) {
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 4px;
}
html.is-mobile .my-orderpage .flex:has(> .ant-input-number-group-wrapper) > .grow {
    flex: 0 0 0 !important;
    display: none;
}

/* ---------- 第四轮修正 ---------- */
/* 出行人行：性别按钮与输入框垂直居中、等高 */
html.is-mobile .my-customer-row {
    align-items: center;
}
html.is-mobile .my-customer-row .ant-radio-button-wrapper {
    height: 30px;
    line-height: 28px;
}
html.is-mobile .my-customer-row > .flex-none:nth-of-type(3),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(4),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(5),
html.is-mobile .my-customer-row > .flex-none:nth-of-type(6) {
    margin: 0 !important;
    display: flex;
}
html.is-mobile .my-customer-row > .flex-none .ant-input-affix-wrapper,
html.is-mobile .my-customer-row > .flex-none .ant-input,
html.is-mobile .my-customer-row > .flex-none .ant-picker {
    width: 100% !important;
    flex: 1 1 auto;
    box-sizing: border-box;
}
/* 订单联系人输入框：与出行人输入框同大小（下单页 / 订单详情页） */
html.is-mobile .my-orderconfirm .ant-input-affix-wrapper,
html.is-mobile .my-orderpage div[style*="dashed"] .ant-input-affix-wrapper {
    height: 30px;
    padding: 0 8px;
    font-size: 13px;
}
html.is-mobile .my-orderconfirm .ant-radio-button-wrapper,
html.is-mobile .my-orderpage .ant-radio-button-wrapper {
    height: 30px;
    line-height: 28px;
}
/* 订单完成页：按钮缩小并与文字左对齐 */
html.is-mobile .my-orderfinish .ant-btn {
    height: 30px;
    min-height: 30px;
    font-size: 13px;
    padding: 0 12px;
    margin: 6px 12px !important;
}
/* 搜索框：输入框与按钮无缝拼接（兼容不同浏览器） */
html.is-mobile .my-m-header-search .ant-input-group > .ant-input-affix-wrapper {
    border-top-right-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    margin: 0 !important;
}
html.is-mobile .my-m-header-search .ant-input-group > .ant-input-group-addon {
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    margin: 0 !important;
    height: 30px;
}
html.is-mobile .my-m-header-search .ant-input-search-button {
    margin: 0 0 0 -1px !important;
    border-top-left-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    display: inline-flex;
    align-items: center;
}
/* 订单列表：按钮居左、按钮文字垂直居中 */
html.is-mobile .my-orders-page .ant-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
html.is-mobile .my-orders-page .my-orders-row > a {
    flex: 0 0 100%;
}
html.is-mobile .my-orders-page .my-orders-row .ant-btn.ml-2,
html.is-mobile .my-orders-page .flex.flex-wrap.mb-2 .ant-btn.ml-2 {
    margin-left: 0 !important;
}
html.is-mobile .my-orders-page .flex.flex-wrap.mb-2 > div.flex.flex-wrap {
    margin-left: 8px !important;
}
html.is-mobile .my-orders-page .flex.flex-shrink-0.mx-3:not(.my-1) {
    margin: 6px 8px !important;
    gap: 8px;
    align-items: center;
}
html.is-mobile .my-orders-page .flex.flex-shrink-0.mx-3:not(.my-1) .ant-btn {
    margin: 0 !important;
}
/* “我的”底部菜单 */
html.is-mobile .my-m-me-drawer .ant-drawer-content-wrapper {
    height: auto !important;
}
html.is-mobile .my-m-me-drawer .ant-drawer-content {
    border-radius: 14px 14px 0 0;
}
html.is-mobile .my-m-me-drawer .ant-drawer-body {
    padding: 8px 0 calc(8px + env(safe-area-inset-bottom)) 0;
}
html.is-mobile .my-m-me-head {
    padding: 8px 16px 10px 16px;
    font-size: 15px;
    font-weight: 600;
    color: #333;
    border-bottom: 1px solid #f0f0f0;
}
html.is-mobile .my-m-me-head i {
    font-size: 20px;
    color: #2577e3;
    margin-right: 8px;
    vertical-align: -1px;
}
html.is-mobile .my-m-me-item {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 13px 16px;
    font-size: 15px;
    color: #333;
    background: none;
    border: 0;
    border-bottom: 1px solid #f5f5f5;
    text-decoration: none;
    text-align: left;
}
html.is-mobile .my-m-me-item i {
    width: 24px;
    color: #666;
    font-size: 16px;
}
html.is-mobile .my-m-me-logout {
    color: #e64340;
}
html.is-mobile .my-m-me-logout i {
    color: #e64340;
}
html.is-mobile .my-m-me-cancel {
    display: block;
    width: calc(100% - 32px);
    margin: 10px 16px 0 16px;
    height: 40px;
    border: 0;
    border-radius: 20px;
    background: #f5f5f5;
    font-size: 15px;
    color: #333;
}
/* 客服气泡：Tawk 内联样式带 !important，改用位移抬高到底栏之上 */
html.is-mobile iframe[title="聊天组件"][width="64px"],
html.is-mobile iframe[title="chat widget"][width="64px"],
html.is-mobile iframe[title="Chat widget"][width="64px"] {
    bottom: 20px !important;
    transform: translateY(-62px) !important;
}
