@charset "UTF-8";
:root {
    --ms-ink:  #121212;
    --ms-muted:  #707070;
    --ms-red:  #f03d3d;
    --ms-orange:  #f87a0d;
    --ms-border:  #e7e7e7;
    --ms-sans:  "Noto Sans SC","Noto Sans JP","Microsoft YaHei","PingFang SC",Arial,sans-serif;
    --ms-width:  1325px;
}

html {
    scroll-padding-top:  24px;
}

body.ms-storefront {
    font-family:  var(--ms-sans);
    color:  var(--ms-ink);
    font-size:  14px;
    line-height:  1.6;
    background:  #fff;
    -webkit-font-smoothing:  antialiased;
}

.ms-storefront * {
    box-sizing:  border-box;
}

.ms-storefront :focus-visible {
    outline:  2px solid #256957;
    outline-offset:  4px;
}

.ms-storefront .font-dmserif {
    font-family:  var(--ms-sans);
    font-weight:  600;
}

.ms-storefront button,.ms-storefront input,.ms-storefront select,.ms-storefront textarea {
    font-family:  inherit;
}

.ms-storefront button:not(:disabled),.ms-storefront summary {
    cursor:  pointer;
}

.ms-storefront button:disabled {
    cursor:  not-allowed;
}

.ms-storefront .primary-button {
    background:  var(--ms-red);
    border-color:  var(--ms-red);
    border-radius:  999px;
    font-family:  inherit;
}

.ms-storefront .primary-button:hover {
    background:  #d72e2e;
    border-color:  #d72e2e;
}

.ms-storefront .secondary-button {
    border-color:  #222;
    color:  #222;
    border-radius:  999px;
}

.ms-storefront .bg-navyBlue {
    background-color:  var(--ms-red);
}

.ms-storefront .text-navyBlue {
    color:  var(--ms-ink);
}

.ms-storefront .container {
    max-width:  1450px;
}

.ms-container {
    width:  calc(100% - 88px);
    max-width:  var(--ms-width);
    margin:  0 auto;
}

.ms-announcement {
    height:  30px;
    background:  #f5f5f4;
    font-size:  11px;
    letter-spacing:  .07em;
    color:  #4c4c4c;
}

.ms-announcement>.ms-container {
    height:  100%;
    display:  flex;
    align-items:  center;
    justify-content:  space-between;
}

.ms-announcement a span {
    margin-left:  12px;
}

.ms-header {
    position:  relative;
    z-index:  20;
    background:  #fff;
}

.ms-header-main {
    height:  74px;
    display:  flex;
    align-items:  center;
    gap:  26px;
}

.ms-logo {
    display:  flex;
    align-items:  center;
    gap:  10px;
    flex:  none;
    text-decoration:  none;
    color:  #202822;
}

.ms-logo-mark {
    position:  relative;
    font-family:  Georgia,serif;
    font-size:  55px;
    font-weight:  700;
    letter-spacing:  -6px;
    line-height:  1;
    display:  flex;
    align-items:  flex-end;
}

.ms-logo-mark>span {
    color:  var(--ms-red);
    font-size:  50px;
    letter-spacing:  0;
    margin-left:  3px;
}

.ms-logo-type {
    display:  flex;
    flex-direction:  column;
    gap:  1px;
}

.ms-logo-type strong {
    font-size:  28px;
    letter-spacing:  .13em;
    font-weight:  800;
    line-height:  1.2;
}

.ms-logo-type small {
    font-size:  8px;
    letter-spacing:  .13em;
    font-weight:  700;
}

.ms-tagline {
    font-size:  12px;
    line-height:  1.85;
    white-space:  nowrap;
    color:  #333;
}

.ms-tagline small {
    display:  block;
    color:  #888;
    font-size:  10px;
    letter-spacing:  .02em;
}

.ms-search {
    height:  43px;
    border:  1px solid #bcbcbc;
    border-radius:  3px;
    display:  flex;
    align-items:  center;
    flex:  1;
    min-width:  140px;
    max-width:  430px;
    margin-left:  auto;
    background:  #fff;
}

.ms-search:focus-within {
    border-color:  #222;
    box-shadow:  0 0 0 1px #222;
}

.ms-search input {
    padding:  0 14px;
    height:  100%;
    width:  100%;
    min-width:  0;
    background:  transparent;
    border:  0;
    outline:  none;
    font-size:  12px;
    color:  #222;
}

.ms-search input::placeholder {
    color:  #888;
}

.ms-search button {
    width:  46px;
    height:  100%;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    border:  0;
    background:  none;
    flex:  none;
    font-size:  23px;
    color:  #222;
}

.ms-header-actions {
    display:  flex;
    align-items:  center;
    gap:  22px;
    flex:  none;
}

.ms-header-action {
    display:  flex;
    flex-direction:  column;
    align-items:  center;
    justify-content:  center;
    gap:  5px;
    position:  relative;
    font-size:  10px;
    min-width:  42px;
    text-align:  center;
    white-space:  nowrap;
}

.ms-header-action>span:first-child,.ms-header-action .icon-cart {
    font-size:  26px;
    line-height:  1;
}

.ms-cart-action>a {
    line-height:  16px;
}

.ms-cart-action>div,.ms-cart-action>v-mini-cart {
    line-height:  1;
}

.ms-primary-nav {
    border-bottom:  1px solid #ededed;
}

.ms-primary-nav>.ms-container {
    display:  flex;
    justify-content:  center;
    gap:  0;
    height:  43px;
    align-items:  center;
}

.ms-primary-nav a {
    font-size:  12px;
    letter-spacing:  .04em;
    padding:  1px 31px;
    border-right:  1px solid #ddd;
    line-height:  17px;
}

.ms-primary-nav a:last-child {
    border-right:  0;
}

.ms-primary-nav a:hover {
    color:  var(--ms-red);
}

.ms-category-nav {
    border-bottom:  1px solid #ededed;
}

.ms-category-bar {
    min-height:  88px;
    display:  flex;
    align-items:  stretch;
    justify-content:  center;
    gap:  0;
}

