/* ETL-PDP-REVIEW-STAR-SLOT-20260916: 评论星级行由插件异步插入，预留其高度避免页面下跳（手机 6+24+8=38px，电脑 16px）；带 section id 是为了压过 product/detail.css 里 body.pdp-boosted 的 min-height:0 !important*/
#shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__info > [id$="___info___17752087858193eab90e"]{min-height:16px !important}
@media (max-width:749px){#shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__info > [id$="___info___17752087858193eab90e"]{min-height:38px !important}}

/* ===== 来源：模板 product.NEW-dingzhi → main-product-info › info › custom-html 块 etl-sticky-tax-dedupe-css-20260511b（2026-09-16 从内联样式抽出） ===== */
#shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__price .product-price__item:not(.product-price__item--compare) {
  font-family: Arial, "Helvetica Neue", sans-serif !important;
  font-size: 1.5714rem !important;
  font-weight: 500 !important;
  font-variant-numeric: tabular-nums;
  line-height: 1.6 !important;
  white-space: nowrap !important;
}

#shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__price .tax-included-marker,
#shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__price .product-price__item:not(.product-price__item--compare):not(:has(> .tax-included-marker))::after {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 20px !important;
  padding: 2px 8px !important;
  margin-left: 8px !important;
  border-radius: 999px !important;
  background: #a43a2f !important;
  color: #fff !important;
  content: "税込";
  font-family: Arial, "Helvetica Neue", sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.1 !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  transform: translateY(-1px);
}

@media (max-width: 749px) {
  #shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__price .product-price__item:not(.product-price__item--compare) {
    font-size: 22px !important;
    font-weight: 600 !important;
    line-height: 26.4px !important;
  }

  #shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__price .tax-included-marker,
  #shopline-section-template--product--NEW-dingzhi__main-product-info .product-detail__price .product-price__item:not(.product-price__item--compare):not(:has(> .tax-included-marker))::after {
    min-height: 19px !important;
    padding: 2px 7px !important;
    margin-left: 6px !important;
    font-size: 11px !important;
  }
}

/* ===== 来源：模板 product.NEW-dingzhi → main-product-info › info › custom-html 块 etl-degree-compact-20260511（2026-09-16 从内联样式抽出） ===== */
@media (max-width: 749px) {
  .section-recommended-product [class*="title"],
  .section-recommended-product [class*="name"],
  .section-recommended-product [class*="ellipsis"],
  .section-recommended-product .smartWrap,
  .section-recommended-product a {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
  }
}
@media (max-width: 749px) {
  .pdp-sticky-bar {
    padding: 4px 6px !important;
    padding-bottom: calc(4px + env(safe-area-inset-bottom)) !important;
    gap: 8px !important;
    min-height: 48px !important;
    align-items: center !important;
  }

  .pdp-sticky-bar .psb-price {
    flex: 0 0 auto !important;
    min-width: 94px !important;
    max-width: 104px !important;
    display: flex !important;
    align-items: baseline !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    white-space: nowrap !important;
  }

  .pdp-sticky-bar .psb-price-val {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
    font-size: 19px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  .pdp-sticky-bar .psb-price-main {
    font-size: 19px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
  }

  .pdp-sticky-bar .psb-price-tax-inline,
  .pdp-sticky-bar .psb-price-tax {
    display: inline !important;
    font-size: 10px !important;
    line-height: 1 !important;
    color: #555 !important;
    font-weight: 500 !important;
  }

  .pdp-sticky-bar .psb-btn {
    flex: 1 1 auto !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 7px !important;
    font-size: 16px !important;
    line-height: 1 !important;
  }

  body.pdp-boosted {
    padding-bottom: 56px !important;
  }

  .pdp-qam-footer.etl-qam-dual-footer {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px !important;
  }

  .pdp-qam-footer.etl-qam-dual-footer .pdp-qam-cta {
    height: 50px !important;
    min-width: 0 !important;
    font-size: 16px !important;
    white-space: nowrap !important;
  }

  .pdp-qam-footer.etl-qam-dual-footer .etl-qam-cart-cta {
    background: #fff !important;
    color: #1a3a4a !important;
    border: 1px solid #1a3a4a !important;
  }

  .pdp-qam-footer.etl-qam-dual-footer .etl-qam-buy-now-cta {
    background: #1a3a4a !important;
    color: #fff !important;
  }

  .pdp-qam-footer.etl-qam-dual-footer .pdp-qam-cta[disabled] {
    background: #c9c4b8 !important;
    color: #fff !important;
    border-color: #c9c4b8 !important;
  }
}
/* Keep layout styles root-scoped so a dynamically inserted badge is positioned
   against its option from the first paint, before the body state class toggles. */
#plugin-pod .plugin-pod-dropdown-tile-item.etl-seasonal-promo {
  position: relative !important;
  overflow: visible !important;
}

#plugin-pod .plugin-pod-dropdown-tile-item.etl-seasonal-promo.is-autumn {
  border-color: #d7aea4 !important;
  background: linear-gradient(180deg, #fff7f4, #fff 78%) !important;
}

#plugin-pod .plugin-pod-dropdown-tile-item.etl-seasonal-promo.is-summer {
  border-color: #a9cec6 !important;
  background: linear-gradient(180deg, #f4fbf8, #fff 78%) !important;
}

#plugin-pod .plugin-pod-dropdown-tile-item.etl-seasonal-promo.plugin-pod-dropdown-tile-item__active {
  border-color: #231f1c !important;
}

#plugin-pod .etl-seasonal-badge {
  position: absolute;
  top: 0;
  right: 7px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  height: 17px;
  padding: 0 7px;
  border-radius: 999px;
  color: #fff;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  transform: translateY(-58%);
  pointer-events: none;
}

#plugin-pod .etl-seasonal-badge::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: -3px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}

#plugin-pod .etl-seasonal-badge.is-autumn {
  background: linear-gradient(135deg, #c64b34, #87291f);
  box-shadow: 0 4px 10px rgba(135, 41, 31, 0.2);
}

#plugin-pod .etl-seasonal-badge.is-autumn::after {
  background: #87291f;
}

#plugin-pod .etl-seasonal-badge.is-summer {
  background: linear-gradient(135deg, #247466, #17564c);
  box-shadow: 0 4px 10px rgba(23, 86, 76, 0.18);
}

#plugin-pod .etl-seasonal-badge.is-summer::after {
  background: #17564c;
}

#plugin-pod .plugin-pod-dropdown-tile-item.etl-free-option {
  position: relative !important;
  overflow: visible !important;
}

#plugin-pod .etl-free-badge {
  position: absolute;
  top: 0;
  right: 7px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 17px;
  padding: 0 7px;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, #8b6a3e, #5d4324);
  box-shadow: 0 4px 10px rgba(93, 67, 36, 0.2);
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  transform: translateY(-58%);
  pointer-events: none;
}

