/* Recipe Box Meal Planner — front-end styles */

.rbmp-planner,
.rbmp-shopping-list {
	margin: 1.5em 0;
	font-size: 15px;
}

.rbmp-planner-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1em;
	gap: 1em;
}

.rbmp-week-label {
	font-weight: 600;
}

.rbmp-days {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 10px;
}

@media (max-width: 900px) {
	.rbmp-days {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 500px) {
	.rbmp-days {
		grid-template-columns: 1fr;
	}
}

.rbmp-day {
	border: 1px solid #ddd;
	border-radius: 6px;
	padding: 10px;
	background: #fafafa;
}

.rbmp-day h3 {
	margin: 0 0 8px;
	font-size: 14px;
}

.rbmp-day-meals {
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
}

.rbmp-planned-meal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	border-bottom: 1px solid #eee;
}

.rbmp-meal-slot-badge {
	font-size: 11px;
	text-transform: uppercase;
	color: #666;
	background: #eee;
	border-radius: 3px;
	padding: 1px 5px;
}

.rbmp-people-badge {
	font-size: 12px;
	color: #555;
}

.rbmp-remove-meal {
	margin-left: auto;
	color: #b32d2e;
	font-size: 16px;
	line-height: 1;
}

.rbmp-add-meal-btn {
	width: 100%;
}

.rbmp-add-meal-holder {
	margin-top: 8px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	padding: 8px;
}

.rbmp-add-meal-holder p {
	margin: 6px 0;
}

.rbmp-people-fields label {
	margin-right: 10px;
}

.rbmp-recipe-search input {
	width: 100%;
}

.rbmp-shopping-items {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 640px;
}

.rbmp-aisle-heading {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 12px;
	color: #888;
	margin-top: 14px;
	border-bottom: 1px solid #ddd;
	padding-bottom: 4px;
}

.rbmp-shopping-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	border-bottom: 1px solid #f0f0f0;
}

.rbmp-shopping-item.rbmp-checked span:not(.rbmp-item-cost) {
	text-decoration: line-through;
	color: #999;
}

.rbmp-item-cost {
	margin-left: auto;
	color: #555;
	font-size: 13px;
	white-space: nowrap;
}

.rbmp-shopping-totals {
	margin-top: 16px;
	padding-top: 10px;
	border-top: 2px solid #333;
	max-width: 640px;
}

.rbmp-error {
	color: #b32d2e;
}

.rbmp-login-notice {
	background: #fff8e1;
	border: 1px solid #f0c36d;
	padding: 10px;
	border-radius: 4px;
}

/* Single recipe display */
.rbmp-recipe-info {
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 6px;
	padding: 16px 20px;
	margin-bottom: 24px;
}

.rbmp-recipe-times span {
	margin-right: 16px;
	font-weight: 600;
}

.rbmp-ingredient-list {
	margin: 0 0 10px;
}

.rbmp-estimated-cost {
	font-weight: 600;
}

.rbmp-add-to-plan-widget {
	margin-top: 12px;
}

.rbmp-add-to-plan-form {
	margin-top: 10px;
	padding: 10px;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 4px;
	max-width: 360px;
}
