/* 港撲志 GEO 樣式：所有規則都限定喺 .ghx 入面，唔會影響主題或 Elementor 其他區塊 */

body .ghx {
	--ghx-night: #0E1116;
	--ghx-night-2: #171C24;
	--ghx-line: #262C36;
	--ghx-line-2: #343B47;
	--ghx-neon: #FF3B4E;
	--ghx-felt: #0F5C4A;
	--ghx-gold: #E8B04B;
	--ghx-gold-2: #F4CF85;
	--ghx-cream: #F4EEE1;
	--ghx-text-2: #C9CFD8;
	--ghx-muted: #A8B0BC;
	--ghx-serif: "Noto Serif TC", "PMingLiU", serif;
	--ghx-sans: "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif;
	font-family: var(--ghx-sans);
	font-size: 17px;
	line-height: 1.75;
	color: var(--ghx-cream);
	text-align: left;
	-webkit-font-smoothing: antialiased;
}
body .ghx *, body .ghx *::before, body .ghx *::after { box-sizing: border-box; }
body .ghx h2, body .ghx h3, body .ghx p, body .ghx ul, body .ghx ol, body .ghx table { margin: 0; padding: 0; text-transform: none; letter-spacing: normal; }
body .ghx h2, body .ghx h3 { color: #fff; font-family: var(--ghx-serif); font-weight: 900; line-height: 1.35; background: none; border: 0; }
body .ghx a { color: var(--ghx-gold); text-decoration: underline; box-shadow: none; }
body .ghx a:hover, body .ghx a:focus { color: var(--ghx-gold-2); }
body .ghx a:focus-visible { outline: 2px solid var(--ghx-gold); outline-offset: 2px; }
body .ghx strong { color: #fff; font-weight: 700; }
body .ghx img { max-width: 100%; height: auto; }

body .ghx-home { background: var(--ghx-night); }
body .ghx .ghx-wrap { max-width: 1200px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }

/* 主視覺 */
body .ghx .ghx-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--ghx-line); }
body .ghx .ghx-hero__inner { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; padding-top: 72px; padding-bottom: 170px; position: relative; z-index: 1; }
body .ghx .ghx-hero__copy { flex: 999 1 520px; min-width: 0; }
body .ghx .ghx-eyebrow { margin-bottom: 16px; color: var(--ghx-gold); font-size: 15px; letter-spacing: 4px; }
body .ghx .ghx-hero__title { font-size: clamp(40px, 6vw, 64px); line-height: 1.15; color: var(--ghx-cream); }
body .ghx .ghx-neon { color: var(--ghx-neon); text-shadow: 0 0 18px rgba(255, 59, 78, .5); }
body .ghx .ghx-hero__lead { margin-top: 24px; font-size: 19px; color: var(--ghx-text-2); max-width: 560px; }
body .ghx .ghx-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
body .ghx .ghx-btn { display: inline-block; font-weight: 700; text-decoration: none; padding: 13px 24px; border-radius: 6px; font-size: 17px; line-height: 1.4; border: 1px solid transparent; }
body .ghx .ghx-btn--primary { background: var(--ghx-neon); color: var(--ghx-night); }
body .ghx .ghx-btn--primary:hover { color: var(--ghx-night); filter: brightness(1.1); }
body .ghx .ghx-btn--ghost { border-color: var(--ghx-gold); color: var(--ghx-gold); }
body .ghx .ghx-skyline { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 160px; display: block; }
body .ghx .ghx-skyline__city { fill: #141A22; stroke: var(--ghx-neon); stroke-width: 1.5; stroke-opacity: .7; }
body .ghx .ghx-skyline__sea { fill: none; stroke: var(--ghx-gold); stroke-width: 1; stroke-opacity: .5; }
body .ghx .ghx-stripe { height: 8px; background: repeating-linear-gradient(90deg, #C8283A 0 24px, #F4EEE1 24px 48px, #2456A6 48px 72px, #F4EEE1 72px 96px); }

/* 快速答案框 */
body .ghx .ghx-answer { background: var(--ghx-felt); border: 2px solid var(--ghx-gold); border-radius: 10px; padding: 24px 28px; box-shadow: 0 0 0 6px var(--ghx-night), 0 0 0 7px #2A3340; margin: 8px 7px 32px; color: var(--ghx-cream); }
body .ghx .ghx-hero .ghx-answer { flex: 1 1 340px; margin: 0; }
body .ghx .ghx-answer__label { margin-bottom: 8px; font-size: 13px; letter-spacing: 3px; color: var(--ghx-gold-2); font-weight: 700; }
body .ghx .ghx-answer__title { margin-bottom: 12px; font-family: var(--ghx-serif); font-weight: 900; font-size: 24px; color: #fff; line-height: 1.4; }
body .ghx .ghx-answer__body p { margin-bottom: 8px; color: var(--ghx-cream); }
body .ghx .ghx-answer__body p:last-child { margin-bottom: 0; }
body .ghx .ghx-answer a { color: var(--ghx-gold-2); }

/* 區塊 */
body .ghx .ghx-section { padding: 72px 0; }
body .ghx .ghx-section__title { margin-bottom: 8px; font-size: 36px; }
body .ghx .ghx-section__sub { margin-bottom: 32px; color: var(--ghx-muted); font-size: 16px; }
body .ghx .ghx-path + .ghx-path { margin-top: 0; }
body .ghx .ghx-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; margin-top: 24px; }
body .ghx .ghx-card { background: var(--ghx-night-2); border: 1px solid var(--ghx-line-2); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
body .ghx .ghx-card h3 { font-family: var(--ghx-sans); font-weight: 700; font-size: 20px; }
body .ghx .ghx-card p { font-size: 16px; color: var(--ghx-text-2); }
body .ghx .ghx-card__more { margin-top: auto; font-weight: 700; padding: 6px 0; }

body .ghx .ghx-felt { background: var(--ghx-felt); border-top: 2px solid var(--ghx-gold); border-bottom: 2px solid var(--ghx-gold); }
body .ghx .ghx-felt__inner { display: flex; flex-wrap: wrap; gap: 40px; padding-top: 64px; padding-bottom: 64px; }
body .ghx .ghx-felt__intro { flex: 1 1 300px; }
body .ghx .ghx-felt__intro p { margin-top: 12px; color: var(--ghx-cream); }
body .ghx .ghx-felt__intro a { color: var(--ghx-gold-2); font-weight: 700; }
body .ghx .ghx-felt__table { flex: 2 1 480px; overflow-x: auto; }

body .ghx .ghx-path { border-top: 4px solid var(--ghx-neon); background: var(--ghx-night-2); border-radius: 0 0 10px 10px; padding: 24px; }
body .ghx .ghx-path--gold { border-top-color: var(--ghx-gold); }
body .ghx .ghx-path--jade { border-top-color: #3FB28F; }
body .ghx .ghx-path__step { margin-bottom: 4px; font-size: 13px; letter-spacing: 3px; color: #FF7A86; }
body .ghx .ghx-path--gold .ghx-path__step { color: var(--ghx-gold); }
body .ghx .ghx-path--jade .ghx-path__step { color: #5CCBA6; }
body .ghx .ghx-path h3 { margin-bottom: 12px; font-family: var(--ghx-sans); font-weight: 700; font-size: 22px; }
body .ghx .ghx-path ul { list-style: none; }
body .ghx .ghx-path li { margin: 0; padding: 0; list-style: none; }
body .ghx .ghx-path li::before { content: none; }
body .ghx .ghx-path li a { display: block; padding: 8px 0; color: var(--ghx-cream); }

body .ghx .ghx-legal { border-top: 1px solid var(--ghx-line); padding: 24px 0; font-size: 14px; color: var(--ghx-muted); }
body .ghx .ghx-legal p { color: var(--ghx-muted); }

/* 表格 */
body .ghx table { width: 100%; border-collapse: collapse; border: 0; font-size: 16px; background: none; }
body .ghx th { text-align: left; padding: 10px 8px; font-weight: 700; color: var(--ghx-gold-2); border: 0; border-bottom: 1px solid rgba(244, 238, 225, .4); background: none; }
body .ghx td { padding: 10px 8px; border: 0; border-bottom: 1px solid rgba(244, 238, 225, .15); vertical-align: top; background: none; color: var(--ghx-cream); }
body .ghx tr, body .ghx tbody tr:nth-child(odd), body .ghx tbody tr:nth-child(even) { background: none; }
body .ghx .ghx-num { text-align: right; font-variant-numeric: tabular-nums; }
body .ghx td.ghx-rank { color: var(--ghx-gold-2); }

/* FAQ */
body .ghx .ghx-faq { margin: 0 0 12px; background: var(--ghx-night-2); border: 1px solid var(--ghx-line-2); border-radius: 8px; }
body .ghx .ghx-faq summary { cursor: pointer; padding: 14px 18px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 12px; min-height: 44px; color: #fff; }
body .ghx .ghx-faq summary::-webkit-details-marker { display: none; }
body .ghx .ghx-faq summary::after { content: "+"; color: var(--ghx-gold); font-size: 20px; line-height: 1; }
body .ghx .ghx-faq[open] summary::after { content: "−"; }
body .ghx .ghx-faq__a { padding: 0 18px 14px; color: var(--ghx-text-2); }
body .ghx .ghx-faq__a p { margin-bottom: 8px; }

/* 文章排版：[gh_article] */
body .ghx-article { background: var(--ghx-night); border-radius: 12px; padding: 32px; max-width: 860px; margin: 0 auto; }
body .ghx-article h2 { font-size: 28px; margin: 44px 0 16px; padding-left: 14px; border-left: 4px solid var(--ghx-neon); }
body .ghx-article h2:first-child { margin-top: 0; }
body .ghx-article h3 { font-family: var(--ghx-sans); font-weight: 700; font-size: 21px; margin: 28px 0 12px; }
body .ghx-article p, body .ghx-article ul, body .ghx-article ol { margin: 0 0 18px; color: var(--ghx-cream); }
body .ghx-article ul, body .ghx-article ol { padding-left: 1.4em; }
body .ghx-article li { margin-bottom: 6px; color: var(--ghx-cream); }
body .ghx-article table { margin: 0 0 24px; }
body .ghx-article hr { border: 0; border-top: 1px solid var(--ghx-line); margin: 40px 0; }
body .ghx-article .ghx { font-size: inherit; }

@media (max-width: 700px) {
	body .ghx-article { padding: 20px 16px; border-radius: 0; }
	body .ghx-article table { display: block; overflow-x: auto; font-size: 15px; }
	body .ghx-article th, body .ghx-article td { min-width: 5.5em; }
	body .ghx .ghx-section__title { font-size: 30px; }
}
