/* jd-modal-complete.css - 京东风格移动端Modal完整样式 */
/* 版本 1.1 - 包含textarea优化 */
/* 基于Bootstrap 3.2，兼容移动端 */

/* ============================= */
/* 京东设计系统变量定义 */
/* ============================= */
:root{
	/* 京东品牌色系 */
	--jd-red:#e93b3d; /* 京东主红色 */
	--jd-dark-red:#d12a2c; /* 京东深红色 */
	--jd-light-red:#fef2f2; /* 京东浅红色背景 */
	--jd-orange:#ff6b35; /* 京东橙色（辅助色） */

	/* 中性灰色系 */
	--jd-gray-10:#fafafa; /* 最浅灰 */
	--jd-gray-20:#f5f5f5; /* 浅灰背景 */
	--jd-gray-30:#f0f0f0; /* 分割线浅色 */
	--jd-gray-50:#e0e0e0; /* 边框色 */
	--jd-gray-70:#999999; /* 辅助文字 */
	--jd-gray-80:#666666; /* 次要文字 */
	--jd-gray-90:#333333; /* 主文字色 */

	/* 功能色 */
	--jd-success:#07c160; /* 成功色 */
	--jd-warning:#ff9c00; /* 警告色 */
	--jd-error:#e93b3d; /* 错误色（同主红） */
	--jd-info:#1989fa; /* 信息色 */

	/* 阴影系统 */
	--jd-shadow-light:0 2px 8px rgba(0, 0, 0, 0.08);
	--jd-shadow-medium:0 4px 12px rgba(0, 0, 0, 0.12);
	--jd-shadow-heavy:0 8px 24px rgba(0, 0, 0, 0.16);

	/* 圆角系统 */
	--jd-radius-sm:4px; /* 小圆角 */
	--jd-radius-md:8px; /* 中圆角（按钮、输入框） */
	--jd-radius-lg:12px; /* 大圆角（卡片） */
	--jd-radius-xl:16px; /* 超大圆角（模态框） */

	/* 间距系统 */
	--jd-space-xs:4px;
	--jd-space-sm:8px;
	--jd-space-md:12px;
	--jd-space-lg:16px;
	--jd-space-xl:20px;
	--jd-space-xxl:24px;
}

/* ============================= */
/* 京东风格按钮 */
/* ============================= */
.btn-jd{border-radius:var(--jd-radius-md);font-weight:500;transition:all 0.2s ease;border:none;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;vertical-align:middle;white-space:nowrap;user-select:none;}
.btn-jd-primary{background-color:var(--jd-red);color:white;}
.btn-jd-primary:hover, .btn-jd-primary:focus, .btn-jd-primary:active{background-color:var(--jd-dark-red);color:white;outline:none;box-shadow:0 0 0 3px rgba(233, 59, 61, 0.2);}
.btn-jd-default{background-color:white;color:var(--jd-gray-90);border:1px solid var(--jd-gray-50);}
.btn-jd-default:hover, .btn-jd-default:focus{background-color:var(--jd-gray-20);border-color:var(--jd-gray-70);color:var(--jd-gray-90);}
.btn-jd-success{background-color:var(--jd-success);color:white;}
.btn-jd-warning{background-color:var(--jd-warning);color:white;}

/* 按钮尺寸 */
.btn-jd-sm{padding:6px 12px;font-size:14px;height:32px;}
.btn-jd-md{padding:10px 16px;font-size:15px;height:40px;}
.btn-jd-lg{padding:14px 20px;font-size:16px;height:48px;}

/* 按钮块级显示 */
.btn-jd-block{display:flex;width:100%;}