.ms-category-link {
    flex:  1;
    max-width:  180px;
    display:  flex;
    gap:  12px;
    align-items:  center;
    justify-content:  center;
    font-size:  12px;
    position:  relative;
    white-space:  nowrap;
    font-weight:  500;
}

.ms-category-link+.ms-category-link:before {
    content:  "";
    position:  absolute;
    left:  0;
    top:  28px;
    bottom:  28px;
    border-left:  1px solid #e8e8e8;
}

.ms-category-link:hover {
    color:  var(--ms-red);
}

.ms-category-icon {
    width:  44px;
    height:  44px;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    border-radius:  50%;
    background:  #f4f1ea;
    font-size:  28px;
    color:  #655846;
    flex:  none;
}

.ms-category-icon img {
    width:  38px;
    height:  38px;
}

.ms-category-icon-0 {
    background:  #eaf0e9;
}

.ms-category-icon-1 {
    background:  #f2ece2;
}

.ms-category-icon-2 {
    background:  #eceaf2;
}

.ms-category-icon-3 {
    background:  #e7eef0;
}

.ms-category-icon-4 {
    background:  #f5e9e4;
}

.ms-mobile-toggle {
    display:  none;
}

.ms-icon-button {
    font-size:  27px;
    line-height:  1;
    background:  none;
    border:  0;
    padding:  4px;
}

.ms-drawer-nav {
    padding:  10px 0;
}

.ms-drawer-links {
    display:  flex;
    flex-direction:  column;
}

.ms-drawer-links .ms-category-link {
    max-width:  none;
    justify-content:  flex-start;
    padding:  14px 0;
    border-bottom:  1px solid var(--ms-border);
    font-size:  15px;
    gap:  16px;
}

.ms-drawer-links .ms-category-link:before {
    display:  none;
}

.ms-drawer-account {
    display:  grid;
    padding-top:  18px;
    gap:  0;
}

.ms-drawer-account a {
    display:  flex;
    justify-content:  space-between;
    padding:  14px 0;
    font-size:  14px;
}

.ms-hero {
    padding-top:  24px;
    overflow:  hidden;
    --hero-width:  min(44vw,627px);
}

.ms-hero-stage {
    position:  relative;
    height:  var(--hero-width);
    width:  100%;
    overflow:  hidden;
    touch-action:  pan-y;
}

.ms-hero-slide {
    position:  absolute;
    left:  50%;
    top:  0;
    width:  var(--hero-width);
    height:  var(--hero-width);
    transform:  translateX(calc(-50% + var(--position,0) * (100% + 18px)));
    transition:  transform .5s cubic-bezier(.2,.7,.2,1);
    display:  block;
    user-select:  none;
    -webkit-user-drag:  none;
}

.ms-hero-slide img {
    width:  100%;
    height:  100%;
    object-fit:  cover;
    display:  block;
    pointer-events:  none;
}

.ms-hero-arrow {
    position:  absolute;
    top:  50%;
    transform:  translateY(-50%);
    height:  48px;
    width:  48px;
    background:  #fff;
    box-shadow:  0 1px 10px #0002;
    border:  0;
    border-radius:  50%;
    z-index:  2;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    color:  #222;
    font-size:  36px;
    font-family:  Arial;
    line-height:  1;
    padding-bottom:  5px;
}

.ms-hero-arrow:hover {
    background:  #222;
    color:  white;
}

.ms-hero-prev {
    left:  calc(50% - var(--hero-width)/2 - 24px);
}

.ms-hero-next {
    right:  calc(50% - var(--hero-width)/2 - 24px);
}

.ms-hero-dots {
    height:  48px;
    display:  flex;
    gap:  10px;
    align-items:  center;
    justify-content:  center;
    position:  relative;
}

.ms-hero-dots button {
    width:  7px;
    height:  7px;
    border:  0;
    border-radius:  50%;
    background:  #ccc;
    padding:  0;
}

.ms-hero-dots button.is-active {
    background:  #222;
}

.ms-hero-count {
    font-size:  10px;
    letter-spacing:  .08em;
    margin-left:  14px;
    color:  #666;
}

.ms-campaign-banners {
    display:  grid;
    grid-template-columns:  1fr 1fr;
    gap:  24px;
    margin-top:  12px;
}

.ms-mini-banner {
    height:  154px;
    display:  flex;
    align-items:  center;
    justify-content:  space-between;
    position:  relative;
    padding:  22px 34px;
    overflow:  hidden;
}

.ms-mini-banner-green {
    background:  #e6efe9;
    color:  #2c5145;
}

.ms-mini-banner-peach {
    background:  #f6e5da;
    color:  #704c3b;
}

.ms-mini-banner>div {
    position:  relative;
    z-index:  1;
    display:  grid;
    gap:  5px;
}

.ms-mini-banner small {
    font-size:  10px;
    letter-spacing:  .12em;
    font-weight:  600;
}

.ms-mini-banner strong {
    font-size:  23px;
    letter-spacing:  .02em;
    font-weight:  700;
}

.ms-mini-banner span {
    font-size:  12px;
    margin-top:  7px;
}

.ms-mini-banner b {
    font-weight:  400;
    margin-left:  20px;
}

.ms-mini-banner img {
    width:  180px;
    height:  180px;
    object-fit:  cover;
    mix-blend-mode:  multiply;
    transform:  rotate(8deg);
    margin-right:  -12px;
}

.ms-mini-banner:hover img {
    transform:  rotate(4deg) scale(1.04);
    transition:  transform .3s;
}

.ms-hotwords {
    display:  flex;
    align-items:  center;
    justify-content:  center;
    gap:  24px;
    padding:  31px 0;
}

.ms-hotwords h2 {
    font-size:  12px;
    font-weight:  700;
    white-space:  nowrap;
}

.ms-hotwords>div {
    display:  flex;
    gap:  10px;
    flex-wrap:  wrap;
}

.ms-hotwords a {
    padding:  7px 18px;
    border-radius:  3px;
    font-size:  11px;
    background:  #f4f4f4;
    color:  #555;
}

.ms-hotwords a:hover {
    background:  #eee;
    color:  #111;
}

