/**
 * Site-wide typography — slightly larger text for readability.
 */

html {
	font-size: 18px;
}

body {
	font-size: 1rem;
	line-height: 1.65;
}

/* Header & navigation */
.main-header-menu .menu-link,
.main-header-menu .menu-item > a,
.ast-builder-menu-1 .menu-item > a,
.ast-custom-button,
.ast-custom-button-link .ast-custom-button {
	font-size: 1.0625rem !important;
}

/* Footer */
.site-footer,
.site-footer p,
.site-footer a,
.site-footer .widget-title {
	font-size: 1rem !important;
}

/* ── Custom page blocks (Elementor HTML) ── */

/* Hero tags */
.abt-hero-tag,
.hgn-hero-tag,
.nxd-hero-tag,
.wyw-hero-tag,
.ptn-hero-tag,
.ctc-hero-tag,
.tw-hero-badge {
	font-size: 14px !important;
}

/* Hero titles */
.abt-hero h1,
.hgn-hero h1,
.nxd-hero h1,
.wyw-hero h1,
.ptn-hero h1,
.ctc-hero h1 {
	font-size: 34px !important;
}

/* Hero body text */
.abt-hero-body,
.abt-hero-sub,
.hgn-hero-sub,
.nxd-hero-sub,
.wyw-hero-sub,
.ptn-hero p,
.ctc-hero p {
	font-size: 16px !important;
}

/* Section headers */
.abt-section-label,
.hgn-section-label,
.nxd-section-label,
.wyw-section-label,
.ptn-section-label,
.hgn2-trust-label {
	font-size: 13px !important;
}

.abt-section-title,
.hgn-section-title,
.nxd-section-title,
.wyw-section-title,
.ptn-section-title,
.hgn2-section-title {
	font-size: 25px !important;
}

.abt-section-sub,
.hgn-section-sub,
.nxd-section-sub,
.wyw-section-sub,
.ptn-section-sub,
.hgn2-section-sub {
	font-size: 16px !important;
}

/* Pills & badges */
.abt-pill,
.hgn-pill,
.nxd-pill,
.wyw-pill,
.ptn-pill,
.hgn2-prod-tag,
.hgn2-trust-badge {
	font-size: 14px !important;
}

/* Buttons */
.abt-btn-primary,
.abt-btn-ghost,
.hgn-btn-primary,
.hgn-btn-ghost,
.nxd-btn-primary,
.nxd-btn-ghost,
.wyw-btn-primary,
.wyw-btn-ghost,
.ptn-btn-primary,
.ptn-btn-ghost,
.ctc-qbtn,
.hgn2-btn-main,
.hgn2-btn-ghost,
.hgn2-prod-link,
.wyw-store-btn .wyw-store-big {
	font-size: 16px !important;
}

.wyw-store-btn .wyw-store-small {
	font-size: 12px !important;
}

/* Card & feature text */
.abt-phil-title,
.hgn-collab-title,
.nxd-feat-title,
.wyw-feat-title,
.ptn-tier-title,
.hgn2-prod-name,
.hgn2-aud-name,
.wyw-app-name,
.abt-identity-title,
.nxd-privacy-title {
	font-size: 17px !important;
}

.abt-phil-desc,
.hgn-collab-desc,
.nxd-feat-desc,
.wyw-feat-desc,
.ptn-tier-desc,
.hgn2-prod-desc,
.hgn2-aud-desc,
.wyw-aud-desc,
.abt-market-desc,
.abt-quote,
.nxd-privacy-desc,
.ptn-flow-desc {
	font-size: 15px !important;
}

/* Stats */
.abt-stat-num,
.hgn-stat-num,
.nxd-stat-num,
.wyw-stat-num,
.hgn2-stat-num {
	font-size: 34px !important;
}

.abt-stat-label,
.hgn-stat-label,
.nxd-stat-label,
.wyw-stat-label,
.hgn2-stat-label,
.hgn2-trust-num {
	font-size: 15px !important;
}

