/* ==================================================================
   EbookVault · 资源详情页 / 下载面板
   ================================================================== */

.ev-detail__grid {
	display: grid;
	grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
	margin-bottom: 64px;
}

/* ---------- 左：封面 + 信任标记 ---------- */
.ev-detail__visual { position: sticky; top: 104px; }
.ev-detail__cover {
	position: relative;
	padding: 30px 40px 36px;
	border: 1px solid var(--ev-line);
	border-radius: 22px;
	background:
		radial-gradient(90% 60% at 60% 0%, rgba(232, 184, 120, .09), transparent 70%),
		linear-gradient(160deg, var(--ev-surface), var(--ev-bg-2));
	overflow: hidden;
}
.ev-detail__cover::before {
	content: "";
	position: absolute;
	left: 50%; top: 50%;
	width: 340px; height: 340px;
	transform: translate(-50%, -50%);
	border: 1px solid rgba(232, 184, 120, .12);
	border-radius: 50%;
	box-shadow: 0 0 0 44px rgba(232, 184, 120, .03), 0 0 0 88px rgba(232, 184, 120, .02);
	pointer-events: none;
}
.ev-detail__cover .ev-book3d { position: relative; z-index: 2; }

.ev-detail__trust { display: flex; flex-direction: column; gap: 11px; margin-top: 22px; }
.ev-detail__trust div { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--ev-text-2); }
.ev-detail__trust svg { width: 16px; height: 16px; flex: none; fill: none; stroke: var(--ev-green); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 右：信息 ---------- */
.ev-detail__badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 20px; }
.ev-detail__title { font-family: var(--ev-serif); font-size: clamp(30px, 3.5vw, 46px); line-height: 1.25; font-weight: 600; letter-spacing: .01em; }
.ev-detail__subtitle { margin: 10px 0 0; font-family: var(--ev-serif); font-size: 16px; color: var(--ev-gold); }
.ev-detail__byline { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-top: 18px; font-size: 13px; color: var(--ev-text-2); }
.ev-detail__byline span:not(:last-child)::after { content: ""; display: inline-block; width: 3px; height: 3px; margin: 0 12px 3px; border-radius: 50%; background: var(--ev-muted); }

