/* ACE2017 retail presentation: warm white, ink and a restrained vermilion accent.
   Load after page styles. This file does not change sales or verification rules. */
.ace-storefront-v21 {
  --ace-paper: #faf8f4;
  --ace-surface: #fff;
  --ace-ink: #171719;
  --ace-muted: #5e5b57;
  --ace-line: #e5e0d9;
  --ace-red: #cf1321;
  --ace-red-dark: #aa0f1b;
  --ace-red-soft: #fff1ef;
  --ace-home-paper: var(--ace-paper);
  --ace-home-ink: var(--ace-ink);
  --ace-home-muted: var(--ace-muted);
  --ace-home-line: var(--ace-line);
  --ace-home-red: var(--ace-red);
  background: var(--ace-paper);
  color: var(--ace-ink);
}
.ace-storefront-v21 :is(a,button,input,select,textarea,summary):focus-visible {
  outline: 3px solid var(--ace-red);
  outline-offset: 4px;
}
.ace-storefront-v21 .top {
  background: #fff;
  border-top: 4px solid var(--ace-red);
  border-bottom: 1px solid var(--ace-line);
  box-shadow: none;
}
.ace-storefront-v21 .logo {
  border-radius: 2px;
  background: var(--ace-ink);
  letter-spacing: -.04em;
}
.ace-storefront-v21 .brand { letter-spacing: .025em; color: var(--ace-ink); }
.ace-storefront-v21 .ace-header-search { border-radius: 3px; background: var(--ace-paper); }
.ace-storefront-v21 .quick-request {
  background: var(--ace-red);
  border-radius: 3px;
}
.ace-storefront-v21 .ace-desktop-nav a { color: var(--ace-ink); }
.ace-storefront-v21 .ace-desktop-nav a[aria-current="page"] {
  color: var(--ace-red);
  border-bottom: 3px solid var(--ace-red);
}
.ace-storefront-v21 .ace-desktop-nav a:hover { color: var(--ace-red); }
.ace-storefront-v21 .ace-mobile-section[aria-current="page"] {
  background: var(--ace-red-soft);
  color: var(--ace-red);
  box-shadow: inset 0 -3px var(--ace-red);
}
#app .ace-language-picker select {
  background: #fff;
  border-radius: 3px;
  border-color: var(--ace-line);
}
.ace-storefront-v21 .btn.primary,
.ace-storefront-v21 .production-save { background: var(--ace-red); color: #fff; }
.ace-storefront-v21 .btn.dark { background: var(--ace-ink); color: #fff; }
.ace-storefront-v21 .btn { border-radius: 4px; }
.ace-storefront-v21 input[type="checkbox"],
.ace-storefront-v21 input[type="radio"] { accent-color: var(--ace-red); }
.ace-storefront-v21 .tabbar .tab.on { color: var(--ace-red); }
.ace-storefront-v21 .ace-desktop-footer { border-top: 3px solid var(--ace-ink); }

/* A compact editorial opening leaves the product collection in view. */
#app #home { color: var(--ace-ink); }
#app #home .ace-service-line { margin-bottom: 12px; font-size: 13px; color: var(--ace-muted); }
#app #home .ace-service-line a { color: var(--ace-red); }
#app #home .home-intro-layout { gap: 14px; }
#app #home .hero.v42.v43 {
  padding: 26px 24px;
  border: 0;
  border-radius: 4px;
  background: #19191b;
  color: #fff;
  box-shadow: inset 5px 0 var(--ace-red);
}
#app #home .hero.v42.v43 .eyebrow {
  margin: 0 0 10px;
  font-size: 12px;
  color: #e7dfd3;
  letter-spacing: .09em;
}
#app #home .hero.v42.v43 .hero-v42-title {
  color: #fff;
  font-size: clamp(28px, 3.3vw, 40px);
  line-height: 1.3;
  letter-spacing: .025em;
}
#app #home .hero.v42.v43 .hero-v42-light,
#app #home .hero.v42.v43 .hero-v42-simple {
  margin-top: 9px;
  color: #e3ded7;
  font-size: 14px;
  line-height: 1.65;
}
#app #home .hero.v42.v43 .hero-v42-slogan { margin-top: 13px; gap: 8px 16px; border: 0; }
#app #home .hero.v42.v43 .hero-v42-slogan > * {
  border: 0;
  padding: 0;
  border-radius: 0;
  background: none;
  color: #f5eee4;
  font-size: 13px;
  line-height: 1.5;
}
#app #home .hero.v42.v43 .hero-v42-slogan > *::before { color: #ff6972; }
#app #home .hero.v42.v43 .actions { margin-top: 17px; gap: 10px; }
#app #home .hero.v42.v43 .actions .btn {
  flex: 0 1 auto;
  min-width: 128px;
  min-height: 44px;
  padding: 10px 17px;
  border-radius: 3px;
  font-size: 14px;
}
#app #home .hero.v42.v43 .actions .btn.primary {
  background: var(--ace-red);
  color: #fff;
  border-color: var(--ace-red);
}
#app #home .hero.v42.v43 .actions .btn.light { background: transparent; border-color: #aaa29b; color: #fff; }
#app #home .home-service-panel {
  padding: 20px 22px;
  border-radius: 4px;
  border-color: var(--ace-line);
  gap: 14px;
}
#app #home .ai-shop-search-top { align-items: center; gap: 10px; }
#app #home .ai-shop-search-icon { width: 38px; height: 38px; flex-basis: 38px; border-radius: 2px; background: #19191b; color: #fff; font-size: 13px; }
#app #home .ai-shop-search-main b { font-size: 19px; line-height: 1.45; }
#app #home .ai-shop-search-main small { margin-top: 3px; font-size: 13px; line-height: 1.5; }
#app #home .ai-shop-search-row { margin-top: 14px; }
#app #home .ai-shop-search-row :is(input,button) { min-height: 44px; border-radius: 3px; font-size: 15px; }
#app #home .ai-shop-search-row button { background: var(--ace-ink); }
#app #home .ai-shop-photo { min-height: 44px; padding-top: 8px; margin-top: 4px; font-size: 13px; }
#app #home .home-member-strip { padding-top: 11px; }
#app #home .home-member-strip a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px 12px; font-size: 14px; }
#app #home .home-member-strip a > span { margin: 0; font-size: 13px; }
#app #home .home-member-strip a b { color: var(--ace-red); }
#app #home .sec,
#app #home .home-first-sec { margin: 27px 0 14px !important; }
#app #home .sec h2,
#app #home .ace-section-heading h2 { margin-top: 3px; font-size: 25px; line-height: 1.4; }
#app #home :is(.sec small,.ace-section-heading small) { color: var(--ace-red); font-size: 12px; letter-spacing: .06em; }
#app #home :is(.sec > a,.sec > span,.ace-section-heading > span) { font-size: 13px; }
#app #home .home-carousel-slide,
#app #home .home-catalog-card { border-radius: 4px; border-color: var(--ace-line); box-shadow: none; }
#app #home .home-carousel-slide { padding: 11px; }
#app #home .home-core.v43 .home-good-visual { border-radius: 2px; background: #f3f1ed; }
#app #home .home-core.v43 .s-info { margin-top: 10px; }
#app #home .home-core.v43 .s-title { min-height: 3.1em; -webkit-line-clamp: 2; font-size: 15px; line-height: 1.55; color: var(--ace-ink); }
#app #home .home-core.v43 .s-sub { margin-top: 5px; font-size: 13px; }
#app #home .s-price .domestic-price__jpy { color: var(--ace-red); font-size: 23px; }
#app #home .s-price :is(.domestic-price__label,.domestic-price__scope,.domestic-price__cny) { font-size: 12px; color: var(--ace-muted); }
#app #home .s-price .domestic-price__pending { font-size: 16px; }
#app #home .home-core.v43 .home-request-card { padding: 17px 22px; gap: 12px; border-radius: 4px; border-color: var(--ace-line); background: #f0ece5; }
#app #home .home-core.v43 .hr-law { color: var(--ace-red); font-size: 12px; }
#app #home .home-core.v43 .hr-adult { font-size: 20px; margin-top: 3px; line-height: 1.4; }
#app #home .home-core.v43 .hr-special { margin-top: 4px; font-size: 14px; }
#app #home .home-core.v43 .hr-note { margin-top: 4px; font-size: 12px; }
#app #home .home-core.v43 .hr-btn { background: #fff; color: var(--ace-ink); border-color: #c8c2b9; border-radius: 3px; font-size: 14px; }
#app #home .ace-section-entry,
#app #home .home-catalog { margin-top: 28px; }
#app #home .ace-section-card { border-radius: 4px; background: #fff; border-color: var(--ace-line); padding: 20px; }
#app #home .ace-section-card--tobacco_alcohol { background: #211f20; border-color: #211f20; }
#app #home .ace-section-card--tobacco_alcohol :is(strong,.ace-section-kicker,.ace-section-subtitle) { color: #f5efe7; }
#app #home .ace-section-card--medical { background: #f0ece5; }
#app #home .ace-section-card strong { font-size: 22px; }
#app #home .ace-section-icon { width: 48px; height: 48px; margin: 8px 0; color: var(--ace-red); }
#app #home .ace-section-card--tobacco_alcohol .ace-section-icon { color: #f0ddd2; }
#app #home .ace-section-kicker { color: var(--ace-muted); font-size: 12px; }
#app #home .ace-section-subtitle { font-size: 13px; margin-top: 4px; }
#app #home .ace-section-go { padding-top: 13px; color: var(--ace-red); font-size: 14px; }
#app #home .ace-section-card--tobacco_alcohol .ace-section-go { color: #ffb6b7; }
#app #home .ace-category-strip { padding: 14px 0; }
#app #home .ace-category-links a { border-radius: 3px; font-size: 13px; }
#app #home .home-catalog-lead { margin-bottom: 14px; font-size: 14px; }
#app #home .home-catalog-image { background: #f3f1ed; padding: 14px; }
#app #home .home-catalog-card--medical .home-catalog-image { background: #ede9e2; }
#app #home .home-catalog-card--tobacco_alcohol .home-catalog-image { background: #e9e4df; }
#app #home .home-catalog-body { padding: 13px 14px 0; }
#app #home .home-catalog-category { font-size: 12px; color: var(--ace-muted); }
#app #home .home-catalog-body h2 { font-size: 15px; line-height: 1.55; margin-top: 5px; }
#app #home .home-catalog-body .home-catalog-meta { margin: 6px 0 9px; font-size: 13px; }
#app #home .home-catalog-price { font-size: 21px; color: var(--ace-red); }
#app #home .home-catalog-price--confirm { font-size: 15px; color: var(--ace-ink); }
#app #home :is(.home-price-scope,.home-catalog-service-scope) { font-size: 12px; }
#app #home a.home-catalog-detail { color: var(--ace-ink); font-size: 13px; min-height: 44px; }
#app #home .japan-home-entry { border: 0; border-radius: 4px; background: #211f20; color: #fff; }
#app #home .japan-home-entry :is(h3,p,small) { color: #f1e9dd; }
#app #home .japan-home-entry > a { color: #fff; border: 1px solid #b0a399; background: transparent; border-radius: 3px; }
#app #home :is(.shop-tool,.value-shortcut) { border-radius: 4px; }
#app #home .value-shortcut > a { color: var(--ace-red); }

