/* AVOCARDO Core — 配合 Elementor 使用的樣式。
   在 Elementor 小工具「進階 → CSS 類別」填入下列 class 即可套用。 */

:root {
	--avo-paper: #F4F3EC;
	--avo-paper-2: #E8E6D9;
	--avo-ink: #1D2620;
	--avo-muted: #56635A;
	--avo-line: #CFCDBF;
	--avo-green: #5E8B63;
	--avo-green-deep: #2E4934;
	--avo-ochre: #9A6A1F;
	--avo-ochre-bg: #F1E3C6;
	--avo-display: "Noto Serif TC", "Songti TC", "PMingLiU", serif;
	--avo-body: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
	--avo-label: "Bricolage Grotesque", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- 通用 ---------- */
.avo-label, .avo-label .elementor-heading-title, .avo-label .elementor-widget-container {
	font-family: var(--avo-label); font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase;
}
.avo-balance .elementor-heading-title, .avo-balance { text-wrap: balance; }

/* 封面：放在 Container 上 */
.avo-cover { aspect-ratio: 3 / 4; max-width: 100%; box-shadow: 0 30px 60px -30px rgba(20, 40, 25, 0.45); overflow: hidden; }
/* 直排大字：放在 Heading 小工具上 */
.avo-vertical .elementor-heading-title { writing-mode: vertical-rl; letter-spacing: 0.08em; line-height: 1.1; }
/* 左邊綠線金句：放在 Text Editor 或 Heading 上 */
.avo-quote { border-left: 3px solid var(--avo-green); padding-left: 18px; }
/* 區段標題底線：放在 Container 上 */
.avo-shead { border-bottom: 2px solid var(--avo-ink); padding-bottom: 20px; margin-bottom: 28px; }
/* 本期主題的分隔線：放在每一格 Container 上 */
.avo-rule { border-bottom: 1px solid var(--avo-line); }

/* ---------- 目錄卡圖 [avo_card_image] ---------- */
.avo-card-link { display: block; }
.avo-card-img { width: 100%; height: auto; object-fit: cover; display: block; }
.avo-plate {
	width: 100%; position: relative; overflow: hidden; box-sizing: border-box;
	background: var(--plate, var(--avo-green)); color: var(--avo-paper);
	display: flex; align-items: flex-end; padding: 18px;
}
.avo-plate__glyph {
	position: absolute; right: -4%; top: -16%; font-family: var(--avo-display); font-weight: 900;
	font-size: clamp(140px, 18vw, 220px); line-height: 1; opacity: 0.12;
}
.avo-plate__title { position: relative; font-family: var(--avo-display); font-weight: 900; font-size: clamp(26px, 3vw, 40px); line-height: 1.12; }
@media (prefers-reduced-motion: no-preference) {
	.avo-plate, .avo-card-img { transition: transform 0.5s ease; }
	.e-loop-item:hover .avo-plate, .e-loop-item:hover .avo-card-img { transform: translateY(-4px); }
}

/* ---------- 披露標籤 [avo_disclosure]（手冊 4.2） ---------- */
.avo-disclosure[data-level="institutional"],
.avo-disclosure[data-level="sponsored"] {
	display: inline-block; font-family: var(--avo-label); font-weight: 800; letter-spacing: 0.1em;
	font-size: 11px; padding: 3px 8px; color: var(--avo-ochre); background: var(--avo-ochre-bg);
}
.avo-disclosure[data-level="sponsored"] { font-size: inherit; } /* 手冊：贊助標示不可縮小 */
.avo-disclosure[data-level="level1"] {
	display: block; font-size: 14px; color: var(--avo-muted);
	border-top: 1px solid var(--avo-line); border-bottom: 1px solid var(--avo-line); padding-block: 8px;
}

/* ---------- 文章頁 ---------- */
.avo-pullquote { margin: 0; text-align: center; }
.avo-pullquote blockquote {
	margin: 0; font-family: var(--avo-display); font-weight: 600; color: var(--avo-green);
	font-size: clamp(22px, 2.6vw, 28px); line-height: 1.5;
}
.avo-pullquote figcaption { margin-top: 10px; font-size: 13px; color: var(--avo-muted); }
.avo-checked { font-size: 13px; color: var(--avo-muted); }
/* 首字放大：放在 Post Content 小工具上 */
.avo-dropcap > .elementor-widget-container > p:first-of-type::first-letter,
.avo-dropcap p:first-of-type::first-letter {
	float: left; font-size: 3.4em; line-height: 0.95; margin: 0.06em 0.12em 0 0; color: var(--avo-green); font-weight: 900;
}
.avo-progress { position: fixed; left: 0; top: 0; height: 3px; width: 0; background: var(--avo-green); z-index: 9999; }
.admin-bar .avo-progress { top: 32px; }

/* ---------- 文章元件（WordPress 編輯器插入） ---------- */
.avo-framework { border: 1px solid var(--avo-line); gap: 0 !important; font-family: var(--avo-body); }
.avo-framework > .wp-block-column { padding: 16px; margin: 0 !important; }
.avo-framework > .wp-block-column + .wp-block-column { border-left: 1px solid var(--avo-line); }
@media (max-width: 781px) { .avo-framework > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--avo-line); } }
.avo-sources { border-top: 1px solid var(--avo-line); color: var(--avo-muted); font-family: var(--avo-body); font-size: 13px; padding-top: 20px; }
.avo-sources ol { padding-left: 1.4em; }
.avo-method { background: var(--avo-paper-2); font-family: var(--avo-body); font-size: 14px; padding: 20px 22px; }
.wp-block-pullquote { border: 0; color: var(--avo-green); font-family: var(--avo-display); font-weight: 600; text-align: center; }
.avo-placeholder { border: 1.5px dashed var(--avo-line); color: var(--avo-muted); font-family: var(--avo-body); font-size: 14px; padding: 14px 16px; }

/* Hello Elementor 沒有 theme.json 調色盤，補上元件用到的顏色與字級 class */
.has-green-color { color: var(--avo-green) !important; }
.has-muted-color { color: var(--avo-muted) !important; }
.has-ink-color { color: var(--avo-ink) !important; }
.has-x-small-font-size { font-size: 13px !important; }
.has-body-font-family { font-family: var(--avo-body) !important; }

/* ---------- 頁首欄目導航：放在 Nav Menu 小工具上，手機時橫向捲動而不是收成漢堡選單 ---------- */
.avo-sections .elementor-nav-menu--main .elementor-nav-menu { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.avo-sections .elementor-nav-menu--main .elementor-nav-menu::-webkit-scrollbar { display: none; }
.avo-sections .elementor-item { white-space: nowrap; font-family: var(--avo-label); font-size: 12.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
