/* ============================================================
   前台正文版式（prose）
   ------------------------------------------------------------
   2026-10-24 引入，作用于全站所有 div.main_text 正文容器：
   news_info / park_info / scenery_*_info / shop_info / holiday /
   intro_* / culture_* / wenming* / scenery_line_* 等 27 个页面。

   设计原则
   1) 沿用景区棕色系（#af370a），只做可读性优化，不改品牌观感；
   2) 只写版式，不写内容：正文一律由语义标签承载，
      不再依赖任何内联 style（编辑器侧已同步取消）；
   3) 用 CSS 变量集中调控，后续调版式只改 :root 那几个值；
   4) 全部规则限定在 div.main_text 作用域内，不触碰 inc/style.css
      里 2012 年的全局重置，避免影响导航、列表页等其他区域。
   ============================================================ */

/* ---------------- 变量与容器 ---------------- */
div.main div.main_text{
	--prose-brand:#af370a;
	--prose-brand-soft:#c2643c;
	--prose-ink:#31363c;
	--prose-ink-2:#565f69;
	--prose-ink-3:#8b949e;
	--prose-rule:#e6e0d6;
	--prose-fill:#faf7f1;
	--prose-code-bg:#f4f1eb;
	--prose-radius:8px;
	--prose-speed:1.9;

	color:var(--prose-ink);
	font-size:16px;
	line-height:var(--prose-speed);
	letter-spacing:.01em;
	word-break:break-word;
	overflow-wrap:break-word;
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	font-feature-settings:"kern" 1,"liga" 1;
}

/* 正文里所有元素继承统一节奏，避免 12px 通配重置的残留 */
div.main div.main_text p,
div.main div.main_text li,
div.main div.main_text dt,
div.main div.main_text dd,
div.main div.main_text td,
div.main div.main_text th{
	font-size:16px;
}

/* ---------------- 标题 ---------------- */
div.main div.main_text h1{
	margin:0 0 .7em;
	color:var(--prose-brand);
	font-size:26px;
	font-weight:700;
	line-height:1.42;
	letter-spacing:.01em;
	text-wrap:balance;
}

div.main div.main_text h2{
	margin:1.7em 0 .7em;
	color:var(--prose-brand);
	font-size:21px;
	font-weight:700;
	line-height:1.5;
	text-wrap:balance;
}

div.main div.main_text h3{
	margin:1.6em 0 .65em;
	padding-bottom:.35em;
	color:var(--prose-brand);
	font-size:18px;
	font-weight:700;
	line-height:1.55;
	border-bottom:1px solid rgba(175,55,10,.13);
}

div.main div.main_text h4{
	margin:1.4em 0 .55em;
	color:#8a3b18;
	font-size:16px;
	font-weight:700;
	line-height:1.65;
}

div.main div.main_text h5,
div.main div.main_text h6{
	margin:1.3em 0 .5em;
	color:var(--prose-ink-2);
	font-size:16px;
	font-weight:700;
	line-height:1.65;
}

/* 标题里嵌套的链接不要变灰 */
div.main div.main_text h1 a,
div.main div.main_text h2 a,
div.main div.main_text h3 a{
	color:inherit;
}

/* ---------------- 段落 ---------------- */
div.main div.main_text p{
	margin:0 0 1.15em;
	line-height:var(--prose-speed);
	text-wrap:pretty;
}

/* 段落里只有一张图时，去掉多余留白 */
div.main div.main_text p:has(> img:only-child){
	margin-bottom:1.4em;
}

/* 既有的按钮段落保持原样（景区页的「立即预订」等） */
div.main div.main_text p.button{
	margin-top:10px;
	line-height:36px;
}

/* ---------------- 强调 ---------------- */
div.main div.main_text strong,
div.main div.main_text b{
	font-weight:600;
	color:#22282e;
}

div.main div.main_text em,
div.main div.main_text i{
	font-style:italic;
	color:inherit;
}

/* 日期 / 来源副标题：保持原来的块级灰字，但不影响正文里的斜体 */
div.main div.main_text em.en{
	display:block;
	margin:.2em 0 1.6em;
	line-height:1.7;
	color:var(--prose-ink-3);
	font-size:13px;
	font-style:normal;
	letter-spacing:.02em;
}
div.main div.main_text em.en a{
	color:var(--prose-ink-3);
}

div.main div.main_text u{
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}

div.main div.main_text s,
div.main div.main_text del{
	color:var(--prose-ink-3);
}

/* ---------------- 链接 ---------------- */
div.main div.main_text a{
	color:var(--prose-brand);
	text-decoration:underline;
	text-decoration-thickness:1px;
	text-underline-offset:2.5px;
	text-decoration-color:rgba(175,55,10,.35);
	transition:color .16s ease, text-decoration-color .16s ease;
}
div.main div.main_text a:hover{
	color:#8f2c07;
	text-decoration-color:rgba(143,44,7,.75);
}

/* [2026-10-26] 按钮组例外：p.button 内的链接是「按钮」而非正文链接，
   不应继承上面的正文下划线（全景欣赏的场景切换按钮曾被误加下划线）。
   特异性 (0,3,4) 高于上面的 (0,2,3)，无需 !important。
   刻意不改 color —— 按钮配色仍由 inc/style.css 的 .button 规则负责。 */
div.main div.main_text p.button a,
div.main div.main_text p.button a:link,
div.main div.main_text p.button a:visited,
div.main div.main_text p.button a:hover,
div.main div.main_text p.button a:active{
	text-decoration:none;
	text-decoration-thickness:0;
}