#plugin-pod .etl-free-badge::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: -3px;
  width: 6px;
  height: 6px;
  background: #5d4324;
  transform: rotate(45deg);
}

#plugin-pod .etl-seasonal-price-stack {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  margin-left: 6px;
  white-space: nowrap;
}

#plugin-pod .etl-seasonal-price-stack > .plugin-pod-dropdown-tile-item-price {
  margin-left: 0 !important;
}

#plugin-pod .etl-seasonal-compare-price {
  color: #a99f98;
  font-size: 12px;
  font-weight: 600;
  text-decoration: line-through;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(135, 41, 31, 0.7);
}

@media (max-width: 767px) {
  #plugin-pod .etl-seasonal-badge {
    right: 6px;
    min-width: 68px;
    padding: 0 6px;
  }

  #plugin-pod .etl-free-badge {
    right: 6px;
    min-width: 32px;
    padding: 0 6px;
    font-size: 9.5px;
  }

  #plugin-pod .etl-seasonal-price-stack {
    gap: 4px;
    margin-left: 5px;
  }

  #plugin-pod .etl-seasonal-compare-price {
    font-size: 11px;
  }
}

/* ===== 来源：模板 product.NEW-dingzhi → main-product-info › info › custom-html 块 1775023166467ae5ee14（2026-09-16 从内联样式抽出） ===== */
  .etl-pck-host {
    display: block;
    width: 100%;
    text-align: left;
    margin: 12px 0 8px;
  }
  .etl-pck {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 2px;
    border: 0;
    background: transparent;
    color: #A88656;
    font-family: 'Hiragino Sans', 'Yu Gothic', 'Noto Sans JP', sans-serif;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-decoration: none !important;
    cursor: pointer;
    transition: color .2s ease;
    box-sizing: border-box;
  }
  .etl-pck * { box-sizing: border-box; text-decoration: none !important; }
  .etl-pck:hover { color: #2E2A26; }
  .etl-pck__q { flex: 0 0 16px; width: 16px; height: 16px; display: inline-flex; }
  .etl-pck__label { text-decoration: underline !important; text-underline-offset: 3px; }
  .etl-pck__arrow { flex: 0 0 14px; width: 14px; height: 14px; transition: transform .2s ease; }
  .etl-pck:hover .etl-pck__arrow { transform: translateX(3px); }
  @media (max-width: 480px) { .etl-pck { font-size: 12.5px; } }
    :host {
      font-family: 'Yu Gothic', 'Meiryo', 'Hiragino Sans', sans-serif;
      color: #1a3a5c;
      line-height: 1.8;
      -webkit-font-smoothing: antialiased;
      -webkit-tap-highlight-color: transparent;
    }
    #btnOpenTest { display: none !important; }

  /* ===== Reset ===== */
  :where(#btnOpenTest,
    #btnOpenTest *,
    #btnOpenTest *::before,
    #btnOpenTest *::after,
    .popup,
    .popup *,
    .popup *::before,
    .popup *::after,
    .popup-mask) { box-sizing: border-box; margin: 0; padding: 0; }
  /* Shopline owns page-level html/body sizing. */
  :where(#btnOpenTest, .popup button) { font: inherit; cursor: pointer; border: none; background: none; color: inherit; }
  :where(#btnOpenTest, .popup button):focus-visible { outline: 3px solid #e89556; outline-offset: 2px; }

  /* ===== Tokens ===== */
  #btnOpenTest,
  .popup,
  .popup-mask {
    --bg-page: #f5ede0;
    --bg-card: #faf6f0;
    --bg-card-alt: #ffffff;
    --c-ink: #1a3a5c;
    --c-ink-soft: #4a5a70;
    --c-ink-mute: #8a8578;
    --c-accent: #e89556;
    --c-accent-deep: #c87142;
    --c-gold: #d4a574;
    --c-success: #5b9b6f;
    --c-danger: #c25555;
    --c-neutral: #6b7a8f;
    --c-line: #e8dfce;
    --shadow-lg: 0 10px 40px rgba(26,58,92,0.12), 0 2px 8px rgba(26,58,92,0.06);
    --shadow-sm: 0 2px 8px rgba(26,58,92,0.08);
    --radius-lg: 24px;
    --radius-md: 16px;
    --radius-sm: 10px;
    --font-jp: 'Zen Maru Gothic', 'Noto Sans JP', 'Hiragino Maru Gothic ProN', sans-serif;
    --ease-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
  }

  .main-page__content.rte:has(#btnOpenTest) {
    font-family: var(--font-jp);
    color: var(--c-ink);
    line-height: 1.8;
    -webkit-font-smoothing: antialiased;
    -webkit-tap-highlight-color: transparent;
  }

  /* ===== PDP 模拟按钮 ===== */
  .pdp-trigger {
    background: linear-gradient(135deg, var(--c-ink) 0%, #2a4a6c 100%);
    color: #fff;
    padding: 22px 32px;          /* v3: 18/28 */
    border-radius: 20px;
    font-size: 22px;             /* v3: 19px */
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: var(--shadow-lg);
    display: inline-flex;
    align-items: center;
    gap: 14px;
    transition: transform 0.3s var(--ease-pop), box-shadow 0.3s ease;
    max-width: 92vw;
  }
  .pdp-trigger:hover, .pdp-trigger:active { transform: translateY(-2px); }
  .pdp-trigger .icon { display: inline-flex; }
  .pdp-trigger .arrow { font-size: 22px; }

  /* ===== Popup ===== */
  .popup-mask {
    position: fixed; inset: 0;
    background: rgba(26,58,92,0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 9998;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
  }
  .popup-mask.is-open { opacity: 1; pointer-events: auto; }

  .popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0;
    pointer-events: none;
  }
  @media (min-height: 700px) { .popup { align-items: center; padding: 16px; } }

  .popup-card {
    background: var(--bg-card);
    width: 100%;
    max-width: 480px;
    max-height: 94vh;
    border-radius: 28px 28px 0 0;
    box-shadow: var(--shadow-lg);
    pointer-events: auto;
    transform: translateY(100%);
    transition: transform 0.4s var(--ease-pop);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    position: relative;
  }
  @media (min-height: 700px) { .popup-card { border-radius: 28px; } }
  .popup.is-open .popup-card { transform: translateY(0); }

  .popup-header {
    flex: 0 0 auto;
    padding: 18px 18px 0 22px;   /* v3: 14/18/0/22 */
    display: flex;
    align-items: center;
    gap: 16px;                   /* v3: 14 */
  }
  .popup-header .progress { flex: 1; }
  .popup-close {
    flex: 0 0 48px;              /* v3: 40 */
    width: 48px; height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,0.85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--c-ink);
    transition: background 0.2s ease;
    border: 1px solid var(--c-line);
  }
  .popup-close:hover, .popup-close:active { background: #fff; }
  .popup-close svg { width: 22px; height: 22px; } /* v3: 18 */

  .popup-body {
    flex: 1;
    overflow-y: auto;
    padding: 18px 22px 32px;     /* v3: 14/22/28 */
    -webkit-overflow-scrolling: touch;
  }

  .progress {
    height: 12px;                /* v3: 8 */
    background: var(--c-line);
    border-radius: 6px;
    overflow: hidden;
  }
  .progress-bar {
    height: 100%;
    background: linear-gradient(90deg, var(--c-accent) 0%, var(--c-accent-deep) 100%);
    border-radius: 6px;
    transition: width 0.5s var(--ease-pop);
    width: 0%;
  }

  /* ===== Step view ===== */
  .step { display: none; animation: fadeIn 0.4s ease both; }
  .step.is-active { display: block; }
  @keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* ===== Typography (v4: 全面拡大) ===== */
  .eyebrow {
    font-size: 18px;             /* v3: 13px */
    color: var(--c-ink-mute);
    letter-spacing: 0.10em;
    font-weight: 600;
    text-align: center;
    margin-bottom: 12px;         /* v3: 8 */
  }
  .eyebrow .sep { margin: 0 8px; opacity: 0.5; }
  .eyebrow .sub {
    color: var(--c-accent-deep);
    font-weight: 700;
  }
  .step-title {
    font-size: 34px;             /* v3: 26 */
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 20px;         /* v3: 14 */
    color: var(--c-ink);
    letter-spacing: 0.01em;
  }
  .step-subtitle {
    font-size: 22px;             /* v3: 17 */
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 18px;
    color: var(--c-ink-soft);
  }
  .step-desc {
    font-size: 22px;             /* v3: 17 */
    line-height: 1.85;           /* v3: 1.75 */
    color: var(--c-ink-soft);
    text-align: center;
    margin-bottom: 28px;         /* v3: 22 */
  }
  .step-desc strong {
    color: var(--c-accent-deep);
    font-weight: 700;
  }

  /* ===== Buttons (v4: 高さ・字号拡大) ===== */
  .btn-row {
    display: flex;
    gap: 14px;
    margin-top: 26px;
  }
  .btn-stack {
    display: flex;
    flex-direction: column;
    gap: 14px;                   /* v3: 10 */
    margin-top: 26px;
  }
  .btn {
    flex: 1;
    min-height: 64px;            /* v3: 60 / row 用 */
    border-radius: 20px;
    font-size: 24px;             /* v3: 18 */
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    transition: transform 0.18s var(--ease-pop), box-shadow 0.18s ease, background 0.18s ease;
    padding: 0 18px;
    letter-spacing: 0.02em;
    width: 100%;
    text-decoration: none;
  }
  .btn-stack .btn {
    min-height: 76px;            /* stack 用は更に大きく */
  }
  .btn:active { transform: scale(0.97); }
  .btn.is-flashing { animation: btnFlash 0.25s ease; }
  @keyframes btnFlash {
    0% { transform: scale(1); }
    40% { transform: scale(0.96); box-shadow: 0 0 0 6px rgba(232,149,86,0.18); }
    100% { transform: scale(1); }
  }
  .btn-primary {
    background: linear-gradient(135deg, var(--c-accent) 0%, var(--c-accent-deep) 100%);
    color: #fff;
    box-shadow: 0 6px 18px rgba(232,149,86,0.35);
  }
  .popup a.btn-primary,
  .popup a.btn-primary:visited {
    color: #fff;
  }
  /* v5: 視標 3 ボタン実心化 — 遠目でも 3 色秒で識別 / WCAG AAA 7:1+ */
  .btn-success {
    background: #1B5E20;          /* 深緑、白字とコントラスト 11.7:1 */
    color: #ffffff;
    border: 2px solid #1B5E20;
  }
  .btn-success:active { background: #0E3911; border-color: #0E3911; }
  .btn-neutral {
    background: #BF360C;          /* 暖橙赤、白字とコントラスト 7.3:1 (AAA) */
    color: #ffffff;
    border: 2px solid #BF360C;
  }
  .btn-neutral:active { background: #8C2706; border-color: #8C2706; }
  .btn-danger {
    background: #B71C1C;          /* 深紅、白字とコントラスト 9.4:1 */
    color: #ffffff;
    border: 2px solid #B71C1C;
  }
  .btn-danger:active { background: #7F1212; border-color: #7F1212; }
  .btn-ghost {
    background: rgba(255,255,255,0.8);
    color: var(--c-ink);
    border: 1.5px solid var(--c-line);
  }
  .btn-full { width: 100%; }
  .btn svg { width: 24px; height: 24px; } /* v3: 18 / 20 */

  /* ===== 用途分診タイル ===== */
  .scenario-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;                   /* v3: 10 */
    margin: 8px 0 20px;
  }
  .scenario-tile {
    background: #fff;
    border: 2px solid var(--c-line);
    border-radius: 20px;
    padding: 22px 14px 18px;     /* v3: 16/10/14 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 148px;           /* v3: 116 */
    transition: transform 0.2s var(--ease-pop), border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    text-align: center;
  }
  .scenario-tile:active { transform: scale(0.97); }
  .scenario-tile.is-selected {
    border-color: var(--c-accent-deep);
    background: #fff8eb;
    box-shadow: 0 4px 14px rgba(200,113,66,0.18);
  }
  .scenario-tile .tile-icon {
    width: 56px;                 /* v3: 44 */
    height: 56px;
    color: var(--c-ink);
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .scenario-tile .tile-icon svg {
    width: 100%;
    height: 100%;
  }
  .scenario-tile.is-selected .tile-icon {
    color: var(--c-accent-deep);
  }
  .scenario-tile .tile-label {
    font-size: 20px;             /* v3: 14.5 */
    font-weight: 700;
    color: var(--c-ink);
    line-height: 1.35;
  }
  .scenario-tile .tile-sub {
    font-size: 17px;             /* v3: 11.5 */
    color: var(--c-ink-mute);
    font-weight: 500;
    letter-spacing: 0.02em;
  }

  /* 年齢ブロック */
  .age-fold {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 20px 22px;          /* v3: 14/16 */
    margin-top: 8px;
    margin-bottom: 8px;
    box-shadow: var(--shadow-sm);
  }
  .age-fold-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 20px;             /* v3: 14.5 */
    color: var(--c-ink-soft);
    font-weight: 600;
  }
  .age-fold-head .age-current {
    color: var(--c-accent-deep);
    font-weight: 700;
    font-size: 24px;             /* v3: 17 */
  }
  .age-fold .age-slider {
    margin-top: 18px;
  }
  .age-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 12px;                /* v3: 8 */
    border-radius: 6px;
    background: linear-gradient(90deg, var(--c-gold) 0%, var(--c-accent) 100%);
    outline: none;
  }
  .age-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 40px;                 /* v3: 32 */
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--c-accent-deep);
    box-shadow: 0 2px 8px rgba(26,58,92,0.2);
    cursor: pointer;
  }
  .age-slider::-moz-range-thumb {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 3px solid var(--c-accent-deep);
    cursor: pointer;
  }
  .age-marks {
    display: flex;
    justify-content: space-between;
    font-size: 16px;             /* v3: 12 */
    color: var(--c-ink-mute);
    margin-top: 12px;
    padding: 0 4px;
    font-weight: 500;
  }

  /* ===== Step: 距離校正 ===== */
  /* v5: 距離数字 hero 化 — 距離校正ページの step-title 内 #distanceCm を超大化 */
  /* 「スマホを <br> [40cm] 離してください」の数字部分のみ hero 視覚に */
  #stepDistance .step-title {
    font-size: 26px;              /* 周辺文字を控えめに（hero を主役にするため）*/
    font-weight: 600;
    line-height: 1.4;
    color: var(--c-ink-soft);
    margin-bottom: 18px;
    letter-spacing: 0.01em;
  }
  #stepDistance .step-title #distanceCm {
    display: block;               /* 独立した一行 hero に */
    font-size: 80px;              /* hero 大字 */
    font-weight: 900;
    color: var(--c-ink);          /* 深紺 #1a3a5c — 浅灰禁止 */
    line-height: 1;
    margin: 24px 0 24px;          /* 上下 24px 強い余白 */
    letter-spacing: -0.01em;
    text-align: center;
    font-family: var(--font-jp);
  }
  @media (max-width: 360px) {
    #stepDistance .step-title { font-size: 22px; margin-bottom: 14px; }
    #stepDistance .step-title #distanceCm { font-size: 68px; margin: 20px 0 20px; }
  }

  .distance-illu {
    background: linear-gradient(180deg, #fff8eb 0%, #fdf1d8 100%);
    border-radius: var(--radius-lg);
    padding: 32px 18px;          /* v3: 28/16 */
    margin: 20px 0 18px;
    text-align: center;
    position: relative;
    overflow: hidden;
  }
  .distance-illu svg { width: 100%; max-width: 280px; height: auto; }
  .distance-reference {
    background: #fff;
    border-radius: 14px;
    padding: 14px 18px;          /* v3: 10/14 */
    margin-top: 16px;
    font-size: 18px;             /* v3: 14 */
    color: var(--c-ink-soft);
    line-height: 1.7;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .distance-reference .ref-icon {
    flex: 0 0 32px;              /* v3: 28 */
    color: var(--c-gold);
  }
  .distance-reference .ref-icon svg { width: 32px; height: 32px; } /* v3: 26 */
  .distance-reference strong {
    color: var(--c-accent-deep);
    font-weight: 700;
  }

  /* ===== Test screen ===== */
  .test-stage {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: 44px 24px 36px;     /* v3: 36/20/28 */
    margin: 10px 0 22px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    min-height: 260px;           /* v3: 220 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .test-stage .symbol-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
    transform: scale(var(--symbol-scale, 1));
    transform-origin: center center;
    transition: transform 0.4s var(--ease-pop);
  }
  .test-stage .symbol-wrap svg {
    color: var(--c-ink);
    transition: width 0.5s var(--ease-pop), height 0.5s var(--ease-pop);
  }
  .test-prompt {
    font-size: 18px;             /* v3: 14 */
    color: var(--c-ink-mute);
    line-height: 1.6;
    margin-top: 6px;
    font-weight: 500;
  }

  /* counter 副題 */
  .eyebrow #testCounter { font-size: 20px; }

  /* ===== Result page ===== */
  .result-hero {
    text-align: center;
    padding: 8px 0 20px;
  }
  .result-glasses-svg {
    width: 100px;                /* v3: 88 */
    height: 64px;
    margin: 0 auto 20px;
    display: block;
  }
  .result-label {
    font-size: 19px;             /* v3: 15 */
    color: var(--c-ink-soft);
    letter-spacing: 0.06em;
    margin-bottom: 10px;
    font-weight: 500;
  }
  .result-power {
    font-size: 72px;             /* v3: 64 */
    font-weight: 900;
    color: var(--c-accent-deep);
    line-height: 1;
    letter-spacing: 0.01em;
    margin-bottom: 10px;
    font-family: var(--font-jp);
  }
  .result-power-unit {
    font-size: 26px;             /* v3: 20 */
    color: var(--c-ink-soft);
    margin-left: 8px;
    font-weight: 500;
  }
  .result-range {
    font-size: 19px;             /* v3: 15 */
    color: var(--c-ink-mute);
    margin-bottom: 26px;
    font-weight: 500;
  }
  .result-scenario-line {
    font-size: 20px;             /* v3: 14 */
    color: var(--c-ink-soft);
    margin-bottom: 12px;
    text-align: center;
    font-weight: 500;
  }
  .result-scenario-line .scen-name {
    color: var(--c-accent-deep);
    font-weight: 700;
  }
  .result-comment {
    background: #fff8eb;
    border-radius: var(--radius-md);
    padding: 22px 24px;          /* v3: 18/20 */
    font-size: 21px;             /* v3: 16 */
    line-height: 1.85;           /* v3: 1.8 */
    color: var(--c-ink);
    margin-bottom: 22px;
    text-align: left;
  }
  .result-comment strong { color: var(--c-accent-deep); font-weight: 700; }
  /* result-comment 内の注釈小字 (v3 では inline-style で 13px) */
  .result-comment .comment-note {
    font-size: 16px;             /* v3: 13px → 16px 底線 */
    color: var(--c-ink-mute);
  }

  /* 場面別 対照表 */
  .scenario-table {
    background: #fff;
    border-radius: var(--radius-md);
    padding: 22px 22px;          /* v3: 16/18 */
    margin-bottom: 22px;
    box-shadow: var(--shadow-sm);
  }
  .scenario-table h4 {
    font-size: 18px;             /* v3: 14 */
    color: var(--c-ink-mute);
    font-weight: 700;
    letter-spacing: 0.08em;
    margin-bottom: 16px;
    text-align: center;
  }
  .scenario-table ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .scenario-table li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 0;             /* v3: 9 */
    border-bottom: 1px dashed var(--c-line);
    font-size: 20px;             /* v3: 15 */
  }
  .scenario-table li:last-child { border-bottom: none; }
  .scenario-table .scen-name-cell {
    display: flex;
    align-items: center;
    gap: 12px;                   /* v3: 8 */
    color: var(--c-ink);
    font-weight: 600;
  }
  .scenario-table .scen-name-cell .mini-icon {
    width: 26px;                 /* v3: 20 */
    height: 26px;
    color: var(--c-accent-deep);
    display: inline-flex;
  }
  .scenario-table .scen-name-cell .mini-icon svg {
    width: 26px;
    height: 26px;
  }
  .scenario-table .scen-power-cell {
    font-weight: 700;
    color: var(--c-accent-deep);
    font-family: var(--font-jp);
    font-size: 22px;             /* v3: 16 */
  }
  .scenario-table .scen-power-cell.is-none {
    color: var(--c-ink-mute);
    font-weight: 500;
    font-size: 18px;             /* v3: 13.5 */
  }
  .scenario-table .table-note {
    margin-top: 14px;
    font-size: 16px;             /* v3: 12 */
    color: var(--c-ink-mute);
    text-align: center;
  }

  .result-disclaimer {
    background: rgba(255,255,255,0.7);
    border-left: 5px solid var(--c-gold);
    padding: 18px 20px;          /* v3: 14/16 */
    font-size: 17px;             /* v3: 13.5 → 17px 底線 */
    line-height: 1.8;
    color: var(--c-ink-mute);
    border-radius: 10px;
    margin-bottom: 26px;
  }
  .result-disclaimer strong {
    color: var(--c-ink-soft);
  }

  /* もどる link */
  .back-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 18px;             /* v3: 14 */
    color: var(--c-ink-mute);
    padding: 10px 14px 10px 6px;
    border-radius: 10px;
    margin-bottom: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-weight: 500;
  }
  .back-link:hover, .back-link:active { color: var(--c-ink); }
  .back-link svg { width: 20px; height: 20px; }  /* v3: 14 */

  /* Misc */
  .hint-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;                   /* v3: 12 */
    background: rgba(255,255,255,0.7);
    border-radius: 14px;
    padding: 18px 20px;          /* v3: 14/16 */
    margin-top: 18px;
    font-size: 19px;             /* v3: 14 */
    color: var(--c-ink-soft);
    line-height: 1.7;
  }
  .hint-card strong { color: var(--c-accent-deep); font-weight: 700; }
  .hint-card .hint-icon {
    flex: 0 0 28px;              /* v3: 24 */
    color: var(--c-accent);
    margin-top: 1px;
  }
  .hint-card .hint-icon svg { width: 28px; height: 28px; }

  /* small phone — v3 では縮めていた、v4 では老花最低保証 */
  @media (max-width: 360px) {
    .step-title { font-size: 28px; }     /* v3: 23 */
    .result-power { font-size: 60px; }   /* v3: 54 */
    .popup-body { padding: 16px 18px 26px; }
    .btn { min-height: 60px; font-size: 22px; }
    .btn-stack .btn { min-height: 72px; }
    .scenario-tile { min-height: 138px; padding: 18px 10px 14px; }
    .scenario-tile .tile-icon { width: 48px; height: 48px; }
    .scenario-tile .tile-label { font-size: 18px; }
    .scenario-tile .tile-sub { font-size: 15px; }
    .step-desc { font-size: 20px; }
    .result-comment { font-size: 19px; }
    .result-disclaimer { font-size: 16px; }
    .hint-card { font-size: 17px; }
    .scenario-table li { font-size: 18px; }
  }

  /* reduced motion */
  @media (prefers-reduced-motion: reduce) {
    :where(#btnOpenTest,
      #btnOpenTest *,
      #btnOpenTest *::before,
      #btnOpenTest *::after,
      .popup,
      .popup *,
      .popup *::before,
      .popup *::after) {
      transition: none !important;
      animation: none !important;
    }
  }

  /* ============================================================
     v6 IFRAME MODE
     被父页 iframe 嵌入时（URL ?iframe=1 触发）：
     - 隐藏 trigger 按钮（父页自己有触发器）
     - popup 自动展开 + 占满 iframe viewport
     - 不显示自身 mask（父页有遮罩）
     - 强隐藏 Shopline 主题 header/footer/nav 包装
     ============================================================ */
  html.etl-iframe-mode,
  html.etl-iframe-mode body {
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    min-height: 100vh !important;
    display: block !important;
    overflow: hidden !important;
  }
  html.etl-iframe-mode body > header,
  html.etl-iframe-mode body > footer,
  html.etl-iframe-mode body > nav,
  html.etl-iframe-mode body > .site-header,
  html.etl-iframe-mode body > .site-footer,
  html.etl-iframe-mode body > .header,
  html.etl-iframe-mode body > .footer,
  html.etl-iframe-mode body > .announcement-bar,
  html.etl-iframe-mode body > .breadcrumb,
  html.etl-iframe-mode .shopline-section-header,
  html.etl-iframe-mode .shopline-section-footer,
  html.etl-iframe-mode .shopline-header,
  html.etl-iframe-mode .shopline-footer,
  html.etl-iframe-mode [class*="header__"],
  html.etl-iframe-mode [class*="footer__"],
  html.etl-iframe-mode [data-section-type="header"],
  html.etl-iframe-mode [data-section-type="footer"] {
    display: none !important;
  }
  html.etl-iframe-mode .pdp-trigger { display: none !important; }
  html.etl-iframe-mode .popup-mask { display: none !important; }
  html.etl-iframe-mode .popup {
    position: static !important;
    inset: auto !important;
    display: block !important;
    padding: 0 !important;
    pointer-events: auto !important;
    z-index: auto !important;
  }
  html.etl-iframe-mode .popup-card {
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100vh !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 auto !important;
  }
  @media (min-width: 768px) {
    html.etl-iframe-mode .popup-card {
      max-width: 100% !important;
    }
  }

  @media (max-width: 768px) {
    html.etl-iframe-mode,
    html.etl-iframe-mode body,
    html.etl-iframe-mode .popup,
    html.etl-iframe-mode .popup-card {
      min-height: 100dvh !important;
      height: 100dvh !important;
      max-height: 100dvh !important;
    }

    html.etl-iframe-mode .popup-header {
      padding: 10px 14px 0 16px !important;
      gap: 10px !important;
    }

    html.etl-iframe-mode .popup-close {
      flex-basis: 40px !important;
      width: 40px !important;
      height: 40px !important;
    }

    html.etl-iframe-mode .progress {
      height: 8px !important;
    }

    html.etl-iframe-mode .popup-body {
      padding: 10px 16px calc(104px + env(safe-area-inset-bottom)) !important;
      min-height: 0 !important;
    }

    html.etl-iframe-mode .step {
      animation: none !important;
      transform: none !important;
    }

    html.etl-iframe-mode .step-title {
      font-size: 24px !important;
      line-height: 1.35 !important;
      margin-bottom: 10px !important;
    }

    html.etl-iframe-mode .step-desc {
      font-size: 16px !important;
      line-height: 1.55 !important;
      margin-bottom: 12px !important;
    }

    html.etl-iframe-mode .scenario-grid {
      gap: 8px !important;
      margin-bottom: 12px !important;
    }

    html.etl-iframe-mode .scenario-tile {
      min-height: 104px !important;
      padding: 10px 8px !important;
    }

    html.etl-iframe-mode .scenario-tile .tile-icon {
      width: 34px !important;
      height: 34px !important;
      margin-bottom: 6px !important;
    }

    html.etl-iframe-mode .scenario-tile .tile-icon svg {
      width: 22px !important;
      height: 22px !important;
    }

    html.etl-iframe-mode .scenario-tile .tile-label {
      font-size: 14px !important;
      line-height: 1.35 !important;
    }

    html.etl-iframe-mode .scenario-tile .tile-sub {
      margin-top: 4px !important;
      font-size: 11px !important;
    }

    html.etl-iframe-mode .age-selector {
      margin-top: 12px !important;
      padding: 10px 12px !important;
    }

    html.etl-iframe-mode .age-label {
      margin-bottom: 8px !important;
      font-size: 14px !important;
    }

    html.etl-iframe-mode .age-marks {
      margin-top: 6px !important;
      font-size: 11px !important;
    }

    html.etl-iframe-mode #stepDistance .step-title {
      font-size: 20px !important;
      margin-bottom: 8px !important;
    }

    html.etl-iframe-mode #stepDistance .step-title #distanceCm {
      font-size: 52px !important;
      margin: 10px 0 !important;
    }

    html.etl-iframe-mode .distance-illu {
      margin: 10px 0 !important;
      padding: 12px 10px !important;
      border-radius: 16px !important;
    }

    html.etl-iframe-mode .distance-illu svg {
      max-width: 210px !important;
    }

    html.etl-iframe-mode .distance-reference {
      margin-top: 8px !important;
      padding: 10px 12px !important;
      font-size: 13px !important;
      line-height: 1.55 !important;
    }

    html.etl-iframe-mode .distance-reference .ref-icon {
      flex-basis: 24px !important;
    }

    html.etl-iframe-mode .distance-reference .ref-icon svg {
      width: 24px !important;
      height: 24px !important;
    }

    html.etl-iframe-mode #stepScenario > .btn-row,
    html.etl-iframe-mode #stepDistance > .btn-row {
      position: fixed !important;
      left: 16px !important;
      right: 16px !important;
      bottom: max(12px, env(safe-area-inset-bottom)) !important;
      z-index: 30 !important;
      margin: 0 !important;
      padding: 12px !important;
      border-radius: 20px !important;
      background: rgba(255, 250, 244, .97) !important;
      box-shadow: 0 -8px 28px rgba(20, 48, 77, .14) !important;
      -webkit-backdrop-filter: blur(10px) !important;
      backdrop-filter: blur(10px) !important;
    }

    html.etl-iframe-mode #stepScenario > .btn-row .btn,
    html.etl-iframe-mode #stepDistance > .btn-row .btn {
      min-height: 56px !important;
      font-size: 18px !important;
    }
  }

    .popup-mask { z-index: 2147483646 !important; }
    .popup { z-index: 2147483647 !important; }
    .popup:not(.is-open),
    .popup-mask:not(.is-open) { visibility: hidden !important; }
    .popup.is-open,
    .popup-mask.is-open { visibility: visible !important; }
  

