/**
 * Matsuri Responsive Styles
 *
 * Unified breakpoints and fluid layout rules.
 * Breakpoints: 480px / 768px / 900px / 1024px
 *
 * @since 1.1.0
 * @package WAM_Matsuri
 */

/* === Container fluid width === */
.site-content,
.woocommerce-MyAccount-content {
	max-width: 100%;
	box-sizing: border-box;
}

/* === Responsive spacing adjustments === */

/* Large screens (1024px+): default spacing from tokens */

/* Medium screens */
@media (max-width: 1024px) {
	:root {
		--wam-space-lg: 20px;
		--wam-space-xl: 28px;
		--wam-space-2xl: 36px;
	}
}

/* Tablet */
@media (max-width: 768px) {
	:root {
		--wam-space-lg: 18px;
		--wam-space-xl: 24px;
		--wam-space-2xl: 32px;
	}

	/* Stack card layouts */
	.wam-card-body {
		padding: var(--wam-space-md);
	}

	.wam-card-header {
		padding: var(--wam-space-sm) var(--wam-space-md);
	}
}

/* Small screens */
@media (max-width: 480px) {
	:root {
		--wam-space-lg: 16px;
		--wam-space-xl: 20px;
		--wam-space-2xl: 28px;
	}

	/* Tighten body padding */
	.wam-card-body {
		padding: var(--wam-space-sm);
	}

	.wam-card-header {
		padding: var(--wam-space-xs) var(--wam-space-sm);
	}

	/* Full-width buttons on small screens */
	.wam-btn {
		width: 100%;
		justify-content: center;
	}

	/* Ensure minimum touch targets */
	.wam-btn,
	button,
	a.button,
	input[type="submit"] {
		min-height: 44px;
	}
}

/* === Fluid table wrapper === */
.wam-table-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
	.wam-table-wrapper table {
		min-width: 600px;
	}
}

/* === Responsive grid helpers === */
.wam-grid {
	display: grid;
	gap: var(--wam-space-md);
}

.wam-grid-2 {
	grid-template-columns: repeat(2, 1fr);
}

.wam-grid-3 {
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 768px) {
	.wam-grid-3 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.wam-grid-2,
	.wam-grid-3 {
		grid-template-columns: 1fr;
	}
}

/* === Header & Navigation (responsive) === */

@media (max-width: 768px) {
	.site-header-inner {
		flex-wrap: wrap;
		gap: var(--wam-space-sm);
	}

	.main-navigation ul {
		flex-direction: column;
		gap: var(--wam-space-xs);
	}

	.main-navigation {
		order: 3;
		width: 100%;
	}

	.site-branding {
		flex: 1;
	}
}

@media (max-width: 480px) {
	.site-header-inner {
		padding: var(--wam-space-sm);
	}

	.main-navigation a {
		padding: var(--wam-space-sm);
		display: block;
	}
}
