@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Noto+Sans:wght@300;400;700&family=Noto+Sans+TC:wght@300;400;700&display=swap');

html, body {
	position: relative;
	width: 100%;
	/* height: 100%; */
}

body {
	color: #333;
	background-color: #f1f7fc;
	margin: 0;
	box-sizing: border-box;
	font-family: 'Noto Sans TC', 'Noto Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Lato', 'Noto Sans', sans-serif;
}

a {
	color: rgb(0,100,200);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
}

a:visited {
	color: rgb(0,80,160);
}

label {
	display: block;
	font-family: 'Lato', sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

input, button, select, textarea {
	font-family: inherit;
	font-size: inherit;
	-webkit-padding: 0.4em 0;
	padding: 0.4em;
	margin: 0 0 0.5em 0;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 2px;
}

input:disabled {
	color: #ccc;
}

button {
	color: #333;
	background-color: #f4f4f4;
	outline: none;
}

button:disabled {
	color: #5e5e61ff;
}

button:not(:disabled):active {
	background-color: #ddd;
}

button:focus {
	border-color: #666;
}

.btn-primary,
.btn-primary:active,
.btn-primary:visited {
    background-color: #00a094ff !important;
    border-color: #00a094ff !important;
    font-size: 24px !important;
}

.btn-outline-primary{
	border-color: #00a094ff !important;
}

.btn-primary:focus {
    background-color: #00a094ff !important;
    border-color: #ffcc07ff !important;
}

.btn-primary:hover{
	background-color: #ffcc07ff !important;
    border-color: #ffcc07ff !important;
	
}

/* Override any CMS-injected or component-level justify alignment in passage content */
.passage-content p,
.passage-content div,
.passage-content span,
.jumbotron p:not(.photo-verify-text):not(.verification-subtext):not(.intro-desc):not(.stat-label):not(.stat-value),
.jumbotron div:not(.photo-container):not(.photo-container *):not(.intro-directions):not(.intro-directions *):not(.intro-stats):not(.intro-stats *):not(.listen-media-center):not(.listen-media-center *) {
  text-align: left !important;
}

.photo-verify-text,
.verification-header,
.verification-subtext,
.photo-container,
.photo-container p,
.photo-container div,
.photo-container h2,
.intro-directions,
.intro-directions p,
.intro-directions h1,
.intro-stats,
.stat-card,
.stat-label,
.stat-value,
.listen-media-center,
.listen-media-center div {
  text-align: center !important;
}

/* Legacy skeleton loader style (use explicitly via class, not on all spinners) */
.legacy-skeleton-loader {
	position: relative;
	display: block;
	width: 120px;
	height: 40px;
	margin: 0.5rem auto;
	border: 0 !important;
	border-radius: 10px;
	background: #dce3ea;
	animation: none !important;
	overflow: hidden;
}

.legacy-skeleton-loader::after {
	content: "";
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.65), transparent);
	animation: global-skeleton-shimmer 1.2s infinite;
}

@keyframes global-skeleton-shimmer {
	100% {
		transform: translateX(100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.legacy-skeleton-loader::after {
		animation: none;
	}
}

/* Mobile landing layout hard override: keep one-column content centered at 90% viewport width */
@media (max-width: 991.98px) {
	.landing-root {
		width: 90vw !important;
		max-width: 90vw !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.landing-shell,
	.landing-inner-shell {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.landing-inner-shell > .row {
		--bs-gutter-x: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.landing-inner-shell > .row > [class*="col-"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}