/* Catalogue titles are a slim editorial band rather than another tall hero. */
#app .page-shop :is(.domestic-mall-heading,.catalog-section-hero) {
  padding: 22px 24px;
  border: 0;
  border-left: 4px solid var(--ace-red);
  border-radius: 3px;
  background: #f0ece5;
  color: var(--ace-ink);
}
#app .page-shop :is(.domestic-mall-heading,.catalog-section-hero) h1 { margin: 5px 0; color: var(--ace-ink); font-size: 29px; line-height: 1.35; }
#app .page-shop :is(.domestic-mall-heading,.catalog-section-hero) p { color: var(--ace-muted); font-size: 14px; line-height: 1.65; }
#app .page-shop :is(.domestic-mall-heading small,.catalog-eyebrow,.catalog-products-heading small) { color: var(--ace-red); font-size: 12px; }
#app .page-shop .catalog-section-hero--adult { background: #211f20; border-left-color: var(--ace-red); }
#app .page-shop .catalog-section-hero--adult :is(h1,p,.catalog-eyebrow) { color: #f4eee6; }
#app .page-shop :is(.domestic-mall-chips,.catalog-hero-tags) { margin-top: 10px; gap: 6px; }
#app .page-shop :is(.domestic-mall-chips,.catalog-hero-tags) span { padding: 4px 8px; background: #fff; border: 1px solid var(--ace-line); border-radius: 3px; color: var(--ace-muted); font-size: 12px; }
#app .page-shop .catalog-section-switch { gap: 9px; max-width: none; margin-bottom: 14px; }
#app .page-shop .catalog-section-switch__item { min-height: 52px; border-radius: 3px; border-color: var(--ace-line); padding: 10px 12px; font-size: 15px; }
#app .page-shop .catalog-section-switch__item[aria-current="page"] { background: #19191b; border-color: #19191b; color: #fff; box-shadow: inset 0 -3px var(--ace-red); }
#app .page-shop .catalog-section-switch__item[aria-current="page"] small { color: #ece4dc; }
#app .page-shop .catalog-browse-toolbar { margin: 18px 0 9px; }
#app .page-shop .production-search :is(input,button) { min-height: 44px; border-radius: 3px; }
#app .page-shop .japan-cat-tabs { margin: 12px 0 16px; }
#app .page-shop .japan-chip { min-height: 44px; padding: 8px 14px; border-radius: 3px; font-size: 13px; }
#app .page-shop .japan-chip.on { color: #fff; background: var(--ace-red); border-color: var(--ace-red); }
#app .page-shop .catalog-products-heading { margin: 18px 0 13px; }
#app .page-shop .catalog-products-heading h2 { margin-top: 3px; font-size: 23px; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-product-card {
  border-color: var(--ace-line);
  border-radius: 4px;
  box-shadow: none;
}
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-product-card :is(.shop-pic,.product-media) { background: #f3f1ed; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-product-card :is(.shop-info,.product-body) { padding: 14px; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-product-card :is(.shop-name,.product-name) { font-size: 15px; line-height: 1.55; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-product-card :is(.shop-spec,.product-unit) { font-size: 13px; margin-top: 6px; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-price { margin: 12px 0 9px; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-price__jpy { color: var(--ace-red); font-size: 23px; }
#app :is(.page-shop,.page-japan-catalog,.product-grid) .domestic-price__pending { font-size: 17px; }
#app :is(.page-shop,.page-japan-catalog) .domestic-product-card .shop-tag { color: var(--ace-muted); background: #f3f1ed; border-radius: 2px; }
#app :is(.page-shop,.page-japan-catalog) .domestic-product-card .btn { border-radius: 3px; color: var(--ace-ink); background: #fff; border-color: #c9c4be; font-size: 13px; }
#app :is(.page-product-detail,.page-japan-product) :is(.product-panel,.product-description,.product-alert-box,.storefront-product-description,.storefront-purchase-note,.storefront-medicine-note) { border-radius: 4px; }
#app :is(.page-product-detail,.page-japan-product) :is(.domestic-price,.product-price-box) { border-radius: 3px; border-color: var(--ace-line); background: #f3f0ea; }
#app :is(.page-product-detail,.page-japan-product) :is(.domestic-price__jpy,.product-final-price) { color: var(--ace-red); }
#app :is(.page-product-detail,.page-japan-product) .product-title,
#app .page-japan-product .jp-product-intro h1 { font-size: clamp(26px, 2.4vw, 32px); line-height: 1.45; }
#app .page-product-detail .product-buybar .buy-now-btn { border-radius: 3px; background: var(--ace-red); }
#app .page-product-detail .product-buybar .buy-now-btn:disabled { background: #e8e4dd; color: #66605a; }

/* Keep image browsing native and horizontal; existing controls remain usable. */
#app :is(.product-gallery,.catalog-customer-gallery-track) { border-radius: 4px; border-color: var(--ace-line); background: #f3f1ed; }
#app :is(.product-gallery-track,.catalog-customer-gallery-track) { overscroll-behavior-x: contain; scroll-snap-type: x mandatory; }
#app :is(.product-gallery-slide,.catalog-customer-gallery-slide) { scroll-snap-align: start; }
#app .catalog-customer-gallery-thumbnails { overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: 8px; scrollbar-width: thin; scrollbar-color: #aaa29a transparent; }
#app .catalog-customer-gallery-thumbnail { flex-shrink: 0; border-radius: 3px; }
#app .product-gallery-slide { background: #f3f1ed; }

/* Focused entry pages share the same quiet black/red identity. */
.ace-storefront-v21.catalog-entry-gated #app { background: #1c1b1d; }
#app .catalog-gate-page { background: #1c1b1d; padding: 28px 18px; }
#app .catalog-gate-brand { margin-bottom: 18px; color: #fff; }
#app .catalog-gate-brand > b { font-size: 24px; letter-spacing: .06em; }
#app .catalog-entry-dialog { max-width: 700px; padding: 30px; border: 0; border-top: 4px solid var(--ace-red); border-radius: 4px; background: #fffdf9; box-shadow: 0 18px 60px #0003; }
#app .catalog-gate-symbol { width: 48px; height: 48px; margin-bottom: 14px; background: #f3ede7; border: 0; color: var(--ace-red); border-radius: 3px; }
#app .catalog-entry-dialog .catalog-eyebrow { color: var(--ace-red); font-size: 12px; letter-spacing: .06em; }
#app .catalog-entry-dialog h1 { color: var(--ace-ink); font-size: 28px; line-height: 1.45; margin: 7px 0 10px; }
#app .catalog-gate-intro { color: var(--ace-muted); font-size: 14px; line-height: 1.8; }
#app .catalog-gate-guidance { padding: 3px 18px; margin: 18px 0; border: 1px solid var(--ace-line); border-radius: 3px; background: #f6f3ed; }
#app .catalog-gate-guidance > div { padding: 12px 0; }
#app .catalog-gate-guidance > div + div { border-color: var(--ace-line); }
#app .catalog-gate-guidance strong { color: var(--ace-ink); font-size: 15px; }
#app .catalog-gate-guidance p { margin-top: 5px; color: var(--ace-muted); font-size: 13px; line-height: 1.8; }
#app .catalog-gate-audience { max-width: 340px; margin-bottom: 15px; }
#app .catalog-gate-audience label { color: var(--ace-muted); font-size: 12px; }
#app .catalog-gate-audience label span { color: var(--ace-muted); font-size: 11px; }
#app .catalog-gate-audience :is(select,input) { min-height: 44px; border-radius: 3px; border-color: #c9c3bb; background: #fff; color: var(--ace-ink); font-size: 16px; }
#app .catalog-gate-check { padding: 16px; border: 1px solid #cac3ba; border-radius: 3px; background: #fff; }
#app .catalog-gate-check input { width: 22px; height: 22px; flex-basis: 22px; accent-color: var(--ace-red); }
#app .catalog-gate-check strong { color: var(--ace-ink); font-size: 15px; line-height: 1.7; }
#app .catalog-gate-check small { color: var(--ace-muted); font-size: 12px; }
#app .catalog-gate-check:has(input:checked) { border-color: var(--ace-red); background: var(--ace-red-soft); }
#app .catalog-gate-actions { gap: 14px; margin-top: 19px; }
#app .catalog-gate-submit { min-height: 48px; border-radius: 3px; background: var(--ace-red); color: #fff; font-size: 15px; font-weight: 650; }
#app .catalog-gate-leave { color: var(--ace-muted); font-size: 13px; }
#app .catalog-gate-footnote { font-size: 12px; color: #d4ccc4; }
#app .catalog-gate-error { border-radius: 3px; color: #96111e; font-size: 14px; }

/* Native product-age dialog; the no-script form remains an ordinary entry page. */
#app dialog.catalog-entry-dialog.catalog-product-age-dialog {
  position: fixed;
  inset: 0;
  width: min(520px, calc(100vw - 32px));
  height: fit-content;
  max-height: calc(100dvh - 32px);
  margin: auto;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 26px;
  color: var(--ace-ink);
}
#app dialog.catalog-product-age-dialog:not([open]) { display: none; }
#app dialog.catalog-product-age-dialog::backdrop { background: rgba(20, 18, 20, .64); }
#app .catalog-product-age-dialog .catalog-gate-symbol { margin-bottom: 11px; }
#app .catalog-product-age-dialog h1 { margin: 6px 0 8px; font-size: 25px; }
#app .catalog-product-age-dialog .catalog-gate-intro { margin: 0 0 17px; }
#app .catalog-product-age-dialog .catalog-gate-audience { max-width: none; margin-bottom: 15px; }
#app .catalog-product-age-dialog .catalog-gate-check { padding: 12px; }
#app .catalog-product-age-dialog .catalog-gate-actions { flex-direction: column; gap: 7px; margin-top: 15px; }
#app .catalog-product-age-dialog .catalog-gate-submit { flex: 0 0 auto; width: 100%; }
#app .catalog-product-age-dialog .catalog-gate-leave { min-height: 44px; }

