/* Eva Plugin - Frontend */
/* 注：所有关键样式用 !important 避免被主题覆盖 */

.eva-review-app,
.eva-review-form,
.eva-review-list,
.eva-review-wall,
.eva-guest-lookup {
    box-sizing: border-box;
    max-width: 860px !important;
    margin: 20px auto !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 8px !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
    color: #1a1a1a !important;
    overflow: hidden !important;
    line-height: 1.5 !important;
}
.eva-review-form,
.eva-review-list,
.eva-review-wall,
.eva-guest-lookup { padding: 0 !important; }

/* Tabs */
.eva-tabs {
    display: flex !important;
    background: #fafafa !important;
    border-bottom: 1px solid #e7e7e7 !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}
.eva-tab {
    flex: 1 !important;
    padding: 16px 12px !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 3px solid transparent !important;
    border-right: 1px solid #f0f0f0 !important;
    cursor: pointer !important;
    font-size: 15px !important;
    color: #595959 !important;
    transition: all .2s !important;
    text-align: center !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    font-family: inherit !important;
}
.eva-tab:last-child { border-right: none !important; }
.eva-tab:hover {
    background: #fff !important;
    color: #003580 !important;
}
.eva-tab.eva-tab-active {
    background: #fff !important;
    color: #003580 !important;
    font-weight: 700 !important;
    border-bottom-color: #003580 !important;
}
.eva-panel {
    padding: 24px !important;
}
.eva-panel-title {
    margin: 0 0 16px !important;
    font-size: 16px !important;
    color: #1a1a1a !important;
    font-weight: 700 !important;
}
.eva-review-list h3,
.eva-review-wall h3 { margin-top: 0 !important; }

/* 提示消息 */
.eva-msg {
    padding: 12px 16px !important;
    border-radius: 4px !important;
    margin: 12px 0 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
}
.eva-msg-info    { background: #f0f6fb !important; color: #1a5685 !important; border-left: 3px solid #0071c2 !important; }
.eva-msg-success { background: #f0f9eb !important; color: #2c6a30 !important; border-left: 3px solid #4caf50 !important; }
.eva-msg-error   { background: #fef0f0 !important; color: #b51b1b !important; border-left: 3px solid #e53935 !important; }

/* SPA 提交后顶部 alert */
.eva-alert {
    padding: 12px 16px !important;
    border-radius: 4px !important;
    margin-bottom: 16px !important;
    font-size: 14px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    position: relative !important;
}
.eva-alert-success { background: #f0f9eb !important; color: #2c6a30 !important; border: 1px solid #c3e6cb !important; }
.eva-alert-close {
    background: transparent !important;
    border: none !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: inherit !important;
    cursor: pointer !important;
    padding: 0 0 0 12px !important;
    opacity: .6 !important;
}
.eva-alert-close:hover { opacity: 1 !important; }

.eva-form-row { margin-bottom: 14px !important; }
.eva-form-row label {
    display: block !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
.eva-form-row input[type=text],
.eva-form-row input[type=number],
.eva-form-row textarea {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    font-family: inherit !important;
}
.eva-form-row input:focus,
.eva-form-row textarea:focus {
    outline: none !important;
    border-color: #003580 !important;
}
.eva-form-row .description {
    color: #888 !important;
    font-size: 12px !important;
    margin: 4px 0 0 !important;
}
.eva-required { color: #e33 !important; }

/* 表单打分项 */
.eva-criteria { margin: 16px 0 !important; }
.eva-criteria-item {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 0 !important;
    border-bottom: 1px dashed #eee !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}
.eva-criteria-item:last-child { border-bottom: none !important; }
.eva-criteria-name {
    font-weight: 600 !important;
    min-width: 90px !important;
    color: #1a1a1a !important;
}
.eva-criteria-score {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-wrap: wrap !important;
}
.eva-score-pill {
    display: inline-block !important;
    padding: 6px 10px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: all .15s !important;
    background: #fff !important;
    color: #333 !important;
    font-size: 13px !important;
    min-width: 32px !important;
    text-align: center !important;
}
.eva-score-pill input { display: none !important; }
.eva-score-pill:hover { background: #f0f0f0 !important; }
.eva-score-pill.active,
.eva-score-pill input:checked + span {
    background: #003580 !important;
    color: #fff !important;
    border-color: #003580 !important;
}
.eva-criteria-max { margin-left: 6px !important; color: #888 !important; }

.eva-submit-btn {
    margin-top: 14px !important;
    background: #003580 !important;
    color: #fff !important;
    border: 1px solid #003580 !important;
    padding: 10px 28px !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    cursor: pointer !important;
    font-family: inherit !important;
}
.eva-submit-btn:hover { background: #00224d !important; }
.eva-submit-btn:disabled { opacity: 0.6 !important; cursor: not-allowed !important; }
.eva-form-msg { margin-left: 12px !important; color: #e33 !important; }

/* ========== 评价卡片 - Booking 风格 ========== */
.eva-review-card {
    box-sizing: border-box !important;
    background: #fff !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 8px !important;
    padding: 24px 28px !important;
    margin: 0 0 16px !important;
    color: #1a1a1a !important;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
.eva-review-card:last-child { margin-bottom: 0 !important; }
.eva-review-card * { box-sizing: border-box !important; }

/* 头部：用户+日期 */
.eva-review-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding-bottom: 18px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}
.eva-review-user {
    display: flex !important;
    gap: 16px !important;
    align-items: center !important;
}
.eva-review-score-box {
    background: #003580 !important;
    color: #fff !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    padding: 14px 18px !important;
    border-radius: 6px !important;
    min-width: 70px !important;
    text-align: center !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
}
.eva-review-user-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}
.eva-review-name {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}
.eva-review-meta {
    font-size: 13px !important;
    color: #595959 !important;
    display: flex !important;
    gap: 6px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}
.eva-review-meta a {
    color: #0071c2 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}
.eva-review-meta a:hover { text-decoration: underline !important; }
.eva-review-status {
    padding: 2px 8px !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    margin-left: 4px !important;
    display: inline-block !important;
}
.eva-status-0 { background: #fff8e1 !important; color: #b07a00 !important; }
.eva-status-1 { background: #e7f7ee !important; color: #1f7a4d !important; }
.eva-status-2 { background: #f5e7e7 !important; color: #b32d2d !important; }
.eva-review-date {
    font-size: 13px !important;
    color: #595959 !important;
    white-space: nowrap !important;
    align-self: flex-start !important;
}

/* 分类评分 */
.eva-review-categories {
    padding: 20px 0 18px !important;
}
.eva-review-section-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 0 0 16px !important;
    color: #1a1a1a !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.eva-categories-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px 24px !important;
    width: 100% !important;
}
@media (max-width: 640px) {
    .eva-categories-grid { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 420px) {
    .eva-categories-grid { grid-template-columns: 1fr !important; }
}
.eva-category-item {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
}
.eva-category-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
}
.eva-category-name {
    font-size: 14px !important;
    color: #1a1a1a !important;
    font-weight: 500 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.eva-category-score {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #003580 !important;
    flex-shrink: 0 !important;
    margin-left: 8px !important;
}
.eva-category-bar {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    min-width: 80px !important;
    height: 10px !important;
    min-height: 10px !important;
    max-height: 10px !important;
    background: #e7e7e7 !important;
    background-color: #e7e7e7 !important;
    background-image: none !important;
    border-radius: 5px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 10px !important;
    font-size: 0 !important;
    vertical-align: middle !important;
}
.eva-category-bar-fill {
    display: inline-block !important;
    position: relative !important;
    vertical-align: top !important;
    width: var(--p, 0%) !important;
    height: 10px !important;
    min-height: 10px !important;
    max-height: 10px !important;
    min-width: 0 !important;
    background: #003580 !important;
    background-color: #003580 !important;
    background-image: none !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 10px !important;
    font-size: 0 !important;
    transition: width .5s ease !important;
}
/* JS 不支持 var() 时回退 */
.eva-category-bar-fill {
    width: 0 !important;
}
@supports (width: var(--p)) {
    .eva-category-bar-fill {
        width: var(--p, 0%) !important;
    }
}

/* 文字评价 */
.eva-review-content {
    padding: 18px 0 0 !important;
    border-top: 1px solid #f0f0f0 !important;
}
.eva-review-paragraph {
    display: flex !important;
    gap: 10px !important;
    align-items: flex-start !important;
    margin-bottom: 10px !important;
    line-height: 1.7 !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
}
.eva-review-paragraph:last-child { margin-bottom: 0 !important; }
.eva-paragraph-icon {
    font-size: 16px !important;
    line-height: 1.7 !important;
    flex-shrink: 0 !important;
}

/* 操作按钮区 */
.eva-review-actions {
    padding-top: 16px !important;
    border-top: 1px solid #f0f0f0 !important;
    margin-top: 0 !important;
}
.eva-toggle-reply {
    background: transparent !important;
    color: #0071c2 !important;
    border: 1px solid #0071c2 !important;
    padding: 8px 22px !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    transition: all .15s !important;
    font-family: inherit !important;
}
.eva-toggle-reply:hover {
    background: #0071c2 !important;
    color: #fff !important;
}
.eva-toggle-reply.active {
    background: #0071c2 !important;
    color: #fff !important;
}

/* 回复 */
.eva-review-reply {
    background: #f5f9fd !important;
    border-left: 3px solid #0071c2 !important;
    padding: 12px 16px !important;
    margin-top: 0 !important;
    border-radius: 0 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    color: #1a1a1a !important;
    border-top: 1px solid #f0f0f0 !important;
    margin-left: -28px !important;
    margin-right: -28px !important;
    margin-bottom: -24px !important;
    padding-left: 31px !important;
    padding-right: 31px !important;
    border-radius: 0 0 8px 8px !important;
}
.eva-reply-time {
    display: block !important;
    margin-top: 6px !important;
    color: #999 !important;
    font-size: 12px !important;
}

/* 公共墙 grid 布局 */
.eva-review-wall.eva-layout-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    gap: 16px !important;
    max-width: 1200px !important;
}
.eva-review-wall.eva-layout-grid .eva-review-card { margin: 0 !important; }

/* 分页 */
.eva-pagination {
    text-align: center !important;
    margin: 18px 0 !important;
    padding: 0 !important;
}
.eva-pagination .eva-page {
    display: inline-block !important;
    padding: 6px 14px !important;
    margin: 0 3px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    color: #003580 !important;
    text-decoration: none !important;
    font-size: 14px !important;
}
.eva-pagination .eva-page.current {
    background: #003580 !important;
    color: #fff !important;
    border-color: #003580 !important;
}
.eva-pagination .eva-page:hover {
    background: #f0f0f0 !important;
    text-decoration: none !important;
}
.eva-pagination .eva-page.current:hover {
    background: #003580 !important;
    color: #fff !important;
}

/* 游客查询表单 */
.eva-guest-lookup {
    padding: 32px 24px !important;
    text-align: center !important;
}
.eva-guest-lookup .description {
    color: #888 !important;
    font-size: 14px !important;
    margin: 0 0 16px !important;
}
.eva-guest-lookup .eva-form-row {
    display: flex !important;
    gap: 8px !important;
    max-width: 400px !important;
    margin: 0 auto !important;
}
.eva-guest-lookup .eva-form-row input { flex: 1 !important; }
.eva-guest-lookup .eva-form-row button {
    background: #003580 !important;
    color: #fff !important;
    border: 1px solid #003580 !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
    font-family: inherit !important;
}

/* Phone verification prompt for guests */
.eva-phone-prompt {
    padding: 24px !important;
    max-width: 480px !important;
    margin: 0 auto !important;
}
.eva-phone-prompt .description {
    color: #595959 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    margin: 0 0 20px !important;
}
.eva-phone-form {
    display: block !important;
}
.eva-phone-form .eva-btn {
    margin-top: 8px !important;
}

/* ========== 订单选择器（我要评价 Tab） ========== */
.eva-order-picker { padding: 8px 0 !important; }

/* <template> 标签不渲染内容，保险隐藏 */
template.eva-form-template {
    display: none !important;
}

/* SPA 切换时 form wrap 容器 */
.eva-review-form-wrap {
    margin-top: 16px !important;
}
.eva-pending-count {
    color: #888 !important;
    font-size: 13px !important;
    font-weight: normal !important;
}
.eva-order-section { margin-bottom: 24px !important; }
.eva-order-section:last-child { margin-bottom: 0 !important; }
.eva-order-section-title {
    font-size: 13px !important;
    color: #595959 !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: .5px !important;
}
.eva-order-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e7e7e7 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
}
.eva-order-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 14px 18px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    background: #fff !important;
    transition: background .15s !important;
}
.eva-order-item:last-child { border-bottom: none !important; }
.eva-order-item:hover { background: #fafbfc !important; }
.eva-order-reviewed { background: #fafbfc !important; opacity: .85 !important; }
.eva-order-info { display: flex !important; flex-direction: column !important; gap: 4px !important; }
.eva-order-id {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
}
.eva-order-meta {
    display: flex !important;
    gap: 12px !important;
    font-size: 12px !important;
    color: #888 !important;
}
.eva-btn {
    display: inline-block !important;
    padding: 8px 18px !important;
    border: 1px solid #d0d0d0 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #333 !important;
    text-decoration: none !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all .15s !important;
    font-family: inherit !important;
    line-height: 1.4 !important;
}
.eva-btn:hover {
    background: #f0f0f0 !important;
    text-decoration: none !important;
}
.eva-btn-primary {
    background: #003580 !important;
    color: #fff !important;
    border-color: #003580 !important;
}
.eva-btn-primary:hover {
    background: #00224d !important;
    color: #fff !important;
}

/* 评价表单头部（返回链接） */
.eva-form-header {
    margin-bottom: 16px !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding-bottom: 12px !important;
}
.eva-back-link {
    display: inline-block !important;
    color: #0071c2 !important;
    text-decoration: none !important;
    font-size: 13px !important;
    margin-bottom: 8px !important;
}
.eva-back-link:hover { text-decoration: underline !important; }
.eva-back-bar { margin-bottom: 14px !important; }

.eva-my-reviews { padding: 8px 0 !important; }
.eva-my-review-item { margin-bottom: 16px !important; }
.eva-my-review-item:last-child { margin-bottom: 0 !important; }