/* ============================= */
/* 京东风格模态框 */
/* ============================= */
.jd-modal{font-family:-apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", Arial, sans-serif;}
.jd-modal .modal-content{border:none;border-radius:var(--jd-radius-xl);box-shadow:var(--jd-shadow-heavy);overflow:hidden;background-color:white;}
.jd-modal .modal-header{border-bottom:1px solid var(--jd-gray-30);padding:var(--jd-space-xl) var(--jd-space-xl) var(--jd-space-lg);position:relative;background-color:white;}
.jd-modal .modal-title{font-weight:600;color:var(--jd-gray-90);font-size:18px;text-align:center;width:100%;margin:0;line-height:1.4;}
.jd-modal .modal-body{padding:var(--jd-space-xxl) var(--jd-space-xl);color:var(--jd-gray-90);font-size:14px;line-height:1.4;}
.jd-modal .modal-footer{border-top:1px solid var(--jd-gray-30);padding:var(--jd-space-xl);display:flex;gap:var(--jd-space-md);background-color:white;}
.jd-modal .close{position:absolute;right:var(--jd-space-xl);top:var(--jd-space-xl);font-size:24px;color:var(--jd-gray-70);opacity:0.8;z-index:10;background:none;border:none;cursor:pointer;width:24px;height:24px;display:flex;align-items:center;justify-content:center;padding:0;}
.jd-modal .close:hover{color:var(--jd-red);opacity:1;}

/* ============================= */
/* 京东风格表单系统 */
/* ============================= */
.jd-form .form-group{margin-bottom:var(--jd-space-xxl);}
.jd-form label{font-weight:500;margin-bottom:var(--jd-space-sm);color:var(--jd-gray-90);display:block;font-size:12px;line-height:1.2;text-align:left;}
.jd-form .form-control{height:44px;border-radius:var(--jd-radius-md);border:1px solid var(--jd-gray-50);padding:10px 15px;font-size:14px;transition:all 0.2s ease;box-shadow:none;width:100%;box-sizing:border-box;font-family:inherit;color:var(--jd-gray-90);background-color:white;}
.jd-form .form-control:focus{border-color:var(--jd-red);box-shadow:0 0 0 3px rgba(233, 59, 61, 0.1);outline:none;}
.jd-form .required::after{content:" *";color:var(--jd-red);margin-left:2px;}
.jd-form .checkbox, .jd-form .radio{margin-top:var(--jd-space-xs);display:flex;align-items:flex-start;}
.jd-form .checkbox label, .jd-form .radio label{font-weight:normal;color:var(--jd-gray-90);display:flex;align-items:flex-start;cursor:pointer;font-size:15px;line-height:1.4;}
.jd-form .checkbox input[type="checkbox"], .jd-form .radio input[type="radio"]{margin-right:var(--jd-space-sm);position:relative;top:2px;flex-shrink:0;}
.jd-form .input-icon{position:relative;}
.jd-form .input-icon .form-control{padding-left:45px;}
.jd-form .input-icon .icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--jd-gray-70);font-size:18px;z-index:1;pointer-events:none;}

/* ============================= */
/* Textarea 专门优化样式 */
/* ============================= */
.jd-form textarea.form-control{min-height:120px;height:auto;resize:vertical;padding:15px;line-height:1.5;font-size:16px;transition:all 0.2s ease;border:1px solid var(--jd-gray-50);border-radius:var(--jd-radius-md);box-shadow:none;width:100%;box-sizing:border-box;font-family:inherit;color:var(--jd-gray-90);background-color:white;}

/* 焦点状态 */
.jd-form textarea.form-control:focus{border-color:var(--jd-red);box-shadow:0 0 0 3px rgba(233, 59, 61, 0.1);outline:none;}

/* 禁用状态 */
.jd-form textarea.form-control:disabled{background-color:var(--jd-gray-20);color:var(--jd-gray-70);cursor:not-allowed;opacity:0.7;}

/* 只读状态 */
.jd-form textarea.form-control[readonly]{background-color:var(--jd-gray-10);border-color:var(--jd-gray-30);color:var(--jd-gray-80);cursor:default;}

