@media (max-width: 768px), (hover: none) and (pointer: coarse) {
	/* Mobile: use native/default scrollbars (remove custom styling) */
	html {
		scrollbar-width: auto;
		scrollbar-color: auto;
	}
	.scrollbar-thin {
		scrollbar-width: auto !important;
		scrollbar-color: auto !important;
	}
	html::-webkit-scrollbar,
	.scrollbar-thin::-webkit-scrollbar {
		width: initial !important;
		height: initial !important;
	}
	html::-webkit-scrollbar-track,
	.scrollbar-thin::-webkit-scrollbar-track {
		background: initial !important;
		border-radius: initial !important;
	}
	html::-webkit-scrollbar-thumb,
	.scrollbar-thin::-webkit-scrollbar-thumb {
		background: initial !important;
		border-radius: initial !important;
		border: initial !important;
	}
	html::-webkit-scrollbar-thumb:hover,
	.scrollbar-thin::-webkit-scrollbar-thumb:hover {
		background: initial !important;
	}

	.content-card,
	.logo-card,
	.subpage-nav-cta,
	.cookie-popup,
	.cookie-accept,
	section,
	select,
	.org-btn,
	.search-input {
		border-radius: 2vw !important;
	}

	.subpage-nav-cta {
		padding: 1vw;
		font-size: max(18px, 2.3vh);
		width: 100% !important;
		margin-left: 0 !important;
	}

	.cookie-text {
		font-size: max(15px, 3.4vw);
	}
	.cookie-accept {
		font-size: max(15px, 3.4vw);
		padding: 1vw;
	}
	.cookie-popup {
		padding: 1vw !important;
		bottom: 2vw;
		right: 2vw;
		gap: 1vw;
	}

	/* When cookie popup is visible, add extra scroll room so the bottom credit
	   can be scrolled above the fixed popup (works with iOS #scrollWrapper too). */
	html.cookie-popup-visible body,
	html.cookie-popup-visible .scroll-wrapper {
		padding-bottom: 5vh;
		box-sizing: border-box;
	}

	.main-content {
		padding: 10vh 5vw 3vh 5vw;
		margin: 0 auto;
	}

	/* Stack left and right columns on mobile */
	.merged-content {
		flex-direction: column !important;
	}
	
	.left-column,
	.right-column {
		max-width: 100% !important;
		width: 100% !important;
	}
	
	/* Keep search icon next to title when collapsed */
	.right-column-header {
		flex-wrap: nowrap !important;
		gap: 0;
	}
	
	/* When expanded, move search below title */
	.right-column-header.search-expanded,
	.right-column-header:has(.search-input:not(.is-collapsed)) {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	
	.right-column-header.search-expanded .section-title,
	.right-column-header:has(.search-input:not(.is-collapsed)) .section-title {
		width: 100% !important;
	}
	
	.right-column-header.search-expanded .search-bar,
	.right-column-header:has(.search-input:not(.is-collapsed)) .search-bar {
		width: 100% !important;
	}
	
	.right-column-header.search-expanded .search-input,
	.right-column-header:has(.search-input:not(.is-collapsed)) .search-input {
		width: 100% !important;
		margin: 0 !important;
	}
	
	.right-column-header .search-input {
		margin: 0 !important;
	}
	
	#orgSearch {
		font-size: max(18px, 3vh) !important;
	}
	
	/* Regions list: keep a single consistent column on mobile */
	.sections-grid {
		display: block !important;
	}
	.sections-grid .col {
		width: 100% !important;
		min-width: 0;
		display: flex;
		flex-direction: column;
		gap: 2vh;
		margin-bottom: 0;
	}
	
	.merged-content {
		gap: 3vh;
	}
	
	.content-card {
		margin-bottom: 3vh;
	}
	
	.section-title {
		font-size: max(22px, 3vh);
		margin: 0 0 2vh 0;
		padding: 0 0 1vh 0;
		font-weight: 750;
	}
	
	.logo-card {
		padding: 2vh;
		grid-template-columns: 20vw 1fr; /* match smaller logo */
		margin: 2vh;
		box-sizing: border-box;
	}
	.logo-frame {
		width: 20vw;
	}
	.logo-card .org-info {
		gap: 1vh;
		display: flex; /* override desktop grid for stacking */
		flex-direction: column; /* stack name then actions */
		align-items: center;
		width: 100%;
	}
	.logo-card .org-actions {
		display: flex;
		flex-direction: row;
		align-items: stretch;
		gap: 2vw; /* internal gap token */
		justify-content: flex-start; /* default; overridden for stretching */
		flex-wrap: wrap;
		width: 100%;
		box-sizing: border-box;
	}
	.logo-card .org-actions .org-btn {
		width: auto; /* natural width */
		text-align: center;
		padding: 1vw;
	}
	/* Stretch non-placeholder actions: buttons share full row width */
	.logo-card:not(.placeholder) .org-actions {
		justify-content: space-between; /* distribute buttons across padded width */
	}
	.logo-card:not(.placeholder) .org-actions .org-btn {
		flex: 1 1 auto; /* grow evenly while respecting content */
		text-align: center;
		min-width: 0; /* allow shrink to avoid overflow */
	}
	/* Hide placeholder logo column & expand content */
	.logo-card.placeholder {
		grid-template-columns: 1fr; /* remove logo column */
	}
	.logo-card.placeholder .logo-frame {
		display: none;
	}
	.org-btn {
		width: auto !important;
	}

	/* Mobile/touch: remove hover animations for region action buttons (prevents sticky iOS :hover) */
	.org-btn {
		transition: none !important;
		background-size: 0% 100% !important;
	}
	.org-btn:hover,
	.org-btn:focus {
		background-size: 0% 100% !important;
		box-shadow: 0 1px 4px 0 var(--border-color) !important;
	}
	
	/* Let height be intrinsic; remove forced 43px so square icon size controls height */
	.search-bar, .search-input {
		height: auto;
		margin: 0 0 2vh 0 !important;
	}
	.search-input {
		width: 20rem;
		margin: 0 !important;
	}
	.search-input.is-collapsed {
		margin: 0 0 2vh 5vw !important;
	}
	/* .sections-grid is block on mobile */
	h2 {
		text-align: center;
	}

	/* Mobile typography: bump minimums while keeping existing vh/vw scale */
	.sections-grid p {
		font-size: max(19px, 2.5vh);
	}
	/* Card section headers */
	h2 {
		font-size: max(21px, 2.5vh);
	}
	.logo-card .org-name {
		font-size: max(19px, 2.2vh);
	}
	.org-btn {
		font-size: max(18px, 2vh);
	}
	.content-card .card-title {
		font-size: max(21px, 2.5vh);
	}
	.content-card .card-content p {
		font-size: max(18px, 2.3vh);
	}
	.content-list li {
		font-size: max(18px, 2.3vh);
	}
	.content-list li::before {
		font-size: max(24px, 3.2vh);
	}
	.content-list .content-list li::before {
		font-size: max(18px, 2.3vh);
	}

	.site-credit {
		font-size: max(12px, 1.5vh);
	}
	.logo-card.placeholder .org-actions {
		justify-content: center;
	}
	
	body > .site-credit {
		display: none;
	}
}