.v-search-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding-block: 16px 8px;
  margin-inline: 24px;
  border-bottom: 2px solid #000;
}

.v-search-box__input input {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  font-size: 16px;
  line-height: 1.3;
}
.v-search-box__input input:focus {
  outline: none;
}
.v-search-box__input input::placeholder {
  color: #999;
}

.v-search-box__actions {
  display: flex;
  gap: 12px;
}

.v-search-box__button {
  --v-button-width: 24px;
  --v-button-height: 24px;
}

.v-search-box__icon {
  width: 18px;
  height: auto;
}

.v-search-box__button--reset {
  --v-button-display: var(--v-search-reset-display, inline-flex);
}

.v-search-box__button--image-search {
  --v-button-display: var(--v-search-image-display, none);
}
.v-search-box__button--image-search svg {
  width: 24px;
  height: auto;
}

.v-search-box:has(input:placeholder-shown) {
  --v-search-reset-display: none;
  --v-search-image-display: inline-flex;
}

.v-category-list .v-category-item {
  --v-button-display: flex;
  --v-button-width: 100%;
  --v-button-padding: 21px var(--v-side-margin, 0);
  align-items: center;
  justify-content: space-between;
  font-size: 18px;
  line-height: 1.3;
  background-image: linear-gradient(to right, #e5e5e5 0, #e5e5e5 100%);
  background-position: bottom center;
  background-size: var(--v-menu-item-line-width, calc(100% - var(--v-side-margin, 0) * 2)) 1px;
  background-repeat: no-repeat;
}
.v-category-list .v-category-item__icon {
  width: 24px;
  height: 24px;
}
.v-category-list .v-expandable[aria-expanded=true] {
  --v-expandable-content-display: block;
  --v-expandable-content-height: 100vh;
  --v-expandable-content-overflow: auto;
  --v-angle: 90deg;
  --v-menu-item-line-width: 100%;
}
.v-category-list .v-expandable.in-transition {
  --v-expandable-content-display: block;
  --v-expandable-content-overflow: hidden;
  --v-expandable-content-overflow: clip;
}
.v-category-list .v-expandable.transition-to-expanded.transition-to-expanded, .v-category-list .v-expandable.transition-from-expanded {
  --v-expandable-content-height: 100vh;
  --v-angle: 90deg;
}
.v-category-list .v-expandable.transition-to-collapsed.transition-to-collapsed, .v-category-list .v-expandable.transition-from-collapsed {
  --v-expandable-content-height: 0vh;
  --v-angle: 0deg;
}
.v-category-list .v-expandable__icon {
  width: 12px;
  height: 12px;
  margin-right: 6px;
}
.v-category-list .v-expandable__icon__v {
  transition: transform 0.2s ease-in-out;
  transform-origin: center;
  transform: rotate(var(--v-angle, 0deg));
}
.v-category-list .v-expandable__content {
  display: var(--v-expandable-content-display, none);
  transition: max-height 0.3s ease-in-out;
  max-height: var(--v-expandable-content-height, 0vh);
  overflow-x: hidden;
  overflow-x: clip;
  overflow-y: var(--v-expandable-content-overflow, hidden);
  overflow-y: var(--v-expandable-content-overflow, clip);
  background: #f6f6f6;
  color: #444;
}
.v-category-list .v-sub-category-list {
  padding-bottom: 16px;
}
.v-category-list .v-sub-category-item {
  display: flex;
  padding-block: 11.5px;
  padding-inline: calc(var(--v-side-margin, 0) + 4px) var(--v-side-margin, 0);
  font-size: 16px;
  line-height: 1.3;
}

.v-hamburger-menu-head {
  position: sticky;
  z-index: calc(var(--v-site-header-z) - 1);
  top: var(--v-site-header-height, 0);
  right: 0;
  left: 0;
  background: #fff;
}

.v-hamburger-menu-body {
  min-height: calc(100dvh - var(--v-site-header-height, 0) + var(--v-search-box-height, 0) + var(--v-bottom-bar-height, 0));
  padding: 20px 0 calc(var(--v-bottom-bar-height) + env(safe-area-inset-bottom, 0px));
}
.v-hamburger-menu-body .v-menu-item {
  width: 100%;
  display: block;
  padding: 20px var(--v-side-margin, 0);
  text-align: left;
  position: relative;
  box-sizing: border-box;
  background-image: linear-gradient(to right, #e5e5e5 0, #e5e5e5 100%);
  background-position: bottom center;
  background-size: var(--v-menu-item-line-width, calc(100% - var(--v-side-margin, 0) * 2)) 1px;
  background-repeat: no-repeat;
}
.v-hamburger-menu-body .v-menu-item::after {
  content: "";
  width: 24px;
  height: 24px;
  display: inline-block;
  background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%3E%3Cpath%20stroke%3D%22%23000%22%20d%3D%22m8%203%209%209-9%209%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  position: absolute;
  right: var(--v-side-margin, 0);
}
.v-hamburger-menu-body .v-menu-item__name {
  display: inline-flex;
  align-items: flex-start;
  height: 24px;
  text-transform: uppercase;
  font-family: var(--v-font-sans);
  font-weight: 400;
  font-size: 18px;
}
.v-hamburger-menu-body .v-menu-item__notification {
  transform: translateY(-1px);
  display: inline-block;
  width: 4px;
  height: 4px;
  border-radius: 100%;
  overflow: clip;
  text-indent: 200%;
  background: #c40000;
}

.v-curation-list {
  margin-top: 40px;
  margin-inline: var(--v-side-margin, 0);
  display: flex;
  flex-direction: column;
  gap: var(--v-curation-list-gap, 20px);
}

.v-curation-item {
  display: flex;
  align-items: center;
  padding-block: var(--v-curation-item-padding-block, 5px);
  font-size: var(--v-curation-item-font-size, 14px);
  line-height: var(--v-curation-item-line-height, 1);
}

.v-curation-list--image {
  --v-curation-list-gap: 24px;
  --v-curation-item-padding-block: 0;
  --v-curation-item-font-size: 20px;
  --v-curation-item-line-height: 1.2;
}
.v-curation-list--image .v-curation-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr);
  height: 140px;
  color: #fff;
}
.v-curation-list--image .v-curation-item > * {
  width: 100%;
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.v-curation-list--image .v-curation-item > img {
  height: 100%;
  object-fit: cover;
}
.v-curation-list--image .v-curation-item > span {
  z-index: 2;
  padding-inline: 24px;
}
.v-curation-list--image .v-curation-item::before {
  z-index: 1;
  content: "";
  width: 100%;
  height: 100%;
  grid-column: 1/-1;
  grid-row: 1/-1;
  background: rgba(0, 0, 0, 0.2);
}