@media (max-width: 991px) {
	.mido-header__main {
		grid-template-columns: 1fr;
	}
	.mido-cart {
		justify-content: flex-start;
	}
	.product-item {
		flex: 0 0 calc(33.333% - 8px);
		max-width: calc(33.333% - 8px);
	}
	.mido-carousel .product-item {
		flex: 0 0 240px;
		max-width: 240px;
	}
}

@media (max-width: 767px) {
	.mido-header__sticky {
		display: none;
	}
	.mido-mobile-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 12px 15px;
		background: #ffffff;
		box-shadow: 0 2px 10px rgba(0,0,0,0.05);
		position: sticky;
		top: 0;
		z-index: 1100;
	}
	.mido-mobile-header__menu { order: 3; }
	.mido-mobile-header__logo {
		order: 2;
		flex: 1;
		text-align: center;
	}
	.mido-mobile-header__icons {
		order: 1;
	}
	.mido-mobile-header__icons { justify-content: flex-start; }
	.mido-mobile-header__icon {
		width: 42px;
		height: 42px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border: 1px solid rgba(0,0,0,0.08);
		background: #fff;
		border-radius: 12px;
		color: #333;
	}
	.mido-mobile-header__icon i { font-size: 18px; }
	.mido-mobile-header__logo {
		font-size: 20px;
		font-weight: 900;
		color: #ab0f10;
		text-decoration: none;
		letter-spacing: 0.2px;
	}
	.mido-mobile-header__icons {
		display: inline-flex;
		align-items: center;
		gap: 10px;
	}

	.mido-mobile-header__cart #cart > button {
		width: 42px;
		height: 42px;
		padding: 0;
		border: 1px solid rgba(0,0,0,0.08);
		background: #fff;
		border-radius: 12px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
	.mido-mobile-header__cart #cart > button .fa { font-size: 18px; }
	.mido-mobile-header__cart #cart > button #cart-total {
		display: inline-block;
		margin-left: 8px;
		font-size: 12px;
		font-weight: 800;
		color: #333;
	}
	.mido-mobile-header__cart #cart > button {
		width: auto;
		min-width: 42px;
		padding: 0 10px;
	}

	.mido-mobile-search {
		display: none;
		position: sticky;
		top: 66px;
		z-index: 1090;
		background: #ffffff;
		box-shadow: 0 12px 30px rgba(0,0,0,0.08);
		border-bottom: 1px solid rgba(0,0,0,0.06);
	}
	.mido-mobile-search.is-open { display: block; }
	.mido-mobile-search__inner { padding: 12px 15px 14px; }
	.mido-mobile-search__row { display: grid; grid-template-columns: 1fr 88px; gap: 10px; }
	.mido-mobile-search__field {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 12px;
		border: 1px solid rgba(0,0,0,0.12);
		border-radius: 12px;
		background: #fff;
	}
	.mido-mobile-search__field i { color: rgba(0,0,0,0.55); }
	.mido-mobile-search__field input {
		border: 0;
		outline: none;
		width: 100%;
		font-size: 16px;
		background: transparent;
	}
	.mido-mobile-search__btn {
		border: 0;
		border-radius: 12px;
		background: #ab0f10;
		color: #fff;
		font-weight: 800;
		min-height: 44px;
	}
	.mido-mobile-search__suggest {
		margin-top: 10px;
		border: 1px solid rgba(0,0,0,0.10);
		border-radius: 14px;
		overflow: hidden;
		background: #fff;
	}
	.mido-mobile-search__suggest a {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 10px 12px;
		color: #333;
		text-decoration: none;
		border-bottom: 1px solid rgba(0,0,0,0.06);
	}
	.mido-mobile-search__suggest a.mido-suggest {
		gap: 12px;
	}
	.mido-mobile-search__suggest .mido-suggest__img {
		width: 44px;
		height: 44px;
		border-radius: 12px;
		overflow: hidden;
		border: 1px solid rgba(0,0,0,0.08);
		background: #fff;
		flex: 0 0 44px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.mido-mobile-search__suggest .mido-suggest__img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.mido-mobile-search__suggest .mido-suggest__info { flex: 1; min-width: 0; }
	.mido-mobile-search__suggest .mido-suggest__name {
		font-weight: 900;
		font-size: 13px;
		line-height: 1.25;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.mido-mobile-search__suggest .mido-suggest__meta {
		color: rgba(0,0,0,0.55);
		font-size: 12px;
		line-height: 1.2;
		margin-top: 2px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.mido-mobile-search__suggest a:last-child { border-bottom: 0; }
	.mido-mobile-search__suggest a:hover { background: rgba(171, 15, 16, 0.06); color: #ab0f10; }

	.mido-mobile-overlay {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.45);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s ease, visibility 0.25s ease;
		z-index: 1200;
	}
	.mido-mobile-overlay.is-active {
		opacity: 1;
		visibility: visible;
	}

	.mido-side-menu {
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: min(80vw, 320px);
		height: 100%;
		background: #ffffff;
		transform: translateX(-105%);
		transition: transform 0.3s ease;
		z-index: 1210;
		box-shadow: 18px 0 50px rgba(0,0,0,0.18);
		overflow: hidden;
	}
	.mido-side-menu.mido-side-menu--right {
		left: auto;
		right: 0;
		transform: translateX(105%);
		box-shadow: -18px 0 50px rgba(0,0,0,0.18);
	}
	.mido-side-menu.is-open { transform: translateX(0); }
	.mido-side-menu__header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 14px 14px;
		border-bottom: 1px solid rgba(0,0,0,0.06);
	}
	.mido-side-menu__title { font-weight: 900; font-size: 14px; color: #333; }
	.mido-side-menu__title i { margin-right: 8px; color: #ab0f10; }
	.mido-side-menu__close {
		width: 40px;
		height: 40px;
		border-radius: 12px;
		border: 1px solid rgba(0,0,0,0.08);
		background: #fff;
	}
	.mido-side-menu__body { height: calc(100% - 64px); overflow-y: auto; padding: 10px 10px 16px; }
	.mido-side-menu__link {
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px 12px;
		border-radius: 12px;
		color: #333;
		text-decoration: none;
	}
	.mido-side-menu__link:hover { background: rgba(171, 15, 16, 0.06); color: #ab0f10; }
	.mido-side-menu__section { margin-top: 10px; }
	.mido-side-menu__section-title { font-weight: 900; font-size: 12px; color: rgba(0,0,0,0.60); padding: 8px 12px; }
	.mido-side-menu__menu .container { padding: 0; width: 100%; }
	.mido-side-menu__menu #menu { background: transparent; border: 0; }
	.mido-side-menu__menu #menu .navbar-header { display: none; }
	.mido-side-menu__menu #menu .navbar-collapse { display: block !important; padding: 0; border: 0; }
	.mido-side-menu__menu #menu .nav { float: none; }
	.mido-side-menu__menu #menu .nav > li > a { padding: 12px 12px; border-radius: 12px; }
	.mido-side-menu__menu #menu .dropdown-menu { position: static; float: none; box-shadow: none; border: 0; padding: 6px 0 6px 12px; margin: 0; }
	.mido-side-menu__menu #menu .dropdown-menu a { padding: 10px 12px; border-radius: 12px; }
	.mido-side-menu__menu #menu .see-all { display: none; }
	.mido-side-menu__menu #menu .dropdown > a:after {
		content: '\f107';
		font-family: FontAwesome;
		float: right;
		opacity: 0.7;
	}
	.mido-side-menu__menu #menu .dropdown-menu { display: none; background: rgba(0,0,0,0.03); border-radius: 12px; }
	.mido-side-menu__menu #menu .dropdown.is-open > .dropdown-menu { display: block; }

	.mido-topbar__row {
		flex-direction: column;
		align-items: flex-start;
	}
	.mido-product-gallery {
		grid-template-columns: 1fr;
	}
	.mido-product-gallery__aside {
		flex-direction: row;
		align-items: center;
	}
	.mido-product-gallery__thumbs {
		flex-direction: row;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		scrollbar-width: none;
		-ms-overflow-style: none;
		padding: 4px;
	}
	.mido-product-gallery__thumbs::-webkit-scrollbar { width: 0; height: 0; }
	.mido-product-gallery__nav {
		width: 40px;
		height: 40px;
	}
	.mido-product-gallery__thumb {
		width: 74px;
		height: 74px;
	}
	.mido-product-gallery__main {
		aspect-ratio: 1 / 1;
	}
	.mido-gallery-modal__panel {
		width: calc(100% - 24px);
		height: 82vh;
		margin: 8vh auto 0;
		border-radius: 16px;
	}
	.product-item {
		flex: 0 0 calc(50% - 6px);
		max-width: calc(50% - 6px);
	}
	.mido-carousel .product-item {
		flex: 0 0 78%;
		max-width: 78%;
	}
	.product-card {
		padding: 10px;
	}
	.product-card__add {
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.nav-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		white-space: nowrap;
		-webkit-overflow-scrolling: touch;
	}
	.nav-tabs::-webkit-scrollbar { width: 0; height: 0; }

	.mido-footer .row > [class*='col-'] {
		width: 100%;
		float: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.product-item {
		flex: 0 0 calc(33.333% - 8px);
		max-width: calc(33.333% - 8px);
	}
}

@media (max-width: 576px) {
	.container {
		padding-left: 15px;
		padding-right: 15px;
	}
}