.ms-notice {
    border-top:  1px solid var(--ms-border);
    border-bottom:  1px solid var(--ms-border);
    padding:  22px 16px;
    display:  flex;
    align-items:  center;
    gap:  32px;
}

.ms-notice h2 {
    font-size:  14px;
    font-weight:  700;
    letter-spacing:  .07em;
    min-width:  135px;
    display:  flex;
    gap:  14px;
    align-items:  center;
}

.ms-notice h2>span {
    font-size:  10px;
    font-weight:  400;
    letter-spacing:  0;
    color:  #666;
}

.ms-notice>a {
    display:  flex;
    align-items:  center;
    gap:  18px;
    flex:  1;
    font-size:  12px;
}

.ms-notice a>span:last-child {
    margin-left:  auto;
}

.ms-notice-tag {
    border:  1px solid #aaa;
    padding:  2px 12px;
    font-size:  10px;
    white-space:  nowrap;
}

.ms-product-section {
    position:  relative;
    margin-top:  68px;
}

.ms-section-intro {
    text-align:  center;
    position:  relative;
    pointer-events:  none;
    margin-bottom:  7px;
}

.ms-section-intro>span {
    font-size:  10px;
    letter-spacing:  .17em;
    font-weight:  500;
    color:  #999;
}

.ms-section-intro>p {
    position:  absolute;
    top:  65px;
    left:  0;
    right:  0;
    font-size:  12px;
    color:  #888;
    letter-spacing:  .06em;
}

.ms-products-heading {
    position:  relative;
    margin-bottom:  49px;
}

.ms-products-title {
    font-size:  24px;
    font-weight:  700;
    letter-spacing:  .08em;
    text-align:  center;
    line-height:  1.5;
    margin:  0;
}

.ms-products-arrows {
    position:  absolute;
    right:  0;
    bottom:  0;
    display:  flex;
    gap:  8px;
}

.ms-products-arrows button {
    height:  32px;
    width:  32px;
    border:  1px solid #d5d5d5;
    border-radius:  50%;
    font-size:  17px;
    background:  #fff;
}

.ms-products-arrows button:hover {
    background:  #222;
    color:  #fff;
    border-color:  #222;
}

.ms-product-rail {
    display:  grid;
    grid-auto-flow:  column;
    grid-auto-columns:  calc((100% - 96px)/5);
    gap:  24px;
    overflow:  auto;
    scroll-snap-type:  x mandatory;
    scrollbar-width:  none;
    align-items:  start;
    padding-bottom:  4px;
}

.ms-product-rail::-webkit-scrollbar {
    display:  none;
}

.ms-product-rail>* {
    scroll-snap-align:  start;
    min-width:  0;
}

.ms-product-card {
    display:  flex;
    flex-direction:  column;
    min-width:  0;
    width:  100%;
    color:  #222;
    background:  #fff;
    font-size:  13px;
    overflow:  visible!important;
    border-radius:  0!important;
}

.ms-product-media {
    position:  relative;
    aspect-ratio:  1;
    background:  #f5f4f0;
    overflow:  hidden;
    width:  100%;
}

.ms-product-media>a {
    display:  block;
    width:  100%;
    height:  100%;
    overflow:  hidden;
}

.ms-product-media img {
    width:  100%;
    height:  100%;
    object-fit:  cover;
    display:  block;
    transition:  transform .35s ease;
}

.ms-product-media>a:hover img {
    transform:  scale(1.035);
}

.ms-product-badge {
    position:  absolute;
    top:  8px;
    left:  8px;
    padding:  3px 10px;
    background:  var(--ms-red);
    color:  white;
    border-radius:  2px;
    font-size:  10px;
    letter-spacing:  .04em;
    line-height:  1.6;
}

.ms-product-new {
    background:  #fff;
    color:  #333;
    border:  1px solid #ddd;
}

.ms-product-wishlist {
    position:  absolute;
    right:  8px;
    bottom:  8px;
    background:  #fff;
    border:  0;
    border-radius:  50%;
    width:  30px;
    height:  30px;
    font-size:  19px;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    box-shadow:  0 1px 4px #0001;
}

.ms-product-wishlist.is-active {
    color:  var(--ms-red);
}

.ms-product-sold {
    position:  absolute;
    inset:  0;
    background:  #fffa;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    font-size:  13px;
    color:  #777;
    pointer-events:  none;
}

.ms-product-info {
    padding-top:  12px;
    display:  flex;
    flex-direction:  column;
    flex:  1;
}

.ms-product-info h3 {
    font-size:  13px;
    font-weight:  500;
    line-height:  1.75;
    min-height:  46px;
    display:  -webkit-box;
    -webkit-box-orient:  vertical;
    -webkit-line-clamp:  2;
    overflow:  hidden;
    overflow-wrap:  anywhere;
    margin:  0 0 9px;
}

.ms-product-info h3 a:hover {
    text-decoration:  underline;
    text-underline-offset:  3px;
}

.ms-product-price {
    font-size:  17px;
    font-weight:  700;
    line-height:  1.5;
    min-height:  31px;
    display:  flex;
    gap:  7px;
    align-items:  baseline;
    flex-wrap:  wrap;
    margin-bottom:  11px;
}

.ms-product-price .text-zinc-500,.ms-product-price .line-through,.ms-product-price .regular-price {
    font-size:  12px;
    font-weight:  400;
    color:  #888;
}

.ms-product-price .special-price {
    color:  var(--ms-red);
}

.ms-product-rating {
    font-size:  10px;
    margin-top:  -4px;
    margin-bottom:  5px;
    color:  #777;
}

.ms-product-rating>span {
    color:  #d5ab49;
}

.ms-product-rating small {
    font-size:  9px;
}

.ms-add-to-cart {
    width:  100%;
    height:  36px;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    gap:  7px;
    border:  1px solid var(--ms-red);
    border-radius:  30px;
    background:  var(--ms-red);
    color:  #fff;
    font-size:  11px;
    font-weight:  500;
    letter-spacing:  .02em;
    transition:  background .2s;
    margin-top:  auto;
}

