@media screen and (max-width: 760px) {
	body {
		padding-bottom: 104px;
	}

	body.vms-mobile-menu-open,
	body.vms-cat-mobile-open {
		overflow: hidden;
	}

	.site-footer {
		padding-bottom: 96px;
	}

	.vms-mobile-bottom-nav {
		align-items: end;
		background: rgb(255 255 255 / 94%);
		backdrop-filter: blur(14px);
		border: 1px solid var(--vms-sky-100);
		border-radius: 28px;
		bottom: 14px;
		box-shadow: 0 18px 40px rgb(18 32 51 / 16%);
		display: grid;
		grid-template-columns: repeat(5, minmax(0, 1fr));
		left: 50%;
		max-width: min(420px, calc(100vw - 20px));
		padding: 10px 12px 12px;
		position: fixed;
		transform: translateX(-50%);
		width: calc(100vw - 20px);
		z-index: 70;
	}

	.vms-mobile-bottom-link {
		align-items: center;
		background: transparent;
		border: 0;
		color: var(--vms-ink-900);
		display: inline-flex;
		flex-direction: column;
		font: inherit;
		gap: 6px;
		justify-content: center;
		min-height: 25px;
		padding: 0;
		text-decoration: none;
	}

	.vms-mobile-bottom-icon {
		align-items: center;
		display: inline-flex;
		height: 20px;
		justify-content: center;
		width: 20px;
	}

	.vms-mobile-bottom-icon svg {
		display: block;
		height: 20px;
		width: 20px;
	}

	.vms-mobile-bottom-label {
		display: none;
	}

	.vms-mobile-bottom-link.is-active {
		position: relative;
	}

	.vms-mobile-bottom-link.is-active::after {
		background: var(--vms-sun-500);
		border-radius: 999px;
		bottom: -6px;
		content: "";
		height: 3px;
		left: 50%;
		position: absolute;
		transform: translateX(-50%);
		width: 26px;
	}

	.vms-mobile-bottom-link.is-accent {
		background: var(--vms-sun-500);
		border-radius: 999px;
		box-shadow: 0 14px 22px rgb(250 204 21 / 34%);
		color: #fff;
		height: 50px;
		justify-self: center;
		margin-top: -20px;
		width: 50px;
	}

	.vms-mobile-bottom-link.is-accent .vms-mobile-bottom-icon {
		height: 20px;
		width: 20px;
	}

	.vms-mobile-bottom-link.is-accent .vms-mobile-bottom-icon svg {
		height: 20px;
		width: 20px;
	}

	.vms-mobile-menu-overlay {
		background: rgb(7 18 34 / 44%);
		inset: 0;
		opacity: 1;
		position: fixed;
		transition: opacity 0.26s ease;
		z-index: 71;
	}

	.vms-mobile-menu-overlay[hidden] {
		display: none;
	}

	.vms-mobile-menu-drawer.is-closing + .vms-mobile-menu-overlay,
	.vms-mobile-menu-shell.is-closing .vms-mobile-menu-overlay {
		opacity: 0;
	}

	.vms-mobile-menu-drawer {
		border-radius: 28px 28px 0 0;
		bottom: 0;
		box-shadow: 0 -16px 40px rgb(18 32 51 / 18%);
		left: 0;
		max-height: min(76vh, 700px);
		max-width: none;
		opacity: 1;
		overflow-y: auto;
		padding: 20px 18px 20px;
		position: fixed;
		right: 0;
		top: auto;
		transform: translateY(100%);
		transition: transform 0.28s ease;
		visibility: visible;
		width: auto;
		z-index: 72;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.vms-mobile-menu-drawer::-webkit-scrollbar {
		display: none;
	}

	.vms-mobile-menu-drawer.is-mobile-open,
	.vms-mobile-menu-shell.is-open .vms-mobile-menu-drawer {
		opacity: 1;
		transform: translateY(0);
		visibility: visible;
	}

	.vms-mobile-menu-drawer.is-closing,
	.vms-mobile-menu-shell.is-closing .vms-mobile-menu-drawer {
		opacity: 1;
		transform: translateY(100%);
		visibility: visible;
	}

	.vms-mobile-menu-head {
		align-items: center;
		display: flex;
		justify-content: flex-start;
		margin-bottom: 18px;
		padding-right: 52px;
		position: static;
	}

	.vms-mobile-menu-head strong {
		color: var(--vms-ink-900);
		font-size: 1.1rem;
	}

	.vms-mobile-menu-close {
		align-items: center;
		background: #fff;
		border: 1px solid var(--vms-sky-100);
		border-radius: 999px;
		color: var(--vms-ink-900);
		cursor: pointer;
		display: inline-flex;
		font-size: 1.4rem;
		height: 38px;
		justify-content: center;
		position: absolute;
		right: 18px;
		top: 18px;
		padding: 0;
		width: 38px;
		z-index: 4;
	}

	.vms-mobile-menu-list a {
		background: #fff;
		border: 1px solid var(--vms-sky-100);
		border-radius: 18px;
		color: var(--vms-ink-900);
		display: block;
		font-weight: 700;
		padding: 14px 16px;
		text-decoration: none;
	}

	.vms-mobile-menu-section {
		margin-top: 18px;
	}

	.vms-mobile-search-section {
		margin-top: 24px;
	}

	.vms-mobile-search-form {
		display: grid;
		gap: 10px;
	}

	.vms-mobile-search-input {
		background: #fff;
		border: 1px solid var(--vms-sky-100);
		border-radius: 16px;
		color: var(--vms-ink-900);
		font: inherit;
		min-height: 46px;
		padding: 0 14px;
		width: 100%;
	}

	.vms-mobile-search-input::placeholder {
		color: var(--vms-muted-500);
	}

	.vms-mobile-search-submit {
		align-items: center;
		background: var(--vms-sun-500);
		border: 0;
		border-radius: 16px;
		color: #fff;
		cursor: pointer;
		display: inline-flex;
		font: inherit;
		font-weight: 500;
		justify-content: center;
		min-height: 44px;
		padding: 0 16px;
	}


	.vms-mobile-menu-list {
		display: grid;
		gap: 10px;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.vms-mobile-menu-list li {
		margin: 0;
	}

	.vms-mobile-menu-drawer .vms-category-root-list {
		list-style: none;
		margin: 0;
		padding: 0;
	}



	.vms-mobile-menu-drawer .vms-category-root-button,
	.vms-mobile-menu-drawer .vms-category-root-link {
		background: #fff;
        border-radius: 18px;
        color: var(--vms-ink-900);
        padding: 12px 10px;
	}

	.vms-mobile-menu-drawer .vms-category-screen-head {
		align-items: center;
		display: flex;
		gap: 10px;
		justify-content: space-between;
		margin-bottom: 16px;
		padding-right: 52px;
		position: static;
	}

	.vms-mobile-menu-drawer .vms-category-back {
		align-items: center;
		background: #fff;
		border-radius: 999px;
		color: var(--vms-ink-900);
		display: inline-flex;
		font: inherit;
		font-weight: 700;
		gap: 8px;
		padding: 10px 14px;
	}

	.vms-mobile-menu-drawer .vms-category-branch-body {
		margin-bottom: 12px;
	}

	.vms-mobile-menu-drawer .vms-category-branch-all {
		background: var(--vms-sun-500);
		border-radius: 999px;
		color: var(--vms-ink-900);
		display: inline-flex;
		font-weight: 500;
		font-size: 0.8rem;
		margin-left: auto;
		padding: 10px 14px;
		text-decoration: none;
	}

	.vms-mobile-menu-drawer .vms-category-branch-list {
		display: grid;
		gap: 10px;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.vms-mobile-menu-drawer .vms-category-branch-item {
		background: #fff;
		border-radius: 18px;
		margin: 0;
		padding: 0;
	}

	.vms-mobile-menu-drawer .vms-category-branch-row {
		padding: 5px 12px;
	}

	.vms-mobile-menu-drawer .vms-category-branch-link {
		color: var(--vms-ink-900);
		font-weight: 500;
		text-decoration: none;
	}

	.vms-mobile-menu-drawer .vms-category-branch-children {
		padding: 0 12px 12px;
	}
}

@media screen and (min-width: 761px) {
	.vms-mobile-menu-shell {
		display: none;
	}
}