@media (hover: hover) {
  #app #home :is(.home-carousel-slide,.home-catalog-card):hover { border-color: #b6aaa0; box-shadow: 0 5px 16px #17171908; }
  #app :is(.page-shop,.page-japan-catalog) .domestic-product-card:hover { border-color: #b6aaa0; box-shadow: 0 5px 16px #17171908; }
  #app :is(.btn.primary,.catalog-gate-submit,.quick-request):hover { background: var(--ace-red-dark); }
}
@media (min-width: 900px) {
  #app #home .home-intro-layout { grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); }
  #app #home .home-service-panel { justify-content: center; }
  #app #home .ace-section-card { display: grid; grid-template-columns: minmax(0,1fr) 50px; column-gap: 12px; padding: 18px 22px; min-height: 144px; }
  #app #home .ace-section-icon { grid-column: 2; grid-row: 1 / 4; align-self: center; margin: 0; }
  #app #home .ace-section-kicker,
  #app #home .ace-section-card strong,
  #app #home .ace-section-subtitle,
  #app #home .ace-section-go { grid-column: 1; }
  #app #home .ace-section-go { padding-top: 10px; min-width: 0; }
}
@media (min-width: 1024px) {
  .ace-storefront-v21 .top { padding: 13px 28px 0; }
  .ace-storefront-v21 .headrow { gap: 14px; }
  .ace-storefront-v21 .ace-desktop-nav { gap: 28px; margin-top: 10px; margin-bottom: 0; }
  .ace-storefront-v21 .ace-desktop-nav a { padding: 11px 0; font-size: 14px; }
  .ace-storefront-v21 #app main > .page > .pad { padding: 22px 32px 38px; }
  #app #home .hero.v42.v43 { padding: 23px 30px; }
  #app #home .home-carousel-track { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
  #app #home .home-core.v43 .home-good-visual { height: 180px; }
  #app #home .home-catalog-grid { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
  #app #home .home-catalog-image { height: 180px; }
  #app .page-shop .production-products,
  #app .page-japan-catalog .production-products { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
  #app .page-shop :is(.domestic-mall-heading,.catalog-section-hero) { padding: 19px 27px; }
  #app .page-shop :is(.domestic-mall-heading,.catalog-section-hero) h1 { font-size: 31px; }
  #app .page-product-detail .product-gallery-slide { height: clamp(380px,34vw,510px); }
  #app .page-japan-product .catalog-customer-gallery-slide > img { height: clamp(380px,34vw,510px); }
  #app .page-product-detail .product-detail-summary { padding: 24px 27px 12px; }
}
@media (min-width: 1200px) {
  #app #home .home-carousel-track,
  #app #home .home-catalog-grid,
  #app .page-shop .production-products,
  #app .page-japan-catalog .production-products { grid-template-columns: repeat(5,minmax(0,1fr)); }
  #app #home .home-core.v43 .home-good-visual,
  #app #home .home-catalog-image { height: 174px; }
}
@media (max-width: 767px) {
  .ace-storefront-v21 .top { padding: 13px 15px; }
  #app #home .hero.v42.v43 { padding: 22px; }
  #app #home .home-service-panel { padding: 13px; }
  #app #home .sec h2,
  #app #home .ace-section-heading h2 { font-size: 22px; }
  #app #home .ace-section-card { padding: 16px 11px; }
  #app #home .ace-section-card strong { font-size: 17px; }
  #app #home .ace-section-subtitle { font-size: 12px; }
  #app #home .ace-section-go { font-size: 13px; }
  #app .page-shop .catalog-section-switch__item { flex-direction: column; font-size: 14px; }
  #app .page-shop .catalog-section-switch__item small { font-size: 11px; }
  #app .page-shop .production-products { gap: 12px; }
  #app :is(.page-shop,.page-japan-catalog) .domestic-product-card .shop-info { padding: 13px 11px; }
  #app .catalog-entry-dialog { padding: 25px 20px; }
  #app .catalog-entry-dialog h1 { font-size: 25px; }
  #app .catalog-gate-audience { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
  #app :is(.home-carousel-track,.product-gallery-track,.catalog-customer-gallery-track,.catalog-customer-gallery-thumbnails) { scroll-behavior: auto; }
  #app :is(.home-carousel-slide,.home-catalog-card,.domestic-product-card) { transition: none; }
}

