
/* ===============================================
   RESPONSIVE ENHANCEMENTS FOR ALL DEVICES
   =============================================== */

/* Touch-friendly button sizing for mobile */
@media screen and (max-width: 736px) {
	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		min-height: 44px;
		min-width: 44px;
		font-size: 0.75em;
		padding: 0 1.5em;
	}

	/* Improve form field sizing for better mobile UX */
	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	select,
	textarea {
		font-size: 16px; /* Prevents zoom on iOS */
		padding: 0.75em 1em;
		width: 100%;
	}

	/* Better spacing for form fields */
	.field {
		margin-bottom: 1.25em;
	}

	/* Optimize tables for mobile */
	table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

/* Extra small mobile devices */
@media screen and (max-width: 360px) {
	/* Reduce padding on containers */
	.inner {
		padding-left: 1em !important;
		padding-right: 1em !important;
	}

	/* Ensure readable text */
	body, input, select, textarea {
		font-size: 11pt;
	}

	/* Adjust button padding */
	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		padding: 0 1.25em;
		font-size: 0.7em;
	}
}

/* Tablet landscape optimizations */
@media screen and (min-width: 737px) and (max-width: 1280px) {
	/* Better content width management */
	.inner {
		max-width: 90%;
		margin: 0 auto;
	}

	/* Optimize image sizing */
	img {
		max-width: 100%;
		height: auto;
	}
}

/* Large desktop screens - prevent excessive width */
@media screen and (min-width: 1681px) {
	.inner {
		max-width: 1400px;
		margin: 0 auto;
	}

	#banner .inner {
		max-width: 1200px;
	}
}

/* Improve touch targets for all interactive elements */
@media (hover: none) and (pointer: coarse) {
	/* Touch device specific styles */
	a, button, input[type="submit"], input[type="button"], .button {
		min-height: 44px;
		min-width: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	/* Increase spacing between clickable elements */
	nav a {
		margin: 0 0.25em;
	}
}

/* Improve image responsiveness */
img {
	max-width: 100%;
	height: auto;
}

/* Ensure overflow handling */
body {
	overflow-x: hidden;
}

/* Better video/iframe responsiveness */
iframe,
video,
embed {
	max-width: 100%;
	height: auto;
}

/* Responsive utility classes */
.hide-mobile {
	display: none !important;
}

@media screen and (min-width: 737px) {
	.hide-mobile {
		display: block !important;
	}
	.hide-desktop {
		display: none !important;
	}
}

/* Print styles */
@media print {
	.floating-donation-button,
	#ai-float-btn,
	#header,
	#menu {
		display: none !important;
	}
}
