/* -----------------------------------------------------------
 * STEUARD — Grid layout
 *
 * Ported from appizza theme: themes/appizza/src/resources/sass/blocks/menus/_style.scss
 * Scoped under .steuard-grid-layout so plugin styles don't escape.
 *
 * Override colors / divider via CSS custom properties on the wrapper.
 * --------------------------------------------------------- */

.steuard-grid-layout {
	--mc-color-main: #b3261e;
	--mc-color-accent-1: #c8a96a;
	--mc-color-accent-2: #c8a96a;
	--mc-color-divider: var(--mc-color-accent-2);
	--mc-divider-image: none;
	--mc-gap-columns: 3.75rem; /* 60px */
	--mc-gap-list: 3.3125rem;  /* 53px */
	--mc-image-max: 13.75rem;  /* 220px — override per page if you want larger / smaller photos */

	line-height: 1.4;
}

/* ---------- Wrap-level ---------- */

.steuard-grid-layout .steuard-grid-name { /* per-menu title (optional) */
	text-align: center;
	margin-bottom: 2.1875rem;
}

/* ---------- Group intro (group-level subtitle) ---------- */

.steuard-grid-layout .steuard-grid-intro {
	color: var(--mc-color-main);
	-moz-column-gap: 0.625rem;
	     column-gap: 0.625rem;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.15625rem;
	margin-bottom: 2.0625rem;
	text-align: center;
}
.steuard-grid-layout .steuard-grid-intro span { display: inline-block; }

@media (min-width: 576px) and (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-intro { font-size: 1.375rem; }
}
@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-intro { margin-bottom: 1.375rem; }
}
@media (max-width: 575.98px) {
	.steuard-grid-layout .steuard-grid-intro { font-size: 1.25rem; }
}

/* ---------- Group title ---------- */

.steuard-grid-layout .steuard-grid-title {
	font-size: 2.3rem;
	font-weight: 700;
	margin-bottom: 2.1875rem;
}
.steuard-grid-layout .steuard-grid-title.is-center { text-align: center; }

@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-title { margin-bottom: 1rem; }
	.steuard-grid-layout .steuard-grid-title + .steuard-grid-intro { margin-top: -1.375rem; }
}

/* ---------- Group heading (used by single-item special groups) ---------- */

.steuard-grid-layout .steuard-grid-group-heading ~ .steuard-grid-group-heading {
	padding-top: 0.625rem;
}

/* ---------- Menu sections ---------- */

.steuard-grid-layout .steuard-grid-section + .steuard-grid-section {
	-o-border-image: var(--mc-divider-image);
	   border-image: var(--mc-divider-image);
	border-image-slice: 11;
	border-image-repeat: stretch;
	border-top: 4px solid var(--mc-color-divider);
	margin-top: 3.375rem;
	padding-top: 3.375rem;
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.steuard-grid-layout .steuard-grid-section + .steuard-grid-section { border-image-slice: 40; }
}
@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-section + .steuard-grid-section {
		border-image-slice: 80;
		margin-top: 2.125rem;
		padding-top: 2.125rem;
	}
}
@media (max-width: 575.98px) {
	.steuard-grid-layout .steuard-grid-section + .steuard-grid-section { border-image-slice: 100; }
}

/* ---------- Columns ---------- */

.steuard-grid-layout .steuard-grid-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-column-gap: var(--mc-gap-columns);
	-moz-column-gap: var(--mc-gap-columns);
	     column-gap: var(--mc-gap-columns);
}
.steuard-grid-layout .steuard-grid-columns.steuard-grid-columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.steuard-grid-layout .steuard-grid-columns { -moz-column-gap: 3.125rem; column-gap: 3.125rem; }
}
@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-columns,
	.steuard-grid-layout .steuard-grid-columns.steuard-grid-columns-2 {
		grid-template-columns: minmax(0, 1fr);
	}
}

.steuard-grid-layout .steuard-grid-centered { text-align: center; }

/* ---------- Items ---------- */

.steuard-grid-layout .steuard-grid-column {
	padding-bottom: 0.125rem;
}

.steuard-grid-layout .steuard-grid-item {
	margin-bottom: var(--mc-gap-list);
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.steuard-grid-layout .steuard-grid-item { margin-bottom: 2.0625rem; }
}
@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-item { margin-bottom: 1.4375rem; }
}

.steuard-grid-layout .steuard-grid-item-heading {
	display: flex;
	font-size: 1.5rem;
	line-height: 1.333333;
	-moz-column-gap: 1.25rem;
	     column-gap: 1.25rem;
}
.steuard-grid-layout .steuard-grid-item-heading.steuard-grid-justify-center { justify-content: center; }
.steuard-grid-layout .steuard-grid-flex { display: flex; }
.steuard-grid-layout .steuard-grid-align-start { align-items: flex-start; }
.steuard-grid-layout .steuard-grid-justify-center { justify-content: center; }
.steuard-grid-layout .steuard-grid-flex-fill { flex: 1 1 auto; }

@media (min-width: 768px) and (max-width: 991.98px) {
	.steuard-grid-layout .steuard-grid-item-heading { font-size: 1.375rem; }
}
@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-item-heading { font-size: 1.25rem; }
}

.steuard-grid-layout .steuard-grid-item-name {
	font-weight: bold;
	letter-spacing: 0.15625rem;
	text-transform: uppercase;
}
@media (max-width: 575.98px) {
	.steuard-grid-layout .steuard-grid-item-name { word-break: break-word; }
}

.steuard-grid-layout .steuard-grid-item-price {
	white-space: nowrap;
}

.steuard-grid-layout .steuard-grid-item-sizeprice-name {
	font-size: 0.7em;
	opacity: 0.8;
	margin-right: 0.15em;
	text-transform: uppercase;
}

.steuard-grid-layout .steuard-grid-item-sizeprice-div {
	padding: 0 0.2em;
	opacity: 0.6;
}

.steuard-grid-layout .steuard-grid-item-desc {
	font-size: 1.375rem;
	line-height: 1.64;
	padding-top: 0.25rem;
}
@media (min-width: 768px) and (max-width: 991.98px) {
	.steuard-grid-layout .steuard-grid-item-desc { font-size: 1.25rem; }
}
@media (max-width: 767.98px) {
	.steuard-grid-layout .steuard-grid-item-desc { font-size: 1.125rem; }
}

/* ---------- Image / tags / calories ---------- */

.steuard-grid-layout .steuard-grid-item-image {
	text-align: center;
}
.steuard-grid-layout .steuard-grid-item-image img {
	display: block;
	width: 100%;
	max-width: var(--mc-image-max);
	height: auto;
	margin: 0 auto 0.75rem;
	border-radius: 6px;
}

/* Tags flow inline with the item name and wrap onto the next row when needed. */
.steuard-grid-layout .steuard-grid-item-tags {
	display: inline;
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 0.375rem;
}
.steuard-grid-layout .steuard-grid-item-tag {
	display: inline-block;
	margin: 0.125rem 0.25rem 0.125rem 0;
	padding: 0.25rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	background-color: #eaeaea;
	border-radius: 999px;
	vertical-align: middle;
}

/* Calories flow inline after the tags, wrapping to a new row when needed. */
.steuard-grid-layout .steuard-grid-item-calories {
	display: inline-block;
	margin: 0.125rem 0 0.125rem 0.375rem;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: #666;
	vertical-align: middle;
}
.steuard-grid-layout .steuard-grid-item-calories span {
	margin-left: 0.125rem;
	font-size: 0.625rem;
}