/* ===== 来源：模板 product.NEW-dingzhi → main-product-info › info › custom-html 块 17786388821011f3d518（2026-09-16 从内联样式抽出） ===== */
  #etl-pdp-campaign-tabs-20260827,
  #etl-pdp-campaign-tabs-20260827 * {
    box-sizing: border-box;
  }

  #etl-pdp-campaign-tabs-20260827 {
    width: 100%;
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px solid #ded9d4;
    color: #2b2725;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
    letter-spacing: 0;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #ded9d4;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab {
    appearance: none;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #615b56;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    cursor: pointer;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: -1px;
    left: 10px;
    height: 2px;
    background: #741c24;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 160ms ease;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab[aria-selected="true"] {
    background: #fbf5e9;
    color: #741c24;
    font-weight: 800;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab[aria-selected="true"]::after {
    transform: scaleX(1);
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab:focus-visible {
    z-index: 1;
    outline: 2px solid #a87945;
    outline-offset: -2px;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__panel {
    width: 100%;
    margin: 10px 0 0;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__panel[hidden] {
    display: none !important;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__figure {
    width: 100%;
    margin: 0;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__image {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1125 / 646;
    border: 0;
    background: #fbf8f2;
    object-fit: contain;
  }

  #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__image-placeholder {
    min-height: 1px;
  }

  @media (max-width: 749px) {
    #etl-pdp-campaign-tabs-20260827 {
      margin-top: 6px;
      padding-top: 7px;
    }

    #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab {
      min-height: 42px;
      padding: 7px 6px;
      font-size: 13.5px;
    }

    #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab::after {
      right: 6px;
      left: 6px;
    }

    #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__panel {
      margin-top: 8px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    #etl-pdp-campaign-tabs-20260827 .etl-pdp-campaign-tabs__tab::after {
      transition: none;
    }
  }