.ms-add-to-cart:hover {
    background:  #dc3030;
    border-color:  #dc3030;
}

.ms-add-to-cart:disabled {
    background:  #d7d7d7;
    border-color:  #d7d7d7;
    color:  #fff;
}

.ms-button-spinner {
    width:  12px;
    height:  12px;
    border:  1.5px solid #fff6;
    border-top-color:  white;
    border-radius:  50%;
    animation:  ms-spin .7s linear infinite;
}

@keyframes ms-spin {
    to {
        transform:  rotate(360deg);
    }
}

.ms-product-list-card {
    display:  grid;
    grid-template-columns:  220px 1fr;
    gap:  25px;
    text-align:  left;
}

.ms-product-list-card .ms-product-info {
    max-width:  500px;
    padding:  10px 0;
}

.ms-product-list-card .ms-product-info h3 {
    font-size:  17px;
    min-height:  0;
    margin-bottom:  20px;
}

.ms-product-list-card .ms-add-to-cart {
    max-width:  230px;
}

.ms-view-all {
    display:  flex;
    align-items:  center;
    justify-content:  center;
    position:  relative;
    border:  1px solid #bcbcbc;
    width:  240px;
    height:  43px;
    border-radius:  2px;
    font-size:  12px;
    font-weight:  500;
    margin:  32px auto 0;
    transition:  all .2s;
}

.ms-view-all>span {
    position:  absolute;
    right:  17px;
    font-size:  16px;
    font-weight:  400;
}

.ms-view-all:hover {
    border-color:  #222;
    background:  #222;
    color:  white;
}

.ms-products-error {
    padding:  35px;
    text-align:  center;
    color:  #777;
    background:  #f6f6f6;
    font-size:  13px;
}

.ms-products-error button {
    margin-left:  12px;
    text-decoration:  underline;
}

.ms-product-skeletons>div {
    display:  grid;
    gap:  12px;
}

.ms-product-skeletons span {
    width:  100%;
    aspect-ratio:  1;
    display:  block;
    background:  #f2f2f2;
}

.ms-product-skeletons i {
    height:  13px;
    width:  90%;
    background:  #f2f2f2;
    display:  block;
}

.ms-product-skeletons i:last-child {
    width:  55%;
}

.ms-selection {
    margin-top:  76px;
}

.ms-section-heading {
    display:  flex;
    align-items:  flex-end;
    justify-content:  space-between;
    margin-bottom:  28px;
}

.ms-section-heading>div>span {
    display:  block;
    color:  #999;
    letter-spacing:  .16em;
    font-size:  10px;
    margin-bottom:  7px;
}

.ms-section-heading h2 {
    font-size:  22px;
    letter-spacing:  .04em;
    line-height:  1.5;
    font-weight:  700;
}

.ms-section-heading>a {
    font-size:  12px;
    color:  #666;
}

.ms-section-heading>a>span {
    margin-left:  16px;
}

.ms-selection-grid {
    display:  grid;
    grid-template-columns:  1fr 1fr;
    gap:  24px;
}

.ms-selection-card {
    position:  relative;
    min-height:  320px;
    overflow:  hidden;
    display:  flex;
    align-items:  center;
}

.ms-selection-space {
    background:  #eef0e7;
}

.ms-selection-daily {
    background:  #f5e9e0;
}

.ms-selection-card>div {
    position:  relative;
    z-index:  1;
    padding:  32px 30px;
    flex:  none;
}

.ms-selection-card small {
    font-size:  9px;
    color:  #777;
    letter-spacing:  .15em;
    display:  block;
    margin-bottom:  22px;
}

.ms-selection-card h3 {
    font-size:  26px;
    line-height:  1.65;
    font-weight:  600;
    letter-spacing:  .07em;
}

.ms-selection-card span {
    display:  block;
    margin-top:  25px;
    font-size:  11px;
}

.ms-selection-card b {
    font-weight:  400;
    margin-left:  20px;
}

.ms-selection-card img {
    position:  absolute;
    right:  -45px;
    bottom:  0;
    width:  72%;
    height:  auto;
    mix-blend-mode:  multiply;
    transition:  transform .4s;
}

.ms-selection-card:hover img {
    transform:  scale(1.03);
}

.ms-brands {
    margin-top:  74px;
}

.ms-brand-grid {
    display:  grid;
    grid-template-columns:  repeat(6,1fr);
    gap:  14px;
}

.ms-brand-grid a {
    height:  108px;
    border:  1px solid #e7e7e7;
    display:  flex;
    align-items:  center;
    justify-content:  center;
    flex-direction:  column;
    gap:  9px;
    transition:  background .2s;
}

.ms-brand-grid a:hover {
    background:  #f6f6f4;
}

.ms-brand-grid strong {
    font-family:  Georgia,serif;
    font-size:  20px;
    letter-spacing:  .04em;
    line-height:  1;
    font-weight:  500;
}

.ms-brand-grid a:nth-child(3) strong {
    font-family:  Arial,sans-serif;
    font-size:  17px;
    font-weight:  700;
    letter-spacing:  -.05em;
}

.ms-brand-grid a:nth-child(4) strong {
    font-style:  italic;
}

.ms-brand-grid a:nth-child(5) strong {
    letter-spacing:  .18em;
    font-family:  Arial,sans-serif;
}

.ms-brand-grid span {
    font-size:  9px;
    color:  #888;
    letter-spacing:  .05em;
}

.ms-editor-section {
    margin-top:  60px;
}

.ms-shopping-guide {
    margin-top:  80px;
    background:  #f7f7f5;
    padding:  54px 0 58px;
}

.ms-shopping-guide .ms-section-heading {
    justify-content:  center;
    text-align:  center;
    margin-bottom:  36px;
}

.ms-guide-grid {
    display:  grid;
    grid-template-columns:  repeat(4,1fr);
    gap:  35px;
}

.ms-guide-grid>div {
    position:  relative;
    padding-left:  18px;
    border-left:  1px solid #d9d9d5;
}

.ms-guide-grid b {
    font-size:  22px;
    color:  #bbb;
    font-weight:  400;
    letter-spacing:  .02em;
}