/* ---------------- 图片 ---------------- */
div.main div.main_text img{
	display:block;
	margin:1.4em auto;
	max-width:100%;
	height:auto;
	border-radius:var(--prose-radius);
	background:#f2efe9;
}
div.main div.main_text p img{
	display:block;
	margin:1.4em auto;
	max-width:100%;
	border-radius:var(--prose-radius);
}
/* 一段里图文混排时不要额外撑高 */
div.main div.main_text p img + img{
	margin-top:.8em;
}

div.main div.main_text figure{
	margin:1.5em 0;
}
div.main div.main_text figure img{
	margin:0 auto;
}
div.main div.main_text figcaption{
	margin-top:.6em;
	color:var(--prose-ink-3);
	font-size:13px;
	line-height:1.7;
	text-align:center;
}

/* ---------------- 引用 ---------------- */
div.main div.main_text blockquote{
	margin:1.5em 0;
	padding:14px 18px;
	color:var(--prose-ink-2);
	font-size:15.5px;
	line-height:1.85;
	border-left:3px solid var(--prose-brand);
	border-radius:0 var(--prose-radius) var(--prose-radius) 0;
	background:var(--prose-fill);
}
div.main div.main_text blockquote p{
	margin:0 0 .7em;
	font-size:15.5px;
}
div.main div.main_text blockquote p:last-child{
	margin-bottom:0;
}
div.main div.main_text blockquote cite{
	display:block;
	margin-top:.5em;
	color:var(--prose-ink-3);
	font-size:13px;
	font-style:normal;
}

/* ---------------- 列表 ---------------- */
div.main div.main_text ul,
div.main div.main_text ol{
	margin:0 0 1.15em;
	padding-left:1.55em;
}
div.main div.main_text ul{
	list-style:disc outside;
}
div.main div.main_text ol{
	list-style:decimal outside;
}
div.main div.main_text li{
	margin:.4em 0;
	line-height:1.85;
	padding-left:.15em;
}
div.main div.main_text li::marker{
	color:var(--prose-brand);
	font-weight:600;
}
div.main div.main_text li > ul,
div.main div.main_text li > ol{
	margin:.4em 0 .2em;
}
div.main div.main_text ul ul{
	list-style:circle outside;
}

/* ---------------- 表格 ---------------- */
div.main div.main_text table{
	margin:1.5em 0;
	width:100%;
	max-width:100%;
	border-collapse:collapse;
	font-size:15px;
	line-height:1.7;
	background:#fff;
}
div.main div.main_text caption{
	margin-bottom:.6em;
	color:var(--prose-ink-3);
	font-size:13px;
	text-align:center;
}
div.main div.main_text th,
div.main div.main_text td{
	padding:10px 12px;
	border:1px solid var(--prose-rule);
	text-align:left;
	vertical-align:top;
}
div.main div.main_text th{
	color:#6f3a1c;
	font-weight:700;
	background:#f7f2ea;
}
div.main div.main_text tbody tr:nth-child(even) td{
	background:#fcfaf6;
}

/* ---------------- 分隔线 ---------------- */
div.main div.main_text hr{
	margin:2.2em 0;
	height:1px;
	border:0;
	background:linear-gradient(90deg,rgba(175,55,10,.28),rgba(175,55,10,.04));
}

/* ---------------- 代码 ---------------- */
div.main div.main_text code{
	padding:.15em .4em;
	color:#8a3b18;
	font-family:Consolas,Monaco,"Courier New",monospace;
	font-size:.92em;
	border-radius:4px;
	background:var(--prose-code-bg);
}
div.main div.main_text pre{
	margin:1.5em 0;
	padding:14px 16px;
	color:#e8edf2;
	font-family:Consolas,Monaco,"Courier New",monospace;
	font-size:13px;
	line-height:1.7;
	border-radius:var(--prose-radius);
	background:#26313a;
	overflow-x:auto;
	tab-size:2;
}
div.main div.main_text pre code{
	padding:0;
	color:inherit;
	font-size:13px;
	background:none;
	border-radius:0;
}

/* ---------------- 细分隔与首尾留白 ---------------- */
div.main div.main_text > p:first-of-type{
	margin-top:.2em;
}
div.main div.main_text > *:last-child{
	margin-bottom:0;
}

/* ---------------- 窄屏（站内固定宽 980px，仅在缩放/小窗时生效） ---------------- */
@media (max-width:1024px){
	div.main div.main_text{
		font-size:15.5px;
		line-height:1.85;
	}
	div.main div.main_text h1{font-size:23px;}
	div.main div.main_text h2{font-size:19px;}
	div.main div.main_text h3{font-size:17px;}
	div.main div.main_text p,
	div.main div.main_text li{font-size:15.5px;}
	div.main div.main_text th,
	div.main div.main_text td{padding:8px 9px;font-size:14px;}
}

/* 正文编辑器保留的语义化排版类（对齐/缩进）—— 由 CmsEditor 输出，前台负责呈现 */
div.main div.main_text .ql-align-left{text-align:left}
div.main div.main_text .ql-align-center{text-align:center}
div.main div.main_text .ql-align-right{text-align:right}
div.main div.main_text .ql-align-justify{text-align:justify}
div.main div.main_text .ql-indent-1{padding-left:2em}
div.main div.main_text .ql-indent-2{padding-left:4em}
div.main div.main_text .ql-indent-3{padding-left:6em}
div.main div.main_text ul.ql-align-center,
div.main div.main_text ol.ql-align-center{text-align:center}
div.main div.main_text ul.ql-align-right,
div.main div.main_text ol.ql-align-right{text-align:right}
div.main div.main_text ul.ql-align-justify,
div.main div.main_text ol.ql-align-justify{text-align:justify}