@media (min-width: 768px) {
  .etl-pdp-trust-pop,
  .etl-pdp-trust-pop * { box-sizing: border-box; }

  .etl-trust-strip__item:focus-visible {
    outline: 2px solid #b8875a;
    outline-offset: 2px;
  }

  .etl-pdp-trust-pop { margin: 6px 0 8px; }
  .etl-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 38px;
    border: 0;
    border-radius: 0;
    background: transparent;
  }
  .etl-trust-strip__item {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-width: 0;
    min-height: 38px;
    margin: 0;
    padding: 3px 10px;
    border: 0;
    border-right: 1px solid #eee;
    background: transparent;
    color: #24211f;
    font: inherit;
    cursor: pointer;
  }
  .etl-trust-strip__item:last-child { border-right: 0; }
  .etl-trust-strip__item:hover { color: #8b613e; }
  .etl-trust-strip__badge {
    flex: 0 0 auto;
    color: #8f6a49;
    font-size: 11px;
    line-height: 1;
    font-weight: 800;
  }
  .etl-trust-strip__item strong {
    font-size: 14px;
    line-height: 1.25;
    font-weight: 850;
    white-space: nowrap;
  }
  .etl-trust-strip__item--degree strong { font-size: 12.5px; }

  .etl-trust-sheet[hidden] { display: none; }
  .etl-trust-sheet { position: fixed; inset: 0; z-index: 1000; }
  .etl-trust-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(24, 22, 21, .38);
  }
  .etl-trust-panel {
    position: absolute;
    left: 50%;
    bottom: 28px;
    width: min(520px, calc(100vw - 40px));
    padding: 22px;
    border: 1px solid #e5dfda;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 50px rgba(36, 33, 31, .16);
    transform: translateX(-50%);
  }
  .etl-trust-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid #e5dfda;
    border-radius: 50%;
    background: #fff;
    color: #24211f;
    font-size: 22px;
    cursor: pointer;
  }
  .etl-trust-sheet-eyebrow {
    color: #9a7540;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
  }
  .etl-trust-sheet-title {
    margin: 4px 42px 10px 0;
    font-size: 20px;
    line-height: 1.3;
  }
  .etl-trust-sheet-body { color: #59534f; font-size: 14px; line-height: 1.75; }
  .etl-trust-sheet-body p { margin: 0; }
}

