body {
	margin: 0;
	min-height: 100vh;
	background-color: #3a3e41;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	text-align: center;
	display: flex;
	flex-direction: column;
}

.mobile {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.lower {
	padding-bottom: 20px;
}

.icon-mobile {
	padding-top: 60px;
	width: 128px;
	height: 128px;
}

.icon-desktop {
	padding-top: 112px;
	width: 128px;
	height: 128px;
}

.appname {
	padding-top: 20px;
	color: #FFFFFF;
	font-size: 32px;
	font-weight: 600;
}

.appname-desktop {
	font-size: 32px;
	font-weight: 700;
}

.apptagline {
	margin-top: 6px;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 300;
	opacity: 0.7;
}

.listen {
	padding-top: 12px;
	color: #FFFFFF;
	font-size: 17px;
}

.listen-desktop {
	padding-bottom: 40px;
	font-weight: 300;
	opacity: 0.7;
}

.listen-mobile {
	padding-bottom: 50px;
}

.feedCard {
	display: inline-block;
	margin-top: 28px;
	margin-bottom: 40px;
	margin-left: 20px;
	margin-right: 20px;
	padding: 28px 36px;
	box-sizing: border-box;
	max-width: 418px;
	background-color: #484D51;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 18px;
}

.feedCardTitle {
	margin: 0;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 500;
}

.feedCardMeta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 17px;
	margin-top: 8px;
	color: rgba(255, 255, 255, 0.6);
	font-size: 16px;
	font-weight: 300;
}

.feedCardListeners {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.feedCardIcon {
	flex-shrink: 0;
}

.feedCardButton {
	margin-top: 24px;
}

.button {
	background-color: #FF9B3A;
	height: 48px;
	border: none;
	color: white;

	text-align: center;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	white-space: nowrap;

	color: #643B00;

	font-size: 17px;
	font-weight: 500;

	border-radius: 8px;
}

.button-desktop {
	padding-left: 100px;
	padding-right: 100px;
}

.button-mobile {
	padding-left: 50px;
	padding-right: 50px;
}

.button-card {
	width: 100%;
	padding-left: 40px;
	padding-right: 40px;
	border-radius: 24px;
	font-family: Avenir, sans-serif;
	font-weight: 800;
	font-size: 18px;
	line-height: 100%;
	letter-spacing: 0px;
}

.donthave {
	padding-top: 65px;
	padding-bottom: 20px;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 400;
}

/* X's iOS in-app browser gets the App Store button in place of the deep-link
   button, so there's no "Don't have Scanner Radio?" label to supply the gap
   above the badge. */
.lower-nolabel {
	padding-top: 45px;
}

.or-listen-on {
	padding-top: 125px;
	padding-bottom: 20px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
	font-weight: 400;
}

.broadcastify-link {
	color: #FF9B3A;
	text-decoration: none;
}

.gettheapp {
	padding-top: 15px;
	padding-bottom: 20px;
	color: #FFFFFF;
	font-size: 17px;
	font-weight: 500;
}

.badges {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}

.app-store-desktop {
	padding-left: 20px;
	padding-right: 10px;
	height: 58px;
}

.play-store-desktop {
	height: 58px;
	padding-left: 10px;
	padding-right: 20px;
}

.storeimage {
	height: 58px;
	padding-left: 20px;
	padding-right: 20px;
}

/* FAQ accordion panel (sits above the footer, fills remaining height) */
.faqPanel {
	flex: 1 0 auto;
	width: 100%;
	margin-top: 60px;
	background: #2e3236;
}

.faqInner {
	box-sizing: border-box;
	/* 458 = 418 content + 20px side padding each side, so the visible FAQ
	   content lines up with the 418px-wide gray feed card above it. */
	max-width: 458px;
	margin: 0 auto;
	padding: 0 20px 60px;
	text-align: left;
}

.faqTitle {
	margin: 0;
	color: #FFFFFF;
	font-size: 18px;
	font-weight: 700;
	padding: 50px 0 18px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.faqItem {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.faqQuestion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
	color: #FFFFFF;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	padding: 22px 12px;
	margin: 0 -12px;
	border-radius: 8px;
	transition: background-color 0.15s ease;
}

.faqQuestion:hover {
	background-color: rgba(255, 255, 255, 0.04);
}

.faqQuestionText {
	margin: 0;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
}

.faqQuestion::-webkit-details-marker {
	display: none;
}

.faqQuestion::after {
	content: "";
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-right: 4px;
	background: url(../images/chevron_right@2x.png) center / contain no-repeat;
	opacity: 0.5;
	/* chevron_right asset points right; rotate it to face downward */
	transform: rotate(90deg);
	transition: transform 0.2s ease;
}

.faqItem[open] .faqQuestion::after {
	transform: rotate(-90deg);
}

.faqAnswer {
	color: rgba(255, 255, 255, 0.55);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.5;
	padding: 0 0 24px;
}

.faqLink {
	color: #FF9B3A;
	text-decoration: none;
	transition: color 0.15s ease;
}

.faqLink:hover {
	color: #FFB063;
	text-decoration: underline;
}

/* Footer (mirrors the main index.html landing page footer) */
.bottomPanel {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background: #262A2E;
	padding-top: 35px;
	padding-bottom: 35px;
}

.bottomPanelLinkContainer {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 19px;
	color: #FFFFFF;
	margin-left: 20px;
	margin-right: 20px;
	text-align: left;
}

.bottomPanelLink,
.bottomPanelLink:visited {
	color: #FFFFFF;
	text-decoration: none;
}

.bottomPanelLink:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

/* Between the mobile 2-column grid and the width where every link fits on one
   row, a wrapping flex row leaves a ragged, cramped second line. Use a centered
   3-column grid with the mobile row spacing instead. */
@media (min-width: 769px) and (max-width: 1199px) {
	.bottomPanel {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 200px));
		justify-content: center;
		column-gap: 32px;
		row-gap: 8px;
		align-items: start;
		padding-left: 32px;
		padding-right: 32px;
	}

	.bottomPanelLinkContainer {
		min-height: 44px;
		display: flex;
		align-items: flex-start;
		margin-left: 0;
		margin-right: 0;
	}
}