.abt-stat-sub,
.hgn-stat-sub,
.nxd-stat-sub,
.wyw-stat-sub,
.hgn2-trust-sub {
	font-size: 13px !important;
}

/* Contact page */
.ctc-info-title,
.ctc-line-title {
	font-size: 13px !important;
}

.ctc-info-value,
.ctc-form-title {
	font-size: 16px !important;
}

.ctc-info-sub,
.ctc-line-sub,
.ctc-form-sub,
.ctc-label,
.ctc-promise-text {
	font-size: 14px !important;
}

.ctc-input,
.ctc-select,
.ctc-textarea {
	font-size: 16px !important;
}

/* CTA blocks */
.abt-cta h2,
.hgn-cta h2,
.nxd-cta h2,
.wyw-cta h2,
.ptn-cta h2,
.hgn2-cta h2 {
	font-size: 25px !important;
}

.abt-cta p,
.hgn-cta p,
.nxd-cta p,
.wyw-cta p,
.ptn-cta p,
.hgn2-cta p {
	font-size: 16px !important;
}

/* Homepage hero (rem-based — also scales via html 18px) */
.tw-hero-title {
	font-size: clamp(2rem, 4.5vw, 2.75rem) !important;
}

.tw-hero-desc,
.tw-hero-list li {
	font-size: 1.125rem !important;
}

.tw-hero-cta-btn {
	font-size: 1.05rem !important;
	padding: 0.65rem 1.25rem !important;
}

/* Footer titles: 課程與服務 / 合作方式 bold */
.site-footer .widget-title,
.site-footer #nav_menu-1 .widget-title,
.site-footer #nav_menu-2 .widget-title {
	font-weight: 700 !important;
}

/* Footer contact title: blue like 關於我們 */
.site-footer .tw-footer-contact-title,
.site-footer #block-6 .wp-block-heading,
.site-footer #block-6 h4 {
	color: #0170b9 !important;
	font-weight: 700 !important;
}

/* Center copyright */
.site-footer .ast-footer-copyright,
.site-footer .ast-footer-copyright p,
.site-below-footer-wrap .site-footer-section-1,
.site-below-footer-wrap .ast-builder-grid-row {
	text-align: center !important;
	justify-content: center !important;
}

.site-below-footer-wrap .ast-footer-copyright {
	width: 100%;
	display: flex;
	justify-content: center;
}
/* Contact body text stays white; title handled above as blue */
.site-footer #block-7,
.site-footer #block-7 p,
.site-footer #block-7 a,
.site-footer #block-7 span,
.site-footer .tw-footer-contact-list,
.site-footer .tw-footer-contact-row {
	color: #ffffff !important;
	text-align: left !important;
}

.site-footer #block-6,
.site-footer #block-7,
.site-footer .tw-footer-contact-list {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.site-footer .tw-footer-contact-row {
	display: block;
	margin: 0 0 8px 0 !important;
	padding: 0 !important;
	line-height: 1.5;
}

.site-footer .tw-footer-store-badges {
	display: flex !important;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin: 0 !important;
	padding: 0 !important;
}

.site-footer #block-7,
.site-footer #block-7 p,
.site-footer #block-7 a {
	color: #ffffff !important;
}

.site-footer .tw-footer-store-badges a {
	opacity: 0.95;
	transition: opacity 0.2s ease;
}

.site-footer .tw-footer-store-badges a:hover {
	opacity: 1;
}

.site-footer .tw-footer-store-badges img {
	height: 40px !important;
	width: auto !important;
	max-width: 145px;
}

@media (max-width: 768px) {
	.abt-hero h1,
	.hgn-hero h1,
	.nxd-hero h1,
	.wyw-hero h1,
	.ptn-hero h1,
	.ctc-hero h1 {
		font-size: 28px !important;
	}

	.abt-section-title,
	.hgn-section-title,
	.nxd-section-title,
	.wyw-section-title,
	.ptn-section-title,
	.hgn2-section-title {
		font-size: 22px !important;
	}
}