.ms-guide-grid h3 {
    font-size:  14px;
    font-weight:  600;
    margin:  10px 0 9px;
}

.ms-guide-grid p {
    font-size:  11px;
    color:  #777;
    line-height:  1.9;
    max-width:  240px;
}

.ms-faq {
    padding-top:  60px;
    padding-bottom:  55px;
    max-width:  960px;
}

.ms-faq .ms-section-heading {
    justify-content:  center;
    text-align:  center;
    margin-bottom:  24px;
}

.ms-faq-list {
    border-top:  1px solid #ddd;
}

.ms-faq details {
    border-bottom:  1px solid #ddd;
}

.ms-faq summary {
    list-style:  none;
    display:  flex;
    align-items:  center;
    gap:  16px;
    padding:  19px 8px;
    font-size:  13px;
    font-weight:  500;
}

.ms-faq summary:before {
    content:  "Q";
    font-family:  Georgia,serif;
    font-size:  20px;
    color:  #aaa;
    margin-right:  5px;
}

.ms-faq summary::-webkit-details-marker {
    display:  none;
}

.ms-faq summary>span {
    margin-left:  auto;
    font-size:  21px;
    font-weight:  300;
}

.ms-faq details[open] summary>span {
    transform:  rotate(45deg);
}

.ms-faq details p {
    padding:  0 45px 23px;
    font-size:  12px;
    color:  #666;
    line-height:  1.9;
}

.ms-service-bar {
    border-top:  1px solid var(--ms-border);
    border-bottom:  1px solid var(--ms-border);
    background:  #fff;
}

.ms-service-bar>.ms-container {
    display:  grid;
    grid-template-columns:  repeat(3,1fr);
    padding:  28px 0;
}

.ms-service-bar>.ms-container>div {
    display:  grid;
    grid-template-columns:  38px auto;
    grid-template-rows:  auto auto;
    column-gap:  14px;
    justify-content:  center;
    align-items:  center;
    border-right:  1px solid #ddd;
}

.ms-service-bar>.ms-container>div:last-child {
    border:  0;
}

.ms-service-bar span {
    grid-row:  span 2;
    font-size:  31px;
    color:  #777;
}

.ms-service-bar strong {
    font-size:  13px;
    font-weight:  600;
}

.ms-service-bar small {
    font-size:  10px;
    color:  #888;
}

.ms-footer {
    background:  #f7f7f7;
    padding-top:  48px;
}

.ms-footer-main {
    display:  grid;
    grid-template-columns:  2fr repeat(4,1fr);
    gap:  32px;
    padding-bottom:  45px;
}

.ms-footer .ms-logo-mark {
    font-size:  47px;
}

.ms-footer .ms-logo-type strong {
    font-size:  24px;
}

.ms-footer-brand p {
    font-size:  10px;
    color:  #888;
    margin-top:  20px;
    line-height:  2.1;
}

.ms-footer-column {
    display:  flex;
    flex-direction:  column;
    gap:  12px;
}

.ms-footer-column h2 {
    font-size:  12px;
    font-weight:  700;
    margin-bottom:  6px;
}

.ms-footer-column a {
    font-size:  10px;
    color:  #777;
    line-height:  1.5;
}

.ms-footer-column a:hover {
    color:  #222;
    text-decoration:  underline;
}

.ms-footer-bottom {
    border-top:  1px solid #e6e6e6;
    padding:  18px 0;
}

.ms-footer-bottom>.ms-container {
    display:  flex;
    align-items:  center;
    justify-content:  space-between;
    gap:  20px;
    font-size:  9px;
    color:  #999;
}

.ms-footer-bottom span {
    letter-spacing:  .08em;
    margin-left:  auto;
}

.ms-back-top {
    color:  #444;
    font-size:  9px;
    letter-spacing:  .1em;
    margin-left:  20px;
}

.ms-storefront #main>.container {
    margin-top:  35px;
    margin-bottom:  55px;
}

.ms-storefront #main .primary-button[title] {
    border-radius:  99px;
}

.ms-storefront #main input[type=text],.ms-storefront #main input[type=email],.ms-storefront #main input[type=password],.ms-storefront #main input[type=tel],.ms-storefront #main textarea {
    border-radius:  3px;
}

.ms-catalog-heading {
    padding-top:  29px;
    margin-bottom:  20px;
}

.ms-catalog-heading nav {
    font-size:  10px;
    color:  #888;
    display:  flex;
    gap:  12px;
    align-items:  center;
}

.ms-catalog-heading h1 {
    font-size:  27px;
    font-weight:  600;
    letter-spacing:  .06em;
    margin-top:  28px;
}

.ms-storefront #main .container:has(.ms-filter-panel)>.flex {
    display:  block;
    margin-top:  22px;
}

.ms-storefront #main .container:has(.ms-filter-panel)>.flex>.flex-1 {
    width:  100%;
    min-width:  0;
}

.ms-storefront #main .container:has(.ms-filter-panel) .grid.grid-cols-3 {
    grid-template-columns:  repeat(4,minmax(0,1fr));
    gap:  34px 25px;
}

.ms-storefront form:has(>input[name=product_id]) h1 {
    font-size:  26px;
    line-height:  1.6;
    font-weight:  600;
}

.ms-storefront form:has(>input[name=product_id]) .secondary-button[type=submit] {
    background:  var(--ms-orange);
    color:  white;
    border-color:  var(--ms-orange);
    border-radius:  99px;
}

.ms-storefront form:has(>input[name=product_id]) .secondary-button[type=submit]:hover {
    background:  #df6800;
    border-color:  #df6800;
}