.ev-detail__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; font-size: 12.5px; color: var(--ev-muted); }
.ev-detail__rating > strong { color: var(--ev-gold); font-size: 17px; font-family: var(--ev-serif); font-weight: 600; }
.ev-detail__rating > span:not(.ev-detail__sep) { display: inline-flex; align-items: center; gap: 5px; }
.ev-detail__rating svg { width: 14px; height: 14px; fill: none; stroke: var(--ev-gold); stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ev-detail__sep { width: 1px; height: 13px; background: var(--ev-line-strong); }
.ev-detail__desc { max-width: 660px; margin: 22px 0 30px; font-size: 14px; line-height: 1.95; color: var(--ev-text-2); }

/* ---------- 下载面板：全站视觉核心 ---------- */
.ev-download-panel {
	position: relative;
	padding: 28px 30px 24px;
	border: 1px solid rgba(232, 184, 120, .26);
	border-radius: 20px;
	background:
		radial-gradient(72% 100% at 100% 0%, rgba(232, 184, 120, .1), transparent 66%),
		linear-gradient(155deg, var(--ev-surface), var(--ev-bg-2));
	box-shadow: var(--ev-shadow-soft), inset 0 1px 0 rgba(255, 255, 255, .05);
	overflow: hidden;
}
.ev-download-panel::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--ev-gold) 30%, var(--ev-gold-soft) 52%, var(--ev-gold) 70%, transparent);
	opacity: .85;
}
.ev-download-panel__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.ev-download-panel__kicker { display: block; font-size: 10px; font-weight: 700; letter-spacing: .24em; color: var(--ev-gold); margin-bottom: 5px; }
.ev-download-panel__head h2 { font-family: var(--ev-serif); font-size: 22px; font-weight: 600; }
.ev-download-panel__secure { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border: 1px solid rgba(91, 214, 168, .3); border-radius: 999px; background: rgba(91, 214, 168, .07); color: var(--ev-green); font-size: 11px; white-space: nowrap; }
.ev-download-panel__secure svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* 主下载按钮 */
.ev-dl-btn {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 17px 22px;
	border: 0;
	border-radius: 14px;
	background: linear-gradient(112deg, var(--ev-gold-soft), var(--ev-gold) 46%, var(--ev-gold-2));
	color: var(--ev-gold-ink);
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(232, 184, 120, .24), inset 0 1px 0 rgba(255, 255, 255, .55);
	transition: transform .28s cubic-bezier(.2, .72, .2, 1), box-shadow .28s ease, filter .28s ease;
}
html[data-ev-theme="light"] .ev-dl-btn { background: linear-gradient(112deg, #d9a860, #b07a32 55%, #8c5c1e); color: #fff8ec; }
.ev-dl-btn:hover { transform: translateY(-3px); box-shadow: 0 20px 42px rgba(232, 184, 120, .34), inset 0 1px 0 rgba(255, 255, 255, .55); filter: brightness(1.04); }
.ev-dl-btn:active { transform: translateY(-1px); }
.ev-dl-btn.is-disabled { background: var(--ev-surface-2); color: var(--ev-muted); box-shadow: none; cursor: not-allowed; border: 1px solid var(--ev-line); }
.ev-dl-btn__icon { position: relative; z-index: 2; flex: none; width: 44px; height: 44px; display: grid; place-items: center; border-radius: 12px; background: rgba(36, 22, 6, .12); }
html[data-ev-theme="light"] .ev-dl-btn__icon { background: rgba(255, 255, 255, .16); }
.ev-dl-btn__icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.ev-dl-btn__text { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; line-height: 1.35; }
.ev-dl-btn__text strong { font-size: 17px; font-weight: 700; letter-spacing: .02em; }
.ev-dl-btn__text small { font-size: 11.5px; opacity: .72; margin-top: 2px; letter-spacing: .04em; }
.ev-dl-btn__arrow { position: relative; z-index: 2; margin-left: auto; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(36, 22, 6, .1); transition: transform .28s ease; }
html[data-ev-theme="light"] .ev-dl-btn__arrow { background: rgba(255, 255, 255, .16); }
.ev-dl-btn__arrow svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ev-dl-btn:hover .ev-dl-btn__arrow { transform: translateX(4px); }
.ev-dl-btn__shine { position: absolute; inset: 0; z-index: 1; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .35) 48%, transparent 64%); transform: translateX(-130%); animation: evDlShine 4.6s ease-in-out infinite; pointer-events: none; }
@keyframes evDlShine { 0%, 58% { transform: translateX(-130%); } 82%, 100% { transform: translateX(130%); } }
.ev-dl-btn--lg { padding: 19px 24px; }
.ev-dl-btn--lg .ev-dl-btn__text strong { font-size: 19px; }

.ev-download-panel__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 16px; font-size: 11.5px; color: var(--ev-muted); }
.ev-download-panel__meta span { display: inline-flex; align-items: center; gap: 6px; }
.ev-download-panel__meta span:not(:last-child)::after { content: ""; width: 3px; height: 3px; border-radius: 50%; background: var(--ev-line-strong); margin-left: 12px; }
.ev-download-panel__note { margin: 16px 0 0; padding-top: 14px; border-top: 1px dashed var(--ev-line); font-size: 11px; line-height: 1.8; color: var(--ev-muted); }

