/*
 * Element Japan — storefront editorial polish layer
 * This layer changes typography, dividers and spacing;
 * it does not change assets, product data, pricing, gallery order or Hero.
 */

:root {
  --preview-ink: #222220;
  --preview-muted: #73716c;
  --preview-rule: #e6e4df;
  --preview-paper: #ffffff;
}

body,
button,
input,
select,
textarea {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    "PingFang TC",
    "Noto Sans TC",
    "Hiragino Kaku Gothic ProN",
    sans-serif;
  color: var(--preview-ink);
}

/* Product index: retain the existing four-column rhythm and improve hierarchy. */
.product-section {
  background: var(--preview-paper);
}

.product-group-heading,
.product-group-title {
  border-top-color: var(--preview-rule);
}

.product-group-title,
.product-group-heading .product-group-title {
  font-weight: 600;
  line-height: 1.3;
}

.product-group-heading p {
  color: var(--preview-muted);
  font-weight: 400;
}

.selection-card .product-list-info {
  margin-top: 15px;
}

.selection-card .product-list-name {
  color: var(--preview-ink);
  font-weight: 600;
  line-height: 1.48;
  text-decoration-color: color-mix(in srgb, var(--preview-ink) 28%, transparent);
  text-underline-offset: 5px;
}

.selection-card .product-list-name-ja {
  margin-top: 6px;
  color: var(--preview-muted);
  font-weight: 400;
  line-height: 1.65;
}

.product-index-card {
  margin-top: 15px;
  border-top: 1px solid var(--preview-rule);
}

.product-index-row {
  min-height: 48px;
  border-bottom-color: var(--preview-rule);
}

.product-index-label,
.product-index-value {
  padding-top: 11px;
  padding-bottom: 10px;
  line-height: 1.55;
}

.product-index-label {
  color: var(--preview-muted);
  font-weight: 400;
}

.product-index-value {
  border-left-color: var(--preview-rule);
  color: var(--preview-ink);
  font-weight: 500;
}

.product-index-label small,
.product-index-value small {
  color: var(--preview-muted);
  line-height: 1.55;
}

.selection-card .product-list-price {
  margin-top: 15px;
  color: var(--preview-ink);
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.selection-card .product-list-status {
  color: var(--preview-muted);
}

.selection-card .product-list-cta {
  margin-top: 12px;
  padding-top: 10px;
  border-top-color: var(--preview-rule);
  font-weight: 600;
}

.selection-card .product-list-cta span {
  font-weight: 400;
}

.editorial-merch-controls button {
  border-color: var(--preview-rule);
}

/* Inquiry and footer: quieter rules, same information and actions. */
.guide-section {
  border-top-color: var(--preview-rule);
}

.guide-intro h2 {
  color: var(--preview-ink);
  font-weight: 500;
}

.inquiry-guide label,
.inquiry-guide-copy p {
  color: var(--preview-muted);
}

.inquiry-guide select {
  border-bottom-color: var(--preview-rule);
}

.inquiry-guide-copy strong {
  font-weight: 600;
}

.footer-main strong {
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    "PingFang TC",
    "Noto Sans TC",
    sans-serif;
  font-style: normal;
  font-weight: 500;
  letter-spacing: -0.02em;
}

/* Product drawer: product evidence leads, metadata recedes. */
.product-detail-media,
.product-detail-media .product-gallery,
.product-detail-body,
.product-mobile-summary {
  border-color: var(--preview-rule);
}

.product-detail-body h2,
.product-mobile-summary h2 {
  font-weight: 600;
  line-height: 1.35;
}

.product-key-facts,
.product-detail-disclosure,
.product-fact-list,
.size-guide-table {
  border-color: var(--preview-rule);
}

.product-key-facts dt,
.product-fact-list dt,
.product-detail-disclosure summary small {
  color: var(--preview-muted);
  font-family:
    "Helvetica Neue",
    Helvetica,
    Arial,
    "PingFang TC",
    "Noto Sans TC",
    sans-serif;
  font-weight: 400;
}

.product-key-facts dd,
.product-fact-list dd,
.product-detail-disclosure summary span {
  font-weight: 500;
}

.product-narrative,
.product-detail-copy,
.size-guide-meta {
  color: #44433f;
  line-height: 1.9;
}

@media (max-width: 520px) {
  .selection-card .product-list-info {
    margin-top: 10px;
  }

  .selection-card .product-list-name {
    font-weight: 600;
    line-height: 1.48;
  }

  .selection-card .product-list-name-ja {
    margin-top: 5px;
    color: var(--preview-muted);
    line-height: 1.55;
  }

  .selection-card .product-list-price {
    margin-top: 12px;
    font-size: 14px;
  }

  .selection-card .product-list-cta {
    border-top-color: var(--preview-rule);
  }
}