@media(min-width:768px) {
    .ms-filter-panel {
        display:  flex!important;
        flex-wrap:  wrap;
        align-items:  flex-start;
        gap:  14px;
        overflow:  visible!important;
        min-width:  0!important;
        max-width:  none!important;
        max-height:  none!important;
        padding:  14px 0 20px!important;
        width:  100%;
        border-bottom:  1px solid #ddd;
        margin-bottom:  20px;
    }
    .ms-filter-panel>div:first-child {
        height:  42px;
        min-width:  135px;
        gap:  16px;
        border:  0;
        padding:  0 12px 0 0;
        flex:  none;
    }
    .ms-filter-panel>div:first-child>p:first-child {
        font-size:  13px;
        font-weight:  600;
    }
    .ms-filter-panel>div:first-child>p:last-child {
        font-size:  10px;
        color:  #999;
    }
    .ms-filter-panel .ms-filter-accordion {
        position:  relative;
        min-width:  155px;
        max-width:  220px;
        flex:  1;
        border:  1px solid #ddd!important;
        background:  #fff;
    }
    .ms-filter-panel .ms-filter-accordion>div>div:first-child {
        min-height:  42px;
        padding:  11px 14px!important;
        gap:  10px;
    }
    .ms-filter-panel .ms-filter-accordion>div>div:first-child p {
        font-size:  12px;
        font-weight:  400;
        line-height:  20px;
    }
    .ms-filter-panel .ms-filter-accordion>div>div:nth-child(2) {
        position:  absolute;
        top:  100%;
        left:  -1px;
        right:  -1px;
        min-width:  240px;
        padding:  18px!important;
        background:  white;
        border:  1px solid #ddd;
        box-shadow:  0 5px 10px #0001;
        z-index:  10;
        max-height:  370px;
        overflow:  auto;
    }
}

@media(min-width:1450px) {
    .ms-container {
        width:  calc(100% - 120px);
    }
}

@media(max-width:1180px) {
    .ms-container {
        width:  calc(100% - 64px);
    }
    .ms-header-main {
        gap:  20px;
    }
    .ms-tagline {
        display:  none;
    }
    .ms-header-actions {
        gap:  18px;
    }
    .ms-primary-nav a {
        padding-left:  25px;
        padding-right:  25px;
    }
    .ms-category-link {
        gap:  8px;
        font-size:  11px;
    }
    .ms-category-icon {
        width:  38px;
        height:  38px;
    }
    .ms-product-rail {
        gap:  18px;
        grid-auto-columns:  calc((100% - 72px)/5);
    }
    .ms-mini-banner {
        padding-left:  25px;
        padding-right:  15px;
    }
    .ms-mini-banner strong {
        font-size:  20px;
    }
    .ms-mini-banner img {
        width:  150px;
        height:  150px;
    }
    .ms-selection-card {
        min-height:  280px;
    }
    .ms-selection-card>div {
        padding:  24px;
    }
    .ms-selection-card h3 {
        font-size:  23px;
    }
    .ms-selection-card img {
        right:  -60px;
        width:  76%;
    }
    .ms-footer-main {
        gap:  22px;
        grid-template-columns:  1.8fr repeat(4,1fr);
    }
}

@media(max-width:900px) {
    .ms-header-main {
        height:  87px;
    }
    .ms-logo-mark {
        font-size:  47px;
    }
    .ms-logo-type strong {
        font-size:  24px;
    }
    .ms-logo-type small {
        font-size:  7px;
    }
    .ms-header-actions {
        gap:  14px;
    }
    .ms-search {
        max-width:  350px;
    }
    .ms-wishlist-link {
        display:  none;
    }
    .ms-primary-nav a {
        padding-left:  21px;
        padding-right:  21px;
        font-size:  11px;
    }
    .ms-category-link {
        flex-direction:  column;
        gap:  5px;
        padding:  12px 0;
    }
    .ms-category-bar {
        min-height:  90px;
    }
    .ms-category-link+.ms-category-link:before {
        top:  22px;
        bottom:  22px;
    }
    .ms-hero {
        --hero-width:  60vw;
    }
    .ms-product-rail {
        gap:  18px;
        grid-auto-columns:  calc((100% - 54px)/4);
    }
    .ms-product-info h3 {
        font-size:  12px;
    }
    .ms-mini-banner {
        height:  130px;
        padding-left:  22px;
    }
    .ms-mini-banner strong {
        font-size:  17px;
    }
    .ms-mini-banner img {
        width:  135px;
        height:  135px;
        margin-right:  -38px;
    }
    .ms-mini-banner small {
        font-size:  8px;
    }
    .ms-selection-card {
        min-height:  250px;
    }
    .ms-selection-card h3 {
        font-size:  20px;
    }
    .ms-selection-card img {
        right:  -70px;
        width:  82%;
    }
    .ms-selection-card small {
        font-size:  8px;
        margin-bottom:  15px;
    }
    .ms-selection-card span {
        font-size:  10px;
    }
    .ms-brand-grid {
        grid-template-columns:  repeat(3,1fr);
    }
    .ms-brand-grid a {
        height:  90px;
    }
    .ms-guide-grid {
        gap:  20px;
    }
    .ms-guide-grid h3 {
        font-size:  12px;
    }
    .ms-footer-main {
        grid-template-columns:  repeat(4,1fr);
    }
    .ms-footer-brand {
        grid-column:  1/-1;
        display:  flex;
        align-items:  center;
        gap:  50px;
    }
    .ms-footer-brand p {
        margin-top:  0;
    }
}

@media(min-width:768px) and (max-width:1000px) {
    .ms-storefront #main .container:has(.ms-filter-panel) .grid.grid-cols-3 {
        grid-template-columns:  repeat(3,minmax(0,1fr));
    }
    .ms-filter-panel {
        flex-wrap:  wrap;
    }
    .ms-filter-panel>div:first-child {
        width:  100%;
    }
}