/* 备用线路 */
.ev-mirrors { margin-top: 20px; }
.ev-mirrors__head { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--ev-text-2); margin-bottom: 10px; }
.ev-mirrors__head span { padding: 1px 8px; border-radius: 999px; background: var(--ev-tint); border: 1px solid var(--ev-line); font-size: 10.5px; color: var(--ev-muted); }
.ev-mirrors__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 8px; }
.ev-mirrors__item { display: flex; align-items: center; gap: 6px; padding: 7px 9px; border: 1px solid var(--ev-line); border-radius: 10px; background: var(--ev-tint); transition: border-color .2s ease; }
.ev-mirrors__item:hover { border-color: rgba(232, 184, 120, .38); }
.ev-mirrors__link { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--ev-text-2); }
.ev-mirrors__link:hover { color: var(--ev-gold); }
.ev-mirrors__link svg { width: 13px; height: 13px; flex: none; fill: none; stroke: var(--ev-muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ev-mirrors__dot { width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--ev-green); box-shadow: 0 0 0 3px rgba(91, 214, 168, .13); }
.ev-mirrors__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ev-mirrors__code { flex: none; display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border: 1px dashed var(--ev-line-strong); border-radius: 7px; background: transparent; color: var(--ev-muted); font-size: 10.5px; transition: all .2s ease; }
.ev-mirrors__code strong { color: var(--ev-gold); letter-spacing: .06em; }
.ev-mirrors__code svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.ev-mirrors__code:hover { border-color: var(--ev-gold); color: var(--ev-text); }

/* ---------- 下方：规格 + 正文 + 侧栏 ---------- */
.ev-detail__lower { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; padding-top: 46px; border-top: 1px solid var(--ev-line); }
.ev-specs { margin-bottom: 44px; }
.ev-specs__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--ev-line); border-radius: 14px; overflow: hidden; background: var(--ev-surface); }
.ev-specs__item { display: flex; flex-direction: column; gap: 5px; padding: 17px 20px; border-right: 1px solid var(--ev-line); border-bottom: 1px solid var(--ev-line); min-height: 78px; }
.ev-specs__item:nth-child(3n) { border-right: 0; }
.ev-specs__item span { font-size: 11px; color: var(--ev-muted); letter-spacing: .06em; }
.ev-specs__item strong { font-size: 13.5px; font-weight: 600; color: var(--ev-text); word-break: break-all; }
.ev-detail__content { max-width: 780px; }

.ev-detail__side { display: flex; flex-direction: column; gap: 16px; }
.ev-side-card { padding: 22px; border: 1px solid var(--ev-line); border-radius: 14px; background: var(--ev-surface); }
.ev-side-card h3 { font-family: var(--ev-serif); font-size: 17px; font-weight: 600; margin-bottom: 14px; }
.ev-side-card ul { display: flex; flex-direction: column; gap: 11px; }
.ev-side-card li { position: relative; padding-left: 15px; font-size: 12px; line-height: 1.8; color: var(--ev-text-2); }
.ev-side-card li::before { content: ""; position: absolute; left: 0; top: 9px; width: 5px; height: 5px; border-radius: 50%; background: var(--ev-gold); opacity: .8; }
.ev-side-card__formats { display: flex; flex-wrap: wrap; gap: 7px; }

@media (max-width: 980px) {
	.ev-detail__grid { grid-template-columns: 1fr; gap: 34px; }
	.ev-detail__visual { position: static; max-width: 360px; margin-inline: auto; }
	.ev-detail__lower { grid-template-columns: 1fr; }
	.ev-detail__side { flex-direction: row; flex-wrap: wrap; }
	.ev-side-card { flex: 1; min-width: 240px; }
}
@media (max-width: 620px) {
	.ev-download-panel { padding: 22px 18px 20px; }
	.ev-dl-btn { padding: 14px 15px; gap: 12px; }
	.ev-dl-btn__icon { width: 38px; height: 38px; }
	.ev-dl-btn__text strong, .ev-dl-btn--lg .ev-dl-btn__text strong { font-size: 15.5px; }
	.ev-dl-btn__arrow { display: none; }
	.ev-specs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ev-specs__item:nth-child(3n) { border-right: 1px solid var(--ev-line); }
	.ev-specs__item:nth-child(2n) { border-right: 0; }
	.ev-detail__cover { padding: 22px 28px 26px; }
	.ev-detail__side { flex-direction: column; }
}