@media (max-width: 767px) {
  .etl-pdp-trust-pop,
  .etl-pdp-trust-pop * { box-sizing: border-box; }

  .etl-pdp-trust-pop { margin: 5px 0 8px; }
  .etl-trust-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 44px;
    border: 0;
    background: transparent;
  }
  .etl-trust-strip__item {
    appearance: none;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
    min-height: 44px;
    margin: 0;
    padding: 4px 2px;
    border: 0;
    border-right: 1px solid #eee;
    background: transparent;
    color: var(--kp-ink);
    font: inherit;
  }
  .etl-trust-strip__item:last-child { border-right: 0; }
  .etl-trust-strip__item:nth-child(2n) { border-right: 0; }
  .etl-trust-strip__item:nth-child(-n + 2) { border-bottom: 1px solid #eee; }
  .etl-trust-strip__badge {
    color: #8f6a49;
    font-size: 11px;
    line-height: 1.15;
    font-weight: 800;
    white-space: nowrap;
  }
  .etl-trust-strip__item strong {
    font-size: 13px;
    line-height: 1.25;
    font-weight: 850;
    white-space: nowrap;
  }

  .etl-trust-sheet[hidden] { display: none; }
  .etl-trust-sheet { position: fixed; inset: 0; z-index: 1000; }
  .etl-trust-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(24,22,21,.38);
  }
  .etl-trust-panel {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: 75vh;
    padding: 18px 18px calc(20px + env(safe-area-inset-bottom));
    border-radius: 14px 14px 0 0;
    background: #fff;
    box-shadow: 0 -10px 30px rgba(36,33,31,.15);
  }
  .etl-trust-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 34px;
    height: 34px;
    border: 1px solid #e5dfda;
    border-radius: 50%;
    background: #fff;
    color: #24211f;
    font-size: 22px;
  }
  .etl-trust-sheet-eyebrow { color: #9a7540; font-size: 10px; font-weight: 800; }
  .etl-trust-sheet-title { margin: 4px 42px 10px 0; font-size: 18px; line-height: 1.3; }
  .etl-trust-sheet-body { color: #59534f; font-size: 13px; line-height: 1.7; }
  .etl-trust-sheet-body p { margin: 0; }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item {
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    min-height: 52px !important;
    height: 52px !important;
    padding: 5px 6px !important;
    border-right: 1px solid #eee !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item:nth-child(2n) {
    border-right: 0 !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item:nth-child(-n + 2) {
    border-bottom: 1px solid #eee !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__badge {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 36px !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    border: 1px solid #cfe6de !important;
    border-radius: 50% !important;
    background: #f3faf7 !important;
    color: #397565 !important;
    font-size: 11px !important;
    line-height: 1 !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item strong {
    font-size: 13px !important;
    text-align: left !important;
    line-height: 1.25 !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item--degree strong {
    font-size: 13px !important;
  }
}

/* ETL HARD DESKTOP OVERRIDES - 20260813-7 */
@media (min-width: 768px) {

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    min-height: 0 !important;
    height: 30px !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item {
    height: 18px !important;
    min-height: 18px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    line-height: 1.1 !important;
    border-right: 1px solid #eee !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item:last-child {
    border-right: 0 !important;
  }

  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__badge,
  .etl-pdp-trust-pop[data-etl-trust-pop] .etl-trust-strip__item strong {
    line-height: 1.1 !important;
  }
}

/* ===== 来源：模板 product.NEW-dingzhi → main-product-info › info › custom-html 块 etl-card-title-unclamp-20260511（2026-09-16 从内联样式抽出） ===== */
  @media (max-width: 749px) {

    .section-recommended-product [class*="title"],
    .section-recommended-product [class*="name"],
    .section-recommended-product [class*="ellipsis"],
    .section-recommended-product .smartWrap,
    .section-recommended-product a {
      display: block !important;
      height: auto !important;
      min-height: 0 !important;
      max-height: none !important;
      overflow: visible !important;
      text-overflow: clip !important;
      white-space: normal !important;
      word-break: normal !important;
      overflow-wrap: anywhere !important;
      -webkit-line-clamp: unset !important;
      -webkit-box-orient: initial !important;
    }
  }
  .etl-pdp-trust-pop,
  .etl-pdp-trust-pop * {
    box-sizing: border-box;
  }

  .etl-pdp-trust-pop {
    margin: 2px 0 8px;
    color: #123746;
    font-family: inherit;
  }

  .etl-trust-links {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /* 变更为两端对齐，撑满整个宽度 */
    width: 100%;
    /* 确保容器占满100%宽度 */
    flex-wrap: wrap;
    font-size: 13px;
    line-height: 1.6;
  }

  .etl-trust-link {
    appearance: none;
    border: 0;
    border-bottom: 1px solid currentColor;
    border-radius: 0;
    background: transparent;
    color: #123746;
    padding: 0;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    text-underline-offset: 3px;
  }

  .etl-trust-link:focus-visible {
    outline: 2px solid #c9a96e;
    outline-offset: 3px;
  }

  .etl-trust-dot {
    color: #8a98a0;
  }

  .etl-trust-sheet[hidden] {
    display: none !important;
  }

  .etl-trust-sheet {
    position: fixed;
    inset: 0;
    z-index: 2147482500;
  }

  .etl-trust-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(10, 25, 34, 0.42);
    cursor: pointer;
  }

  .etl-trust-panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    max-height: min(78vh, 560px);
    overflow: auto;
    padding: 18px 18px calc(20px + env(safe-area-inset-bottom));
    border-radius: 16px 16px 0 0;
    background: #fff;
    color: #123746;
    box-shadow: 0 -12px 34px rgba(18, 55, 70, 0.18);
  }

  .etl-trust-close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: 1px solid rgba(18, 55, 70, 0.12);
    border-radius: 999px;
    background: #fff;
    color: #123746;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
  }

  .etl-trust-sheet-eyebrow {
    margin: 0 42px 4px 0;
    color: #9a7540;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .08em;
  }

  .etl-trust-sheet-title {
    margin: 0 42px 12px 0;
    color: #123746;
    font-size: 20px;
    line-height: 1.35;
    font-weight: 900;
  }

  .etl-trust-sheet-body {
    display: grid;
    gap: 10px;
    color: #42545b;
    font-size: 14px;
    line-height: 1.75;
  }

  .etl-trust-sheet-body p {
    margin: 0;
  }

  .etl-trust-sheet-body ul {
    display: grid;
    gap: 8px;
    margin: 2px 0 0;
    padding: 0;
    list-style: none;
  }

  .etl-trust-sheet-body li {
    position: relative;
    padding-left: 18px;
  }

  .etl-trust-sheet-body li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .72em;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #c9a96e;
  }

  @media (min-width: 750px) {
    .etl-trust-panel {
      left: 50%;
      right: auto;
      bottom: 28px;
      width: min(520px, calc(100vw - 40px));
      border-radius: 16px;
      transform: translateX(-50%);
      padding: 22px;
    }
  }
  html body #etl-pdp-trust-service-bar-final,
  html body #etl-pdp-trust-service-bar-final * {
    box-sizing: border-box !important;
  }

  html body #etl-pdp-trust-service-bar-final {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 10px 13px 9px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #292725 !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__primary {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 27px !important;
    margin: 0 0 8px !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-bottom: 1px solid #e7dbd0 !important;
    background: transparent !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__services {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 27px !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #292725 !important;
    font-family: inherit !important;
    line-height: 1.25 !important;
    text-align: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__services .etl-trust-strip__item:not(:last-child) {
    border-right: 1px solid #ddd6cf !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item--degree {
    justify-content: flex-start !important;
    width: auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-icon {
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    color: #8a643c !important;
    stroke-width: 1.7 !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-copy {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #262321 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-decoration-line: underline !important;
    text-decoration-thickness: 1px !important;
    text-decoration-color: #776f69 !important;
    text-underline-offset: 3px !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item--degree .etl-trust-copy {
    font-size: 14.5px !important;
    text-decoration: none !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-mobile-break {
    display: none !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item:hover .etl-trust-copy {
    color: #8a5931 !important;
    text-decoration-color: currentColor !important;
  }

  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item:focus-visible {
    outline: 2px solid #b88852 !important;
    outline-offset: 3px !important;
  }

  @media (max-width: 749px) {
    html body #etl-pdp-trust-service-bar-final {
      padding: 9px 9px 8px !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__primary {
      margin-bottom: 7px !important;
      padding-bottom: 7px !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__services {
      grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, .95fr) !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item {
      gap: 4px !important;
      min-height: 38px !important;
      padding: 0 5px !important;
      line-height: 1.35 !important;
      white-space: normal !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item--degree {
      gap: 7px !important;
      min-height: 27px !important;
      padding: 0 !important;
      white-space: nowrap !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-icon {
      flex-basis: 18px !important;
      width: 18px !important;
      height: 18px !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-copy {
      font-size: 12px !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item--degree .etl-trust-copy {
      font-size: 13.5px !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-mobile-break {
      display: initial !important;
    }
  }
  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item:hover .etl-trust-copy,
  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item:active .etl-trust-copy,
  html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item:focus-visible .etl-trust-copy {
    color: #681a20 !important;
    text-decoration-color: #681a20 !important;
  }

  @media (max-width: 749px) {
    html body #etl-pdp-trust-service-bar-final {
      padding: 8px 0 !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__services {
      grid-template-columns: minmax(0, 1.25fr) minmax(0, 1.05fr) minmax(0, .9fr) !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__item {
      gap: 0 !important;
      min-height: 38px !important;
      padding: 0 !important;
      white-space: nowrap !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-strip__services .etl-trust-strip__item:not(:last-child) {
      border-right: 0 !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-icon {
      display: none !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-copy {
      font-size: 12px !important;
      line-height: 1.2 !important;
      white-space: nowrap !important;
    }

    html body #etl-pdp-trust-service-bar-final .etl-trust-mobile-break {
      display: none !important;
    }
  }

/* ===== 来源：模板 product.NEW-dingzhi → main-product-info › info › custom-html 块 1774862142295f6db87f（2026-09-16 从内联样式抽出） ===== */
  /* 全体のコンテナスタイル */
  .custom-section-container {
    width: 100%;
    display: flex;
    flex-direction: column; 
    align-items: center; 
    padding: 10px 0;
  }

  /* 支払いアイコンのスタイル */
  .trust-payments-icon-wrapper {
    width: 100%;
    text-align: center; 
    margin-bottom: 10px; 
  }
  .trust-payments-icon {
    max-width: 100%; 
    height: auto; 
    display: block; 
    margin: 0 auto; 
  }

  /* LINEボタンのコンテナ自适应 */
  .eter-ln-w { 
    width: 100%; 
    display: flex;
    justify-content: center; 
  }
  
  /* LINEボタンの本体スタイル */
  .eter-ln-b {
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    width: 100%; 
    max-width: 100%; 
    background: #fff; 
    border: 1px solid #06C755; 
    border-radius: 8px; 
    padding: 8px 16px; 
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(6,199,85,0.12);
    transition: all 0.3s ease;
    box-sizing: border-box; 
  }

  .eter-ln-l { display: flex; align-items: center; gap: 12px; }

  /* 轻量化图标 (L) */
  .eter-ln-i {
    width: 28px; height: 28px; 
    background: #06C755; 
    border-radius: 50%;
    color: #fff; 
    font-weight: 700; 
    font-size: 16px;
    display: flex; 
    align-items: center; 
    justify-content: center;
    flex-shrink: 0;
  }

  /* テキスト部分のスタイル */
  .eter-ln-t { line-height: 1.3; }
  .eter-ln-t b { display: block; font-size: 14px; color: #333; }
  .eter-ln-t s { display: block; font-size: 11px; color: #666; text-decoration: none; }

  /* 按钮样式 (受取 >) */
  .eter-ln-btn {
    background: #06C755; 
    color: #fff; 
    font-size: 12px; 
    font-weight: 700;
    padding: 5px 12px; 
    border-radius: 15px;
    white-space: nowrap;
    transition: background 0.2s;
  }

  /* PC端交互增强 */
  @media (min-width: 768px) {
    .eter-ln-b:hover { 
      border-color: #05a546; 
      box-shadow: 0 4px 12px rgba(6,199,85,0.2);
      transform: translateY(-1px);
    }
    .eter-ln-btn { padding: 6px 16px; font-size: 13px; }
    .eter-ln-t b { font-size: 15px; }
  }
  .product-detail__info > [data-etl-review-in-info="true"] {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
  }
  .product-detail__info > [data-etl-review-in-info="true"] > .page-width {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .product-detail__info > [data-etl-review-in-info="true"] #plugin-product-comment {
    width: 100% !important;
    max-width: 100% !important;
  }
