/*
Theme Name: Hestia Child
Theme URI: https://erocraft.com/
Description: 艾萝工坊 SillyTavern 服务子主题 — 在 Hestia 基础上通过官方 hooks 扩展，无需修改父主题。
Author: erocraft
Author URI: https://erocraft.com/
Template: hestia
Version: 1.0.0
Text Domain: hestia-child
*/

/* ====================================================
 * 字体栈：System Font Stack（零外部请求，跨平台原生美观）
 *   macOS / iOS  → 苹方 (PingFang SC) + San Francisco
 *   Windows 10/11 → Segoe UI + 微软雅黑 (Microsoft YaHei)
 *   HarmonyOS    → HarmonyOS Sans SC
 *   Linux/Android → Noto Sans CJK SC / Roboto
 *   小米设备     → MiSans
 * 站点原本依赖 Google Fonts (Roboto)，因 disable-remove-google-fonts 插件 +
 * 中文翻译 'on'→'off' 双重影响，回退到了系统衬线（宋体）。
 * 改用系统字体栈即可彻底解决，且无网络依赖。
 * ==================================================== */
:root {
	--erocraft-font-sans:
		-apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", system-ui,
		"PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei UI",
		"Microsoft YaHei", "微软雅黑", "MiSans", "Noto Sans CJK SC",
		"Helvetica Neue", Helvetica, Arial, sans-serif;
}
body,
.hestia-title,
.title,
h1, h2, h3, h4, h5, h6,
.btn,
input, button, select, textarea,
.navbar,
.entry-content,
.section,
p, a, span, li, td, th {
	font-family: var(--erocraft-font-sans) !important;
}

/* ====================================================
 * Hero 区域微调
 * ==================================================== */
/* 让 hero 标题在桌面端 16:9 屏幕保持紧凑，避免超长行；
 * 实际换行通过 theme_mod 中的 <br> 控制。 */
.hestia-title {
	word-break: keep-all;
	line-break: strict;
}
.carousel-inner .hestia-title,
#carousel-hestia-generic .hestia-title {
	max-width: 900px;
}
/* 桌面端：禁止单行内自动换行，由文案中的 <br> 决定换行点；
 * 同时略微缩小字号确保 SillyTavern AI / 酒馆服务器租赁 两行都能放下。 */
@media (min-width: 992px) {
	.carousel-inner .hestia-title,
	#carousel-hestia-generic .hestia-title {
		white-space: nowrap;
		font-size: 5rem;
		line-height: 1.15;
		letter-spacing: 0.5px;
	}
}
@media (min-width: 1400px) {
	.carousel-inner .hestia-title,
	#carousel-hestia-generic .hestia-title {
		font-size: 5.6rem;
	}
}

/* Hero 第二按钮 描边样式（模拟 Hestia Pro outline 按钮）
 * 要点：不用 border（会增加盒尺寸导致与 primary 不等高），改用 inset box-shadow 模拟边框 */
.hestia-child-btn-outline {
	background: transparent !important;
	color: #fff !important;
	border: 0 !important;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.85) !important;
}
.hestia-child-btn-outline:hover,
.hestia-child-btn-outline:focus,
.hestia-child-btn-outline:active {
	background: rgba(255, 255, 255, 0.12) !important;
	color: #fff !important;
	box-shadow: inset 0 0 0 2px #fff !important;
}

/* Hero 两个按钮统一外观：圆角、内边距、高度一致；
 * 不破坏 Hestia 自身的左/中/右对齐 —— 父容器用的是 text-align，
 * 因此这里保持按钮为 inline-block 并 inherit text-align，不强制 flex。 */
.hestia-title-and-buttons-wrapper .buttons,
.carousel-inner .buttons,
#carousel-hestia-generic .buttons {
	text-align: inherit;
}
.hestia-title-and-buttons-wrapper .buttons .btn,
.carousel-inner .buttons .btn,
#carousel-hestia-generic .buttons .btn {
	display: inline-block;
	vertical-align: middle;
	margin: 6px 4px !important;
	border-radius: 30px !important;
	padding: 12px 28px !important;
	line-height: 1.4 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	min-height: 44px;
	box-sizing: border-box;
}

/* ====================================================
 * 套餐购买区（erocraft-pricing）
 * ==================================================== */
.erocraft-pricing {
	padding: 80px 0;
	background: #f7f8fa;
}
.erocraft-pricing .hestia-title-area {
	margin-bottom: 50px;
}
.erocraft-pricing-cards {
	display: flex;
	flex-wrap: wrap;
	margin-left: -15px;
	margin-right: -15px;
}
.erocraft-pricing-cards > [class*="col-"] {
	display: flex;
	margin-bottom: 30px;
}
.erocraft-card {
	--card-color: #2dd4bf;
	background: #fff;
	border-radius: 12px;
	padding: 40px 28px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	width: 100%;
	border-top: 4px solid var(--card-color);
	transition: transform .2s ease, box-shadow .2s ease;
}
.erocraft-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}
.erocraft-card-title {
	font-size: 22px;
	font-weight: 600;
	margin: 0 0 16px;
	color: #1f2937;
}
.erocraft-card-price {
	font-size: 32px;
	font-weight: 700;
	color: var(--card-color);
	margin-bottom: 24px;
	line-height: 1.2;
}
.erocraft-card-features {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	flex: 1 1 auto;
	text-align: left;
}
.erocraft-card-features li {
	padding: 8px 0;
	color: #4b5563;
	border-bottom: 1px solid #f0f1f3;
	font-size: 15px;
}
.erocraft-card-features li:last-child {
	border-bottom: 0;
}
.erocraft-card-features li i.fa {
	color: var(--card-color);
	margin-right: 8px;
}
.erocraft-card-btn.btn.btn-primary {
	background-color: var(--card-color) !important;
	border-color: var(--card-color) !important;
	color: #fff !important;
	margin-top: auto;
	box-shadow: 0 6px 20px -8px var(--card-color);
}
.erocraft-card-btn.btn.btn-primary:hover,
.erocraft-card-btn.btn.btn-primary:focus {
	filter: brightness(0.92);
	color: #fff !important;
}
