/**
 * Maiyo Donations — mobile & tablet responsive layout
 */

/* Prevent horizontal scroll from full-bleed / wide grids */
.maiyo-donations-page,
.maiyo-donation-checkout-page {
	overflow-x: clip;
}

.maiyo-donations-page .maiyo-container,
.maiyo-donation-checkout-page .maiyo-dc {
	width: 100%;
}

/* ——— Tablet (≤1024px) ——— */
@media (max-width: 1024px) {
	.maiyo-archive-hero {
		padding: 64px 0 72px;
	}

	.maiyo-archive-hero__inner {
		padding: 0 20px;
	}

	.maiyo-archive-body {
		margin-top: -36px;
		padding-bottom: 56px;
	}

	.maiyo-single-body {
		padding: 40px 20px 64px;
	}

	.maiyo-glass {
		padding: 28px 24px;
	}

	.maiyo-hero {
		min-height: 440px;
	}

	.maiyo-hero__content {
		padding: 56px 24px 64px;
		gap: 32px;
	}

	.maiyo-donate-widget--hero,
	.maiyo-donate-widget--panel {
		padding: 22px 20px;
	}
}

/* ——— Mobile landscape / large phone (≤768px) ——— */
@media (max-width: 768px) {
	.maiyo-full-bleed {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	.maiyo-container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.maiyo-donations-page.maiyo-width-full .maiyo-archive-body,
	.maiyo-donations-page.maiyo-width-full .maiyo-single-body,
	.maiyo-donations-page.maiyo-width-full .maiyo-minimal-donate-wrap {
		padding-left: 16px;
		padding-right: 16px;
	}

	.maiyo-archive-hero {
		padding: 48px 0 56px;
	}

	.maiyo-archive-hero h1 {
		font-size: clamp(1.65rem, 7vw, 2.25rem);
	}

	.maiyo-archive-hero__lead {
		font-size: 1rem;
		margin-bottom: 20px;
	}

	.maiyo-archive-hero__badges span {
		font-size: 0.72rem;
		padding: 6px 12px;
	}

	.maiyo-archive-body {
		margin-top: -28px;
	}

	.maiyo-hero {
		min-height: auto;
	}

	.maiyo-hero__content {
		padding: 40px 16px 48px;
		gap: 24px;
	}

	.maiyo-hero__title {
		font-size: clamp(1.5rem, 6.5vw, 2rem);
		margin-top: 8px;
	}

	.maiyo-hero__excerpt {
		font-size: 0.95rem;
		margin-bottom: 20px;
	}

	.maiyo-hero__metrics {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.maiyo-metric {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 14px;
	}

	.maiyo-metric__value {
		font-size: 1.1rem;
	}

	.maiyo-metric__label {
		font-size: 0.65rem;
		text-align: right;
	}

	.maiyo-share--hero {
		margin: 12px 0 16px;
	}

	.maiyo-share__buttons {
		gap: 8px;
	}

	.maiyo-share-btn {
		padding: 8px 12px;
		font-size: 0.8rem;
	}

	.maiyo-share-btn__text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	.maiyo-chip-grid,
	.maiyo-donation-form--compact .maiyo-chip-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 8px;
	}

	.maiyo-chip {
		min-height: 56px;
		padding: 10px 6px;
	}

	.maiyo-chip__value {
		font-size: 0.95rem;
	}

	.maiyo-custom-input {
		font-size: 1.25rem;
		padding: 12px 14px;
	}

	.maiyo-btn {
		padding: 14px 20px;
		font-size: 0.95rem;
	}

	.maiyo-payment-icons {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}

	.maiyo-single-body {
		padding: 32px 0 48px;
	}

	.maiyo-single-layout {
		gap: 20px;
	}

	.maiyo-glass {
		padding: 20px 16px;
		border-radius: 16px;
	}

	.maiyo-section-title {
		font-size: 1.25rem;
		margin-bottom: 16px;
	}

	.maiyo-prose {
		font-size: 0.95rem;
	}

	.maiyo-prose img,
	.maiyo-elementor-campaign-content img {
		max-width: 100%;
		height: auto;
	}

	.maiyo-elementor-campaign-content {
		padding: 0;
	}

	.maiyo-minimal-donate-wrap {
		margin-top: -24px;
		padding-bottom: 24px;
	}

	.maiyo-sidebar-panel {
		padding: 20px 16px;
	}

	.maiyo-funding-chart {
		width: 140px;
		height: 140px;
	}

	.maiyo-funding-chart__pct {
		font-size: 1.45rem;
	}

	.maiyo-sidebar-funding__row {
		padding: 10px 12px;
	}

	.maiyo-donor-wall--inline {
		padding: 16px;
		margin-top: 16px;
	}

	.maiyo-donor-wall__list {
		max-height: min(45vh, 360px);
	}

	.maiyo-donor-wall-fallback {
		padding-left: 16px;
		padding-right: 16px;
	}

	.maiyo-milestones {
		padding: 14px 12px;
		margin-top: 16px;
	}

	.maiyo-milestone__summary .maiyo-milestone__title {
		white-space: normal;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-overflow: unset;
	}

	.maiyo-milestone__date {
		white-space: normal;
		font-size: 0.62rem;
	}

	.maiyo-campaign-card__body {
		padding: 16px;
	}

	.maiyo-campaign-card__title {
		font-size: 1.05rem;
	}

	.maiyo-campaign-list-item {
		grid-template-columns: 88px 1fr;
		grid-template-areas:
			"thumb content"
			"action action";
		gap: 12px;
		padding: 12px;
	}

	.maiyo-campaign-list-item__thumb {
		grid-area: thumb;
	}

	.maiyo-campaign-list-item__body {
		grid-area: content;
		min-width: 0;
	}

	.maiyo-campaign-list-item__action {
		grid-area: action;
		min-width: 0;
		width: 100%;
	}

	.maiyo-campaign-list-item__action .maiyo-btn {
		width: 100%;
	}

	.maiyo-campaign-list-item__thumb img {
		width: 88px;
		height: 72px;
	}

	.maiyo-wc-notices {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ——— Small phone (≤480px) ——— */
@media (max-width: 480px) {
	.maiyo-archive-hero__inner {
		padding: 0 16px;
	}

	.maiyo-pill {
		font-size: 0.62rem;
		padding: 5px 10px;
	}

	.maiyo-hero__content {
		padding: 32px 12px 40px;
	}

	.maiyo-chip-grid,
	.maiyo-donation-form--compact .maiyo-chip-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.maiyo-donate-widget--hero,
	.maiyo-donate-widget--panel,
	.maiyo-donate-widget--compact {
		padding: 18px 14px;
		border-radius: 16px;
	}

	.maiyo-glass {
		padding: 16px 14px;
	}

	.maiyo-share-btn {
		padding: 10px;
		border-radius: 50%;
		width: 40px;
		height: 40px;
		justify-content: center;
	}

	.maiyo-campaign-list-item {
		grid-template-columns: 1fr;
		grid-template-areas:
			"thumb"
			"content"
			"action";
	}

	.maiyo-campaign-list-item__thumb img {
		width: 100%;
		height: 140px;
	}

	.maiyo-milestones--timeline-v .maiyo-milestones__list {
		padding-left: 18px;
	}

	.maiyo-milestones--timeline-v .maiyo-milestone__dot {
		left: -17px;
	}
}

/* ——— Donation checkout ——— */
@media (max-width: 900px) {
	.maiyo-donation-checkout-page {
		padding: 1.25rem 0.75rem 2.5rem;
	}

	.maiyo-dc__hero {
		margin-bottom: 1rem;
		text-align: left;
	}

	.maiyo-dc__lead {
		margin-left: 0;
		margin-right: 0;
	}
}

@media (max-width: 768px) {
	.maiyo-dc-form .form-row-first,
	.maiyo-dc-form .form-row-last,
	.maiyo-dc-form .form-row-wide {
		float: none;
		width: 100%;
		margin-right: 0;
	}

	.maiyo-dc-form .woocommerce-checkout-review-order-table th,
	.maiyo-dc-form .woocommerce-checkout-review-order-table td {
		display: block;
		width: 100%;
		padding: 0.35rem 0;
		border-top: none;
	}

	.maiyo-dc-form .woocommerce-checkout-review-order-table tr {
		display: block;
		padding: 0.5rem 0;
		border-top: 1px solid var(--maiyo-dc-border);
	}

	.maiyo-dc-form .woocommerce-checkout-review-order-table tr:first-child {
		border-top: 0;
	}

	.maiyo-dc-form .woocommerce-checkout-review-order-table .order-total th,
	.maiyo-dc-form .woocommerce-checkout-review-order-table .order-total td {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		padding-top: 0.75rem;
		border-top: 2px solid var(--maiyo-dc-border);
	}

	.maiyo-dc-form #payment .payment_methods li {
		padding: 0.55rem 0.65rem;
	}

	.maiyo-dc-form #place_order {
		padding: 0.85rem 1rem;
		min-height: 48px;
		font-size: 1rem;
	}
}

@media (max-width: 480px) {
	.maiyo-donation-checkout-page {
		padding: 1rem 0.65rem 2rem;
	}

	.maiyo-dc-card__head {
		padding: 0.75rem 0.85rem;
		flex-wrap: wrap;
	}

	.maiyo-dc-card__title {
		font-size: 1rem;
	}

	.maiyo-dc-card__body {
		padding: 0.85rem 0.85rem 1rem;
	}

	.maiyo-dc-form input[type="text"],
	.maiyo-dc-form input[type="email"],
	.maiyo-dc-form input[type="tel"],
	.maiyo-dc-form input[type="number"],
	.maiyo-dc-form select,
	.maiyo-dc-form textarea {
		font-size: 16px; /* avoids iOS zoom on focus */
	}

	.maiyo-dc-summary__campaign {
		font-size: 0.9rem;
		word-break: break-word;
	}
}

/* Safe area for notched phones */
@supports (padding: max(0px)) {
	.maiyo-donations-page .maiyo-container,
	.maiyo-donation-checkout-page .maiyo-dc {
		padding-left: max(16px, env(safe-area-inset-left));
		padding-right: max(16px, env(safe-area-inset-right));
	}

	.maiyo-donation-checkout-page {
		padding-bottom: max(2rem, env(safe-area-inset-bottom));
	}
}
