.khoacc-upgrade-box { border: 1.5px solid #cfd9f5; background: #f8faff; border-radius: 12px; padding: 16px 18px; margin: 18px 0; }
.khoacc-upgrade-head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.khoacc-tag { padding: 4px 10px; border-radius: 6px; background: #1f56d3; color: #fff; font-size: 11.5px; font-weight: 700; }
.khoacc-upgrade-desc { font-size: 12.5px; color: #4b5563; line-height: 1.55; margin: 8px 0 0; }
.khoacc-upgrade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 14px; }
.khoacc-upgrade-grid label { display: block; }
.khoacc-upgrade-grid .khoacc-col-2 { grid-column: 1 / -1; }
.khoacc-upgrade-grid span { display: block; font-size: 12.5px; color: #6b7280; margin-bottom: 5px; }
.khoacc-upgrade-grid em { color: #e14b4b; font-style: normal; }
.khoacc-upgrade-grid input { width: 100%; height: 44px; border: 1px solid #d8dce3; border-radius: 9px; padding: 0 14px; font-size: 14px; background: #fff; }
.khoacc-creds-title { font-size: 18px; margin-top: 28px; }
.khoacc-creds { border: 1px dashed #d5dae2; background: #f7f8fa; border-radius: 10px; padding: 14px; margin-bottom: 12px; }
.khoacc-creds-name { font-weight: 700; font-size: 14.5px; margin-bottom: 8px; }
.khoacc-cred-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) auto; gap: 12px; align-items: center; padding: 8px 0; border-top: 1px solid #e8eaee; }
.khoacc-cred-row span { display: block; font-size: 11.5px; color: #6b7280; }
.khoacc-cred-row code { font-size: 13.5px; font-weight: 600; background: none; }
.khoacc-copy { border: 0; border-radius: 8px; background: #1f56d3; color: #fff; font-size: 13px; font-weight: 600; padding: 9px 14px; cursor: pointer; }
.khoacc-notice { border-radius: 10px; padding: 14px 16px; margin: 16px 0; font-size: 14px; }
.khoacc-notice-manual { background: #fff4e5; border: 1px solid #f5e0b8; color: #7a5a12; }
.khoacc-warranty { max-width: 640px; }
.khoacc-warranty-note { font-size: 13px; color: #6b7280; }
.khoacc-warranty input, .khoacc-warranty select, .khoacc-warranty textarea { width: 100%; border: 1px solid #d8dce3; border-radius: 9px; padding: 11px 14px; font-size: 14px; }
.khoacc-btn-primary { background: #1f56d3 !important; color: #fff !important; border-radius: 9px !important; }

/* ===== Đánh giá sản phẩm ===== */
.kh-reviews { display: block !important; margin: 40px 0 0; grid-column: 1 / -1; width: 100%; clear: both; }
.kh-reviews > * { grid-column: 1 / -1; float: none; }
.kh-rv-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 18px; }
.kh-rv-head h2 { font-size: 23px; font-weight: 800; margin: 0 0 5px; color: #16181d; }
.kh-rv-head p { margin: 0; font-size: 13.5px; color: #6b7280; }
.kh-rv-write { display: inline-flex; align-items: center; gap: 9px; background: #fff; border: 1px solid #e2e5ea; border-radius: 11px; padding: 11px 18px; font-size: 14px; font-weight: 600; color: #374151; cursor: pointer; }
.kh-rv-write:hover { border-color: #1f56d3; color: #1f56d3; }
.kh-rv-write span { color: #1f56d3; }

.kh-rv-summary { display: grid; grid-template-columns: 170px minmax(0, 200px) minmax(0, 1fr); gap: 28px; align-items: center; background: #fff; border: 1px solid #eceef2; border-radius: 16px; padding: 26px 30px; }
.kh-rv-score { text-align: center; }
.kh-rv-score b { display: block; font-size: 44px; font-weight: 800; color: #f4682f; line-height: 1.1; }
.kh-rv-score .kh-rv-stars { display: block; color: #f0a020; font-size: 15px; letter-spacing: 2px; margin: 6px 0 4px; }
.kh-rv-score em { font-style: normal; font-size: 12.5px; color: #9ca3af; }
.kh-rv-facts { display: grid; gap: 10px; }
.kh-rv-facts > div { border: 1px solid #eceef2; border-radius: 12px; padding: 11px 15px; }
.kh-rv-facts b { display: block; font-size: 15px; font-weight: 700; color: #16181d; }
.kh-rv-facts span { font-size: 12px; color: #9ca3af; }
.kh-rv-bars { display: grid; gap: 9px; }
.kh-rv-bar { display: grid; grid-template-columns: 34px minmax(0, 1fr) 42px; align-items: center; gap: 12px; font-size: 12.5px; color: #6b7280; }
.kh-rv-bar i { display: block; height: 8px; border-radius: 999px; background: #f1f3f6; overflow: hidden; }
.kh-rv-bar i b { display: block; height: 100%; border-radius: 999px; background: #f4682f; }
.kh-rv-bar em { font-style: normal; text-align: right; color: #9ca3af; }

.kh-rv-mentions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; background: #fffdf8; border: 1px solid #f4e6cd; border-radius: 14px; padding: 15px 18px; margin-top: 16px; }
.kh-rv-mentions-label { font-size: 11.5px; font-weight: 800; color: #b45309; letter-spacing: .3px; display: inline-flex; align-items: center; gap: 7px; }
.kh-rv-mentions-label::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #f4682f; }

.kh-rv-filters { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin: 16px 0 18px; }
.kh-rv-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.kh-rv-chip { display: inline-flex; align-items: center; gap: 7px; background: #fff; border: 1px solid #e5e8ed; border-radius: 999px; padding: 8px 15px; font-size: 13px; font-weight: 600; color: #4b5563; text-decoration: none; }
.kh-rv-chip:hover { border-color: #f4a06f; color: #d2571f; }
.kh-rv-chip.is-active { background: #f4682f; border-color: #f4682f; color: #fff; }
.kh-rv-chip.is-plain { cursor: default; }
.kh-rv-chip b { background: #f3f5f8; color: #6b7280; border-radius: 6px; padding: 1px 7px; font-size: 11.5px; font-weight: 700; }
.kh-rv-chip.is-active b { background: rgba(255, 255, 255, .28); color: #fff; }
.kh-rv-sort { display: flex; align-items: center; gap: 10px; margin: 0; }
.kh-rv-sort label { font-size: 13px; color: #6b7280; }
.kh-rv-sort select { border: 1px solid #e5e8ed; border-radius: 10px; padding: 8px 13px; font-size: 13px; color: #374151; background: #fff; min-width: 150px; }

.kh-rv-list { display: grid; gap: 14px; }
.kh-rv-item { background: #fff; border: 1px solid #eceef2; border-radius: 16px; padding: 20px 22px; }
.kh-rv-top { display: flex; align-items: flex-start; gap: 13px; }
.kh-rv-avatar { width: 40px; height: 40px; border-radius: 50%; color: #fff; font-size: 15px; font-weight: 700; display: grid; place-items: center; flex-shrink: 0; }
.kh-rv-who { flex: 1; min-width: 0; }
.kh-rv-name { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.kh-rv-name b { font-size: 14.5px; font-weight: 700; color: #16181d; }
.kh-rv-verified { font-size: 11.5px; font-weight: 600; color: #1f56d3; }
.kh-rv-stars-sm { color: #f0a020; font-size: 13px; letter-spacing: 1.5px; margin: 3px 0 2px; }
.kh-rv-sub { font-size: 11.5px; color: #9ca3af; }
.kh-rv-sub span { margin: 0 3px; }
.kh-rv-top time { font-size: 12px; color: #9ca3af; flex-shrink: 0; }
.kh-rv-text { font-size: 14px; line-height: 1.65; color: #374151; margin: 12px 0 0; }
.kh-rv-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.kh-rv-tags span { background: #e9f7ef; color: #0f7a51; font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 7px; }
.kh-rv-actions { display: flex; gap: 10px; margin-top: 16px; }
.kh-rv-btn { display: inline-flex; align-items: center; gap: 7px; border: 1px solid #e2e5ea; background: #fff; border-radius: 10px; padding: 8px 15px; font-size: 13px; color: #4b5563; cursor: pointer; text-decoration: none; }
.kh-rv-btn:hover { border-color: #1f56d3; color: #1f56d3; }
.kh-rv-btn b { font-weight: 700; }
.kh-rv-reply { margin-top: 14px; background: #f4f8ff; border: 1px solid #dbe6fb; border-radius: 12px; padding: 13px 16px; }
.kh-rv-reply-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.kh-rv-reply-head strong { color: #1f56d3; font-size: 13px; }
.kh-rv-reply-head span { color: #9ca3af; font-size: 12px; }
.kh-rv-reply p { margin: 7px 0 0; font-size: 13.5px; line-height: 1.6; color: #4b5563; }
.kh-rv-empty { font-size: 14px; color: #9ca3af; background: #fff; border: 1px solid #eceef2; border-radius: 14px; padding: 26px; text-align: center; }

.kh-rv-pager { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 22px; }
.kh-rv-pager a, .kh-rv-pager span.is-active { min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e5e8ed; border-radius: 10px; background: #fff; font-size: 13.5px; font-weight: 600; color: #4b5563; text-decoration: none; }
.kh-rv-pager a:hover { border-color: #f4682f; color: #d2571f; }
.kh-rv-pager span.is-active { background: #f4682f; border-color: #f4682f; color: #fff; }
.kh-rv-gap { color: #9ca3af; }

.kh-rv-form { background: #fff; border: 1px solid #eceef2; border-radius: 16px; padding: 22px 24px; margin-top: 18px; }
.kh-rv-form label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; color: #374151; }
.kh-rv-form input, .kh-rv-form textarea, .kh-rv-form select { width: 100%; max-width: 420px; border: 1px solid #e2e5ea; border-radius: 10px; padding: 10px 13px; font-size: 14px; }
.kh-rv-form textarea { max-width: 100%; }
.kh-rv-form .submit { background: #1f56d3; color: #fff; border: 0; border-radius: 10px; padding: 12px 26px; font-size: 14px; font-weight: 700; cursor: pointer; width: auto; }

@media (max-width: 860px) {
	.kh-rv-summary { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.kh-rv-filters { align-items: flex-start; }
}