/* 错误状态 */
.jd-form textarea.form-control.error, .jd-form textarea.form-control.is-invalid{border-color:var(--jd-error);background-color:var(--jd-light-red);}
.jd-form textarea.form-control.error:focus, .jd-form textarea.form-control.is-invalid:focus{box-shadow:0 0 0 3px rgba(233, 59, 61, 0.15);}

/* Textarea尺寸变体 */
/* 小号 - 适用于简短备注 */
.jd-form textarea.form-control-sm{min-height:80px;padding:10px 12px;font-size:14px;}

/* 大号 - 适用于详细描述 */
.jd-form textarea.form-control-lg{min-height:160px;padding:18px;font-size:16px;}

/* 自适应高度 - 根据内容自动调整 */
.jd-form textarea.form-control-auto{resize:none;overflow-y:hidden;min-height:48px;max-height:300px;transition:height 0.2s ease;}

/* 固定高度 - 禁用调整 */
.jd-form textarea.form-control-fixed{resize:none;height:120px;min-height:120px;max-height:120px;}

/* 计数器样式 - 字符计数 */
.jd-form .textarea-counter{text-align:right;font-size:12px;color:var(--jd-gray-70);margin-top:var(--jd-space-xs);display:block;font-weight:normal;}
.jd-form .textarea-counter.warning{color:var(--jd-warning);}
.jd-form .textarea-counter.error{color:var(--jd-error);}

/* 占位符样式 */
.jd-form textarea.form-control::placeholder{color:var(--jd-gray-70);font-size:14px;opacity:1;}
.jd-form textarea.form-control::-webkit-input-placeholder{color:var(--jd-gray-70);font-size:14px;}
.jd-form textarea.form-control::-moz-placeholder{color:var(--jd-gray-70);font-size:14px;opacity:1;}
.jd-form textarea.form-control:-ms-input-placeholder{color:var(--jd-gray-70);font-size:14px;}

/* Textarea带图标样式 */
.jd-form .textarea-with-icon{position:relative;}
.jd-form .textarea-with-icon .icon{position:absolute;top:15px;left:15px;color:var(--jd-gray-70);font-size:18px;z-index:2;pointer-events:none;}
.jd-form .textarea-with-icon textarea.form-control{padding-left:45px;}

/* Textarea组合样式 - 带标签和帮助文本 */
.jd-form .textarea-group{margin-bottom:var(--jd-space-xxl);}
.jd-form .textarea-group label{display:block;margin-bottom:var(--jd-space-sm);font-weight:500;color:var(--jd-gray-90);}
.jd-form .textarea-group .help-text{display:block;margin-top:var(--jd-space-xs);font-size:13px;color:var(--jd-gray-70);line-height:1.4;}
.jd-form .textarea-group .help-text.error{color:var(--jd-error);}
.jd-form .textarea-group .help-text.success{color:var(--jd-success);}

/* ============================= */
/* 京东底部动作面板 */
/* ============================= */
.jd-bottom-sheet .modal-dialog{position:fixed;bottom:0;left:0;right:0;margin:0;width:100%;max-width:100%;transform:translate3d(0, 100%, 0);transition:transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);}
.jd-bottom-sheet.in .modal-dialog{transform:translate3d(0, 0, 0);}
.jd-bottom-sheet .modal-content{border-radius:20px 20px 0 0;max-height:85vh;overflow-y:auto;box-shadow:0 -4px 24px rgba(0, 0, 0, 0.15);}

/* 底部动作面板中的textarea优化 */
.jd-bottom-sheet .jd-form textarea.form-control{max-height:150px; /* 面板中限制高度 */font-size:15px;}