@media (max-width: 768px) {
	.bottomPanel {
		display: grid;
		grid-template-columns: 1fr 1fr;
		row-gap: 8px;
		align-items: start;
		padding-top: 25px;
		padding-bottom: 25px;
		padding-left: 32px;
		padding-right: 32px;
	}

	.bottomPanelLinkContainer {
		min-height: 44px;
		display: flex;
		align-items: flex-start;
		margin-right: 0;
	}
}

/* Browse hub (browse.php): country -> state -> county -> feed navigation.
   The header bar mirrors blog/index.html's .blogHeader. Those rules live in
   public/style.css (the blog's sheet); browse.php uses css/style.css, so they
   are duplicated here. text-align:left overrides the centered feed-page body. */
.blogHeader {
	background: #262A2E;
	padding: 20px 0;
	text-align: left;
	line-height: 1.6;
}

.blogHeaderInner {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 30px;
}

.blogHeaderLink {
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 20px;
	color: #FFFFFF;
	text-decoration: none;
}

.blogHeaderLink:hover,
.blogHeaderLink:visited {
	color: #FFFFFF;
}

.blogHeaderIcon {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	vertical-align: middle;
	margin-right: 8px;
	position: relative;
	top: -1px;
}

.blogHeaderSeparator {
	font-family: 'Lato', sans-serif;
	font-weight: 400;
	font-size: 20px;
	color: rgba(255, 255, 255, 0.4);
	margin: 0 10px;
}

.blogHeaderCurrent,
.blogHeaderCurrent:hover {
	color: rgba(255, 255, 255, 0.5);
	font-weight: 400;
}

.browsePanel {
	flex: 1 0 auto;
	width: 100%;
	background: #2e3236;
}

.browseInner {
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 30px 60px;
	text-align: left;
}

.browseTitle {
	margin: 0;
	color: #FFFFFF;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
}

.browseIntro {
	margin: 12px 0 0;
	color: rgba(255, 255, 255, 0.6);
	font-size: 16px;
	line-height: 1.5;
}

.browseList {
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
}

.browseItem {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.browseLink {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 16px 12px;
	margin: 0 -12px;
	color: #FFFFFF;
	font-size: 17px;
	text-decoration: none;
	border-radius: 8px;
	transition: background-color 0.15s ease;
}

.browseLink:visited {
	color: #FFFFFF;
}

.browseLink:hover {
	background-color: rgba(255, 255, 255, 0.04);
}

.browseLinkChevron {
	flex-shrink: 0;
	width: 10px;
	height: 16px;
	opacity: 0.5;
}