@media(max-width:767px) {
    .ms-container {
        width:  calc(100% - 32px);
    }
    .ms-announcement {
        height:  25px;
        font-size:  9px;
    }
    .ms-announcement a {
        font-size:  8px;
    }
    .ms-header-main {
        height:  auto;
        min-height:  124px;
        display:  grid;
        grid-template-columns:  28px 1fr auto;
        gap:  0 12px;
        padding-top:  14px;
        padding-bottom:  13px;
        align-items:  center;
    }
    .ms-mobile-toggle {
        display:  block;
    }
    .ms-logo {
        gap:  7px;
        justify-self:  start;
    }
    .ms-logo-mark {
        font-size:  39px;
        letter-spacing:  -4px;
    }
    .ms-logo-mark>span {
        font-size:  37px;
        margin-left:  2px;
    }
    .ms-logo-type strong {
        font-size:  21px;
        letter-spacing:  .09em;
    }
    .ms-logo-type small {
        font-size:  6px;
        letter-spacing:  .09em;
    }
    .ms-header-actions {
        gap:  17px;
    }
    .ms-header-action {
        min-width:  27px;
        gap:  4px;
        font-size:  8px;
    }
    .ms-header-action>span:first-child,.ms-header-action .icon-cart {
        font-size:  22px;
    }
    .ms-header-actions .ms-header-action:first-child>span:last-child {
        display:  none;
    }
    .ms-cart-action>a {
        display:  none;
    }
    .ms-search {
        grid-column:  1/-1;
        grid-row:  2;
        width:  100%;
        max-width:  none;
        margin-top:  13px;
        height:  36px;
        border-color:  #ccc;
    }
    .ms-search input {
        font-size:  11px;
        padding-left:  11px;
    }
    .ms-search button {
        font-size:  20px;
        width:  40px;
    }
    .ms-primary-nav {
        display:  none;
    }
    .ms-category-bar {
        width:  100%;
        justify-content:  flex-start;
        overflow-x:  auto;
        scrollbar-width:  none;
        min-height:  86px;
        padding:  0 8px;
    }
    .ms-category-link {
        flex:  0 0 78px;
        font-size:  9px;
        gap:  5px;
        padding:  10px 0;
        max-width:  none;
    }
    .ms-category-icon {
        width:  37px;
        height:  37px;
    }
    .ms-category-icon img {
        width:  32px;
        height:  32px;
    }
    .ms-category-all {
        font-size:  25px;
    }
    .ms-category-link+.ms-category-link:before {
        top:  20px;
        bottom:  20px;
    }
    .ms-drawer-links .ms-category-link {
        flex:  auto;
        flex-direction:  row;
        font-size:  14px;
    }
    .ms-hero {
        padding-top:  16px;
        --hero-width:  calc(100vw - 48px);
    }
    .ms-hero-slide {
        transform:  translateX(calc(-50% + var(--position,0) * (100% + 10px)));
    }
    .ms-hero-arrow {
        width:  30px;
        height:  30px;
        font-size:  26px;
        padding-bottom:  3px;
    }
    .ms-hero-prev {
        left:  9px;
    }
    .ms-hero-next {
        right:  9px;
    }
    .ms-hero-dots {
        height:  37px;
        gap:  8px;
    }
    .ms-hero-dots button {
        width:  5px;
        height:  5px;
    }
    .ms-hero-count {
        font-size:  8px;
        margin-left:  10px;
    }
    .ms-campaign-banners {
        gap:  10px;
        margin-top:  5px;
    }
    .ms-mini-banner {
        height:  105px;
        padding:  13px 11px;
        align-items:  flex-start;
    }
    .ms-mini-banner>div {
        gap:  4px;
    }
    .ms-mini-banner small {
        font-size:  6px;
        letter-spacing:  .05em;
    }
    .ms-mini-banner strong {
        font-size:  12px;
        line-height:  1.7;
        max-width:  105px;
    }
    .ms-mini-banner span {
        font-size:  8px;
        margin-top:  5px;
    }
    .ms-mini-banner b {
        margin-left:  4px;
    }
    .ms-mini-banner img {
        position:  absolute;
        right:  -20px;
        bottom:  -17px;
        width:  80px;
        height:  80px;
        opacity:  .85;
        margin:  0;
    }
    .ms-hotwords {
        padding:  20px 0;
        gap:  12px;
        align-items:  flex-start;
        justify-content:  flex-start;
    }
    .ms-hotwords h2 {
        font-size:  10px;
        padding-top:  4px;
    }
    .ms-hotwords>div {
        gap:  6px;
    }
    .ms-hotwords a {
        padding:  4px 9px;
        font-size:  9px;
    }
    .ms-notice {
        padding:  15px 0;
        gap:  12px;
        align-items:  flex-start;
    }
    .ms-notice h2 {
        min-width:  50px;
        font-size:  12px;
        flex-direction:  column;
        gap:  2px;
        align-items:  flex-start;
    }
    .ms-notice h2>span {
        font-size:  8px;
    }
    .ms-notice>a {
        font-size:  10px;
        gap:  7px;
        flex-wrap:  wrap;
        position:  relative;
        padding-right:  14px;
    }
    .ms-notice-tag {
        font-size:  8px;
        padding:  1px 7px;
    }
    .ms-notice a>p {
        line-height:  1.8;
    }
    .ms-notice a>span:last-child {
        position:  absolute;
        right:  0;
        top:  7px;
    }
    .ms-product-section {
        margin-top:  40px;
    }
    .ms-section-intro {
        margin-bottom:  5px;
    }
    .ms-section-intro>span {
        font-size:  8px;
        letter-spacing:  .14em;
    }
    .ms-section-intro>p {
        top:  51px;
        font-size:  10px;
    }
    .ms-products-title {
        font-size:  20px;
        letter-spacing:  .05em;
    }
    .ms-products-heading {
        margin-bottom:  38px;
    }
    .ms-products-arrows {
        display:  none;
    }
    .ms-product-rail {
        grid-auto-columns:  calc((100% - 14px)/2);
        gap:  14px;
    }
    .ms-product-badge {
        top:  6px;
        left:  6px;
        font-size:  8px;
        padding:  2px 7px;
    }
    .ms-product-wishlist {
        right:  6px;
        bottom:  6px;
        width:  26px;
        height:  26px;
        font-size:  16px;
    }
    .ms-product-info {
        padding-top:  10px;
    }
    .ms-product-info h3 {
        font-size:  11px;
        line-height:  1.7;
        min-height:  38px;
        margin-bottom:  7px;
    }
    .ms-product-price {
        font-size:  15px;
        gap:  5px;
        min-height:  25px;
        margin-bottom:  9px;
    }
    .ms-product-price .regular-price,.ms-product-price .line-through {
        font-size:  10px;
    }
    .ms-add-to-cart {
        height:  31px;
        font-size:  10px;
    }
    .ms-view-all {
        margin-top:  23px;
        width:  200px;
        height:  38px;
        font-size:  11px;
    }
    .ms-view-all span {
        font-size:  14px;
    }
    .ms-selection {
        margin-top:  44px;
    }
    .ms-section-heading {
        margin-bottom:  19px;
        gap:  10px;
    }
    .ms-section-heading h2 {
        font-size:  18px;
        letter-spacing:  .02em;
    }
    .ms-section-heading>div>span {
        font-size:  8px;
        letter-spacing:  .12em;
        margin-bottom:  5px;
    }
    .ms-section-heading>a {
        font-size:  9px;
        white-space:  nowrap;
    }
    .ms-section-heading>a>span {
        margin-left:  5px;
    }
    .ms-selection-grid {
        gap:  12px;
        grid-template-columns:  1fr;
    }
    .ms-selection-card {
        min-height:  225px;
    }
    .ms-selection-card>div {
        padding:  23px;
    }
    .ms-selection-card h3 {
        font-size:  24px;
        line-height:  1.55;
    }
    .ms-selection-card small {
        font-size:  8px;
        margin-bottom:  12px;
    }
    .ms-selection-card span {
        margin-top:  15px;
    }
    .ms-selection-card img {
        right:  -15px;
        bottom:  -8px;
        width:  66%;
        max-width:  350px;
    }
    .ms-brands {
        margin-top:  43px;
    }
    .ms-brand-grid {
        gap:  8px;
    }
    .ms-brand-grid a {
        height:  78px;
        gap:  8px;
    }
    .ms-brand-grid strong {
        font-size:  15px;
    }
    .ms-brand-grid a:nth-child(3) strong {
        font-size:  12px;
    }
    .ms-brand-grid a:nth-child(5) strong {
        font-size:  13px;
    }
    .ms-brand-grid span {
        font-size:  8px;
    }
    .ms-shopping-guide {
        margin-top:  45px;
        padding:  34px 0;
    }
    .ms-shopping-guide .ms-section-heading {
        margin-bottom:  26px;
    }
    .ms-guide-grid {
        grid-template-columns:  repeat(2,1fr);
        gap:  25px 20px;
    }
    .ms-guide-grid>div {
        padding-left:  13px;
    }
    .ms-guide-grid b {
        font-size:  20px;
    }
    .ms-guide-grid h3 {
        font-size:  12px;
        margin:  7px 0;
    }
    .ms-guide-grid p {
        font-size:  10px;
        line-height:  1.8;
    }
    .ms-faq {
        padding-top:  36px;
        padding-bottom:  35px;
    }
    .ms-faq .ms-section-heading {
        margin-bottom:  20px;
    }
    .ms-faq summary {
        padding:  16px 3px;
        font-size:  11px;
        gap:  9px;
    }
    .ms-faq summary:before {
        font-size:  17px;
        margin-right:  1px;
    }
    .ms-faq summary>span {
        font-size:  18px;
    }
    .ms-faq details p {
        font-size:  10px;
        padding:  0 28px 18px;
    }
    .ms-service-bar>.ms-container {
        padding:  19px 0;
    }
    .ms-service-bar>.ms-container>div {
        display:  flex;
        flex-direction:  column;
        gap:  5px;
    }
    .ms-service-bar span {
        font-size:  24px;
    }
    .ms-service-bar strong {
        font-size:  10px;
    }
    .ms-service-bar small {
        font-size:  7px;
    }
    .ms-footer {
        padding-top:  30px;
    }
    .ms-footer-main {
        grid-template-columns:  1fr 1fr;
        gap:  28px 24px;
        padding-bottom:  28px;
    }
    .ms-footer-brand {
        gap:  0;
        display:  block;
    }
    .ms-footer .ms-logo-mark {
        font-size:  40px;
    }
    .ms-footer .ms-logo-type strong {
        font-size:  22px;
    }
    .ms-footer-brand p {
        font-size:  9px;
        margin-top:  14px;
    }
    .ms-footer-column {
        gap:  11px;
    }
    .ms-footer-column h2 {
        font-size:  11px;
        margin-bottom:  3px;
    }
    .ms-footer-column a {
        font-size:  9px;
    }
    .ms-footer-bottom {
        padding:  14px 0;
    }
    .ms-footer-bottom>.ms-container {
        font-size:  8px;
        gap:  8px;
        flex-wrap:  wrap;
    }
    .ms-footer-bottom span {
        display:  none;
    }
    .ms-back-top {
        margin-left:  auto;
        font-size:  8px;
    }
    .ms-storefront #main>.container {
        margin-top:  24px;
        margin-bottom:  35px;
    }
    .ms-product-list-card {
        grid-template-columns:  110px 1fr;
        gap:  14px;
    }
    .ms-product-list-card .ms-product-info {
        padding:  0;
    }
    .ms-product-list-card .ms-product-info h3 {
        font-size:  12px;
        margin-bottom:  8px;
    }
    .ms-product-list-card .ms-product-price {
        font-size:  14px;
    }
    .ms-product-list-card .ms-add-to-cart {
        max-width:  180px;
    }
}

@media(prefers-reduced-motion:reduce) {
    .ms-storefront * {
        scroll-behavior:  auto!important;
    }
    .ms-hero-slide,.ms-product-media img,.ms-selection-card img {
        transition:  none;
    }
    .ms-button-spinner {
        animation:  none;
    }
}

@media(max-width:767px) {
    .ms-storefront #main .container:has(.ms-product-card) .grid.grid-cols-3 {
        grid-template-columns:  repeat(2,minmax(0,1fr));
        gap:  25px 14px;
    }
    .ms-catalog-heading {
        padding-top:  20px;
    }
    .ms-catalog-heading h1 {
        font-size:  21px;
        margin-top:  20px;
    }
    .ms-storefront form:has(>input[name=product_id]) h1 {
        font-size:  21px;
    }
    .ms-storefront:has(.ms-mobile-filterbar) .ms-footer-bottom {
        padding-bottom:  65px;
    }
}