/* ============================= */
/* 京东弹性动效系统 */
/* ============================= */
@keyframes jdModalIn{
	0%{opacity:0;transform:translateY(60px) scale(0.95);}
	70%{opacity:1;transform:translateY(-8px) scale(1.02);}
	100%{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes jdModalOut{
	0%{opacity:1;transform:translateY(0) scale(1);}
	100%{opacity:0;transform:translateY(30px) scale(0.95);}
}
.jd-modal.fade .modal-dialog{animation:jdModalIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);}
.jd-modal.fade.out .modal-dialog{animation:jdModalOut 0.25s ease-in;}

/* ============================= */
/* 移动端优化 */
/* ============================= */
@media (max-width:767px){
	/* 模态框移动优化 */
	.jd-modal .modal-dialog{margin:10px;width:auto;max-width:calc(100% - 20px);}
	.jd-modal .modal-content{box-shadow:0 10px 40px rgba(0, 0, 0, 0.15);}
	.jd-bottom-sheet .modal-dialog{margin:0;}

	/* 按钮移动优化 */
	.jd-modal .modal-footer{flex-direction:column;gap:var(--jd-space-sm);padding:var(--jd-space-lg);}
	.jd-modal .modal-footer .btn-jd{width:100%;margin:0;}

	/* 表单移动优化 */
	.jd-form .form-control{font-size:14px !important; /* 防止iOS缩放 */-webkit-appearance:none;-moz-appearance:none;appearance:none;}

	/* Textarea移动优化 */
	.jd-form textarea.form-control{min-height:100px;font-size:16px !important;-webkit-appearance:none;-moz-appearance:none;appearance:none;}

	/* 移动端焦点状态更明显 */
	.jd-form textarea.form-control:focus{border-width:1px;padding:14px;}

	/* 移动端调整手柄样式 */
	.jd-form textarea.form-control::-webkit-resizer{border-width:2px;border-color:var(--jd-gray-50);border-style:solid;background-color:white;border-radius:2px;}

	/* 移动端滚动优化 */
	.jd-form textarea.form-control, .jd-bottom-sheet .modal-content{-webkit-overflow-scrolling:touch;}

	/* 移动端安全区域 */
	.jd-modal .modal-header, .jd-modal .modal-body, .jd-modal .modal-footer{padding-left:max(var(--jd-space-xl), env(safe-area-inset-left, var(--jd-space-xl)));padding-right:max(var(--jd-space-xl), env(safe-area-inset-right, var(--jd-space-xl)));}
	.jd-bottom-sheet .modal-footer{padding-bottom:max(var(--jd-space-xl), env(safe-area-inset-bottom, var(--jd-space-xl)));}
}

/* ============================= */
/* 安全区域适配 */
/* ============================= */
.safe-area{padding-bottom:calc(var(--jd-space-xl) + env(safe-area-inset-bottom, 0));}
.safe-area-top{padding-top:calc(var(--jd-space-xl) + env(safe-area-inset-top, 0));}
.safe-area-left{padding-left:calc(var(--jd-space-xl) + env(safe-area-inset-left, 0));}
.safe-area-right{padding-right:calc(var(--jd-space-xl) + env(safe-area-inset-right, 0));}

/* ============================= */
/* 辅助样式 */
/* ============================= */
.jd-tag{display:inline-block;background-color:var(--jd-light-red);color:var(--jd-red);padding:2px 8px;border-radius:10px;font-size:12px;font-weight:500;margin-left:6px;vertical-align:middle;line-height:1.4;}
.jd-alert{background-color:var(--jd-light-red);border-left:4px solid var(--jd-red);border-radius:var(--jd-radius-md);padding:var(--jd-space-lg);margin-bottom:var(--jd-space-xxl);}
.jd-alert p{margin-bottom:var(--jd-space-xs);color:var(--jd-gray-90);font-size:14px;line-height:1.5;}
.jd-alert p:last-child{margin-bottom:0;}
.jd-alert-success{background-color:rgba(7, 193, 96, 0.08);border-left-color:var(--jd-success);}
.jd-alert-warning{background-color:rgba(255, 156, 0, 0.08);border-left-color:var(--jd-warning);}
.jd-alert-info{background-color:rgba(25, 137, 250, 0.08);border-left-color:var(--jd-info);}

/* ============================= */
/* 暗色主题适配（可选） */
/* ============================= */
@media (prefers-color-scheme:dark){
	.jd-modal .modal-content{background-color:#1a1a1a;color:#f0f0f0;}
	.jd-modal .modal-header{background-color:#1a1a1a;border-bottom-color:#333;}
	.jd-modal .modal-footer{background-color:#1a1a1a;border-top-color:#333;}
	.jd-modal .modal-title{color:#f0f0f0;}
	.jd-modal .close{color:#999;}
	.jd-form .form-control{background-color:#2a2a2a;border-color:#444;color:#f0f0f0;}
	.jd-form textarea.form-control{background-color:#2a2a2a;border-color:#444;color:#f0f0f0;}
	.jd-form .form-control::placeholder, .jd-form textarea.form-control::placeholder{color:#888;}
	.jd-form label{color:#f0f0f0;}
	.jd-form .checkbox label, .jd-form .radio label{color:#e0e0e0;}
	.btn-jd-default{background-color:#2a2a2a;color:#f0f0f0;border-color:#444;}
	.btn-jd-default:hover{background-color:#333;}
}

/* ============================= */
/* 禁用状态下的调整手柄 */
/* ============================= */
.jd-form textarea.form-control:disabled::-webkit-resizer{display:none;}
.jd-form textarea.form-control:disabled{resize:none;}

/* ============================= */
/* 打印样式优化 */
/* ============================= */
@media print{
	.jd-modal .modal-content{box-shadow:none;border:1px solid #ddd;}
	.jd-modal .modal-header{border-bottom:1px solid #ddd;}
	.jd-modal .modal-footer{border-top:1px solid #ddd;}
}
/* ============================= */
/* 京东风格下拉框(Select)增强样式 */
/* ============================= */

/* 基础下拉框样式 */
.jd-form select.form-control{height:48px;border-radius:var(--jd-radius-md);border:1px solid var(--jd-gray-50);padding:12px 40px 12px 15px;font-size:16px;color:var(--jd-gray-90);background-color:white;appearance:none;-webkit-appearance:none;-moz-appearance:none;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='%23666666' 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 15px center;background-size:16px;transition:all 0.2s ease;width:100%;box-sizing:border-box;font-family:inherit;}

/* 禁用状态 */
.jd-form select.form-control:disabled{background-color:var(--jd-gray-20);color:var(--jd-gray-70);cursor:not-allowed;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='%23999999' 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");}

/* 焦点状态 */
.jd-form select.form-control:focus{border-color:var(--jd-red);box-shadow:0 0 0 3px rgba(233, 59, 61, 0.1);outline:none;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='%23e93b3d' 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");}

/* 错误状态 */
.jd-form select.form-control.error, .jd-form select.form-control.is-invalid{border-color:var(--jd-error);background-color:var(--jd-light-red);}

/* 下拉框尺寸变体 */
.jd-form select.form-control-sm{height:40px;padding:8px 35px 8px 12px;font-size:14px;background-position:right 12px center;}
.jd-form select.form-control-lg{height:56px;padding:16px 45px 16px 18px;font-size:16px;background-position:right 18px center;background-size:18px;}

/* 下拉框组 - 带图标 */
.jd-form .select-with-icon{position:relative;}
.jd-form .select-with-icon .icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--jd-gray-70);font-size:18px;z-index:1;pointer-events:none;}
.jd-form .select-with-icon select.form-control{padding-left:45px;}

/* 下拉框组 - 带前后缀 */
.jd-form .select-group{display:flex;align-items:stretch;border-radius:var(--jd-radius-md);overflow:hidden;}
.jd-form .select-group .select-addon{background-color:var(--jd-gray-20);color:var(--jd-gray-80);padding:0 12px;display:flex;align-items:center;font-size:14px;border:1px solid var(--jd-gray-50);border-right:none;white-space:nowrap;}
.jd-form .select-group .select-addon:last-child{border-right:1px solid var(--jd-gray-50);border-left:none;}
.jd-form .select-group select.form-control{border-radius:0;flex:1;min-width:0;}

/* 多选下拉框 */
.jd-form select.form-control[multiple]{height:auto;min-height:120px;padding:8px 12px;background-image:none;}
.jd-form select.form-control[multiple] option{padding:8px 12px;border-radius:4px;margin:2px 0;}
.jd-form select.form-control[multiple] option:hover{background-color:var(--jd-gray-20);}
.jd-form select.form-control[multiple] option:checked{background-color:var(--jd-light-red);color:var(--jd-red);font-weight:500;}

/* ============================= */
/* 京东风格单选框(Radio)增强样式 */
/* ============================= */

/* 隐藏原生单选框 */
.jd-form input[type="radio"]{position:absolute;opacity:0;width:0;height:0;}

/* 自定义单选框容器 */
.jd-radio{display:flex;align-items:flex-start;margin-bottom:12px;cursor:pointer;position:relative;user-select:none;}

/* 自定义单选框样式 */
.jd-radio .jd-radio-checkmark{position:relative;display:inline-block;width:20px;height:20px;min-width:20px;border:2px solid var(--jd-gray-50);border-radius:50%;margin-right:10px;background-color:white;transition:all 0.2s ease;top:2px;}

/* 选中状态 */
.jd-radio input[type="radio"]:checked + .jd-radio-checkmark{border-color:var(--jd-red);}

/* 选中状态的内圆点 */
.jd-radio input[type="radio"]:checked + .jd-radio-checkmark::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:10px;height:10px;border-radius:50%;background-color:var(--jd-red);}

/* 焦点状态 */
.jd-radio input[type="radio"]:focus + .jd-radio-checkmark{box-shadow:0 0 0 3px rgba(233, 59, 61, 0.2);}

/* 禁用状态 */
.jd-radio input[type="radio"]:disabled + .jd-radio-checkmark{background-color:var(--jd-gray-20);border-color:var(--jd-gray-30);cursor:not-allowed;}
.jd-radio input[type="radio"]:disabled:checked + .jd-radio-checkmark::after{background-color:var(--jd-gray-70);}

/* 单选框标签样式 */
.jd-radio .jd-radio-label{font-size:15px;color:var(--jd-gray-90);line-height:1.4;flex:1;padding-top:2px;}
.jd-radio:hover .jd-radio-label{color:var(--jd-red);}

/* 单选框尺寸变体 */
.jd-radio.jd-radio-sm .jd-radio-checkmark{width:16px;height:16px;min-width:16px;}
.jd-radio.jd-radio-sm .jd-radio-checkmark::after{width:8px;height:8px;}
.jd-radio.jd-radio-sm .jd-radio-label{font-size:14px;padding-top:1px;}
.jd-radio.jd-radio-lg .jd-radio-checkmark{width:24px;height:24px;min-width:24px;}
.jd-radio.jd-radio-lg .jd-radio-checkmark::after{width:12px;height:12px;}
.jd-radio.jd-radio-lg .jd-radio-label{font-size:16px;padding-top:3px;}

/* 单选框组样式 */
.jd-radio-group{display:flex;flex-direction:column;gap:8px;}
.jd-radio-group.jd-radio-group-inline{flex-direction:row;gap:20px;}

/* 单选框按钮样式（按钮式单选） */
.jd-radio-button{position:relative;display:inline-block;}
.jd-radio-button input[type="radio"]{position:absolute;opacity:0;width:0;height:0;}
.jd-radio-button .jd-radio-button-label{display:inline-block;padding:10px 20px;background-color:white;border:1px solid var(--jd-gray-50);border-radius:var(--jd-radius-md);color:var(--jd-gray-80);font-size:14px;cursor:pointer;transition:all 0.2s ease;text-align:center;min-width:80px;}
.jd-radio-button input[type="radio"]:checked + .jd-radio-button-label{background-color:var(--jd-light-red);border-color:var(--jd-red);color:var(--jd-red);font-weight:500;}
.jd-radio-button input[type="radio"]:focus + .jd-radio-button-label{box-shadow:0 0 0 3px rgba(233, 59, 61, 0.2);}
.jd-radio-button input[type="radio"]:disabled + .jd-radio-button-label{background-color:var(--jd-gray-20);color:var(--jd-gray-70);cursor:not-allowed;border-color:var(--jd-gray-30);}

/* ============================= */
/* 京东风格复选框(Checkbox)增强样式 */
/* ============================= */

/* 隐藏原生复选框 */
.jd-form input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;}

/* 自定义复选框容器 */
.jd-checkbox{display:flex;align-items:flex-start;margin-bottom:12px;cursor:pointer;position:relative;user-select:none;}

/* 自定义复选框样式 */
.jd-checkbox .jd-checkbox-checkmark{position:relative;display:inline-block;width:20px;height:20px;min-width:20px;border:2px solid var(--jd-gray-50);border-radius:4px;margin-right:10px;background-color:white;transition:all 0.2s ease;top:2px;}

/* 选中状态 */
.jd-checkbox input[type="checkbox"]:checked + .jd-checkbox-checkmark{background-color:var(--jd-red);border-color:var(--jd-red);}

/* 选中状态的勾选符号 */
.jd-checkbox input[type="checkbox"]:checked + .jd-checkbox-checkmark::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%) rotate(45deg);width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;}

/* 不确定状态（部分选中） */
.jd-checkbox input[type="checkbox"]:indeterminate + .jd-checkbox-checkmark{background-color:var(--jd-red);border-color:var(--jd-red);}
.jd-checkbox input[type="checkbox"]:indeterminate + .jd-checkbox-checkmark::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:10px;height:2px;background-color:white;}

/* 焦点状态 */
.jd-checkbox input[type="checkbox"]:focus + .jd-checkbox-checkmark{box-shadow:0 0 0 3px rgba(233, 59, 61, 0.2);}

/* 禁用状态 */
.jd-checkbox input[type="checkbox"]:disabled + .jd-checkbox-checkmark{background-color:var(--jd-gray-20);border-color:var(--jd-gray-30);cursor:not-allowed;}
.jd-checkbox input[type="checkbox"]:disabled:checked + .jd-checkbox-checkmark{background-color:var(--jd-gray-50);border-color:var(--jd-gray-50);}

/* 复选框标签样式 */
.jd-checkbox .jd-checkbox-label{font-size:15px;color:var(--jd-gray-90);line-height:1.4;flex:1;padding-top:2px;}
.jd-checkbox:hover .jd-checkbox-label{color:var(--jd-red);}

/* 复选框尺寸变体 */
.jd-checkbox.jd-checkbox-sm .jd-checkbox-checkmark{width:16px;height:16px;min-width:16px;}
.jd-checkbox.jd-checkbox-sm .jd-checkbox-checkmark::after{width:4px;height:8px;border-width:0 1.5px 1.5px 0;}
.jd-checkbox.jd-checkbox-sm .jd-checkbox-label{font-size:14px;padding-top:1px;}
.jd-checkbox.jd-checkbox-lg .jd-checkbox-checkmark{width:24px;height:24px;min-width:24px;}
.jd-checkbox.jd-checkbox-lg .jd-checkbox-checkmark::after{width:7px;height:12px;border-width:0 2.5px 2.5px 0;}
.jd-checkbox.jd-checkbox-lg .jd-checkbox-label{font-size:16px;padding-top:3px;}

/* 复选框组样式 */
.jd-checkbox-group{display:flex;flex-direction:column;gap:8px;}
.jd-checkbox-group.jd-checkbox-group-inline{flex-direction:row;gap:20px;}

/* 复选框按钮样式（按钮式复选） */
.jd-checkbox-button{position:relative;display:inline-block;}
.jd-checkbox-button input[type="checkbox"]{position:absolute;opacity:0;width:0;height:0;}
.jd-checkbox-button .jd-checkbox-button-label{display:inline-block;padding:10px 20px;background-color:white;border:1px solid var(--jd-gray-50);border-radius:var(--jd-radius-md);color:var(--jd-gray-80);font-size:14px;cursor:pointer;transition:all 0.2s ease;text-align:center;min-width:80px;}
.jd-checkbox-button input[type="checkbox"]:checked + .jd-checkbox-button-label{background-color:var(--jd-light-red);border-color:var(--jd-red);color:var(--jd-red);font-weight:500;}
.jd-checkbox-button input[type="checkbox"]:focus + .jd-checkbox-button-label{box-shadow:0 0 0 3px rgba(233, 59, 61, 0.2);}
.jd-checkbox-button input[type="checkbox"]:disabled + .jd-checkbox-button-label{background-color:var(--jd-gray-20);color:var(--jd-gray-70);cursor:not-allowed;border-color:var(--jd-gray-30);}

/* ============================= */
/* 移动端优化 */
/* ============================= */
@media (max-width:767px){
	/* 下拉框移动优化 */
	.jd-form select.form-control{font-size:16px !important;height:48px;padding:12px 40px 12px 15px;}

	/* 单选框移动优化 */
	.jd-radio{margin-bottom:10px;}
	.jd-radio .jd-radio-checkmark{width:22px;height:22px;min-width:22px;}
	.jd-radio .jd-radio-checkmark::after{width:12px;height:12px;}

	/* 单选框按钮移动优化 */
	.jd-radio-button-group{display:flex;flex-wrap:wrap;gap:8px;}
	.jd-radio-button .jd-radio-button-label{padding:12px 16px;min-width:0;flex:1;}

	/* 复选框移动优化 */
	.jd-checkbox{margin-bottom:10px;}
	.jd-checkbox .jd-checkbox-checkmark{width:22px;height:22px;min-width:22px;}
	.jd-checkbox .jd-checkbox-checkmark::after{width:7px;height:12px;border-width:0 2.5px 2.5px 0;}

	/* 复选框按钮移动优化 */
	.jd-checkbox-button-group{display:flex;flex-wrap:wrap;gap:8px;}
	.jd-checkbox-button .jd-checkbox-button-label{padding:12px 16px;min-width:0;flex:1;}
}

/* ============================= */
/* 暗色主题适配 */
/* ============================= */
@media (prefers-color-scheme:dark){
	/* 下拉框暗色主题 */
	.jd-form select.form-control{background-color:#2a2a2a;border-color:#444;color:#f0f0f0;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='%23cccccc' 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");}
	.jd-form select.form-control:focus{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='%23e93b3d' 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");}

	/* 单选框暗色主题 */
	.jd-radio .jd-radio-checkmark{background-color:#2a2a2a;border-color:#555;}
	.jd-radio .jd-radio-label{color:#e0e0e0;}

	/* 单选框按钮暗色主题 */
	.jd-radio-button .jd-radio-button-label{background-color:#2a2a2a;border-color:#444;color:#ccc;}

	/* 复选框暗色主题 */
	.jd-checkbox .jd-checkbox-checkmark{background-color:#2a2a2a;border-color:#555;}
	.jd-checkbox .jd-checkbox-label{color:#e0e0e0;}

	/* 复选框按钮暗色主题 */
	.jd-checkbox-button .jd-checkbox-button-label{background-color:#2a2a2a;border-color:#444;color:#ccc;}
}