.ace-compare-choice[hidden],.ace-compare-bar[hidden]{display:none!important}.ace-compare-choice{display:flex;align-items:center;gap:7px;font-size:13px;min-height:40px;margin-top:8px;cursor:pointer}.ace-compare-choice input{width:17px;height:17px;accent-color:#c8102e}.ace-compare-bar{position:fixed;z-index:90;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:12px 22px;border-radius:4px;box-shadow:0 6px 26px #0003;background:#171717;color:white;max-width:calc(100% - 24px)}.ace-compare-bar button{font:inherit;white-space:nowrap;min-height:44px;padding:8px 16px;background:#c8102e;color:white;border:0;border-radius:3px;cursor:pointer}.ace-compare-bar button:disabled{opacity:.55;cursor:default}.ace-compare-bar [data-compare-clear]{background:transparent;border:1px solid #aaa}.ace-compare-dialog{max-width:min(900px,calc(100vw - 28px));border:1px solid #d8d2c9;border-radius:5px;padding:24px;color:#171717;background:#f7f4ef}.ace-compare-dialog::backdrop{background:#171717a6}.ace-compare-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.ace-compare-heading button{font-size:26px;width:44px;height:44px;border:1px solid #ccc;background:white;cursor:pointer}.ace-compare-table-wrap{overflow:auto}.ace-compare-dialog table{border-collapse:collapse;width:100%;font-size:14px}.ace-compare-dialog th,.ace-compare-dialog td{border:1px solid #ded8ce;padding:12px;min-width:110px;max-width:240px;overflow-wrap:anywhere;text-align:left}.ace-compare-dialog th{background:#eee9e1}.ace-compare-dialog button:focus-visible,.ace-compare-bar button:focus-visible{outline:3px solid #fff;outline-offset:3px}.ace-compare-dialog button:focus-visible{outline-color:#c8102e}@media(max-width:767px){.ace-compare-bar{bottom:80px;gap:8px;padding:8px 10px;font-size:12px}.ace-compare-bar button{padding:5px 10px}.ace-compare-dialog{padding:16px}}
