
/* KTC 紫 (ゲーミング) テーマ。ダーク基調＋紫/マゼンタ。にじみ (box/text-shadow) は描画が重いので使わない */
.ali-ktc * { box-sizing: border-box; }
.ali-ktc { max-width: 920px; margin: 0 auto; padding: 14px 14px 6px; border-radius: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif;
  color: #ece6ff; background: radial-gradient(120% 80% at 50% 0%, #1c1038 0%, #100a1d 60%, #0c0716 100%);
  border: 1px solid #4b2a8a; }
.ali-ktc a { text-decoration: none; }
.ali-ktc-toolbar { background: rgba(16,10,29,.6); padding: 4px 0 8px; border-bottom: 1px solid #3a1d6e; }
.ali-ktc-cats { display: flex; flex-direction: column; gap: 5px; }
.ali-ktc-facet { display: flex; align-items: flex-start; gap: 8px; }
.ali-ktc-facet-label { flex-shrink: 0; min-width: 5.6em; font-size: 11px; font-weight: 700; color: #b69cff; padding-top: 5px; letter-spacing: .02em; }
.ali-ktc-facet-chips { display: flex; flex-wrap: wrap; gap: 5px; flex: 1; }
.ali-ktc-cat { font-size: 12px; font-weight: 700; padding: 4px 11px; border-radius: 999px;
  border: 1px solid #6d28d9; background: #1e1233; color: #cbb6ff; cursor: pointer; white-space: nowrap; transition: all .15s; }
.ali-ktc-clear { border-color: #7a3a8a; color: #ff9ad6; background: #2a1030; }
.ali-ktc-cat:hover { border-color: #c084fc; color: #f1e7ff; }
.ali-ktc-cat.active { background: linear-gradient(135deg,#b81bd1,#7c3aed); border-color: #e0b3ff; color: #fff; }
.ali-ktc-status { padding: 8px 2px 0; color: #9a86c9; font-size: 12px; }
.ali-ktc-list { margin-top: 12px; }
.ali-ktc-cat-head { font-size: 17px; font-weight: 800; margin: 22px 0 10px; padding-left: 12px; letter-spacing: .03em;
  color: #f0e2ff; border-left: 5px solid #c026d3; }
.ali-ktc-cat--size { border-left-color: #d050ff; }
.ali-ktc-cat--other { border-left-color: #7c3aed; }
.ali-ktc-card { display: flex; gap: 12px; border: 1px solid #4c2889; border-radius: 12px;
  background: linear-gradient(180deg,#1d1138,#160d28); padding: 12px; margin-bottom: 12px; transition: border-color .15s; }
.ali-ktc-card:hover { border-color: #b14aed; }
.ali-ktc-thumb { width: 96px; height: 96px; flex-shrink: 0; object-fit: cover; border-radius: 8px;
  background: #241640; border: 1px solid #3a1d6e; }
.ali-ktc-body { flex: 1; min-width: 0; }
.ali-ktc-model { font-size: 13px; font-weight: 700; line-height: 1.4; margin-bottom: 8px; color: #ece6ff;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ali-ktc-rows { display: flex; flex-direction: column; gap: 6px; }
.ali-ktc-row { display: flex; align-items: center; gap: 10px; padding: 8px; border-radius: 9px; background: #221440; border: 1px solid #33205c; }
.ali-ktc-row.is-cheapest { background: #2a0f3f; border: 1px solid #ff3df0; }
.ali-ktc-store { flex: 1; min-width: 0; font-size: 13px; color: #b9a7e6; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ali-ktc-best { display: inline-block; font-size: 10px; font-weight: 800; color: #1a0030; background: #ff3df0;
  border-radius: 4px; padding: 1px 5px; margin-right: 6px; }
.ali-ktc-price { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; flex-shrink: 0; }
.ali-ktc-final { font-size: 17px; font-weight: 800; color: #ff5cf2; }
.ali-ktc-list-price { font-size: 11px; color: #8a79b8; text-decoration: line-through; }
.ali-ktc-coupon { font-size: 10px; color: #f1e2ff; background: #3a1d6e; border: 1px solid #7c3aed; border-radius: 4px; padding: 0 5px; margin-top: 2px; }
.ali-ktc-special { font-size: 10px; font-weight: 800; color: #fff; background: #c026d3; border-radius: 4px; padding: 1px 6px; margin-top: 2px; }
.ali-ktc-cta { flex-shrink: 0; }
.ali-ktc-cta a { display: inline-block; padding: 8px 14px; font-size: 13px; font-weight: 800; color: #fff;
  background: linear-gradient(135deg,#c01bd1,#7c3aed); border-radius: 9px; white-space: nowrap; transition: border-color .15s; }
.ali-ktc-cta a:hover { filter: brightness(1.12); }
.ali-ktc-cta a:active { transform: translateY(1px); }
.ali-ktc-foot { font-size: 11px; color: #9a86c9; margin-top: 14px; line-height: 1.5; }

@media (max-width: 560px) {
  .ali-ktc-row { flex-wrap: wrap; }
  .ali-ktc-store { flex-basis: 100%; white-space: normal; }
  .ali-ktc-price { align-items: flex-start; flex-direction: row; gap: 6px; align-items: baseline; }
  .ali-ktc-cta { margin-left: auto; }
  .ali-ktc-thumb { width: 76px; height: 76px; }
}

/* 価格比較の追加分: 最安ストア・在庫なし */
.ali-ktc-storesum { border: 1px solid #6d28d9; border-radius: 12px; padding: 10px 12px; margin: 2px 0 8px;
  background: linear-gradient(180deg,#22123f,#170d2b); font-size: 13px; color: #e6dbff; }
.ali-ktc-storesum-rows { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.ali-ktc-storesum-chip { font-size: 12px; padding: 3px 10px; border-radius: 999px; background: #2a1748; border: 1px solid #7c3aed; color: #e6dbff; }
.ali-ktc-storesum-chip em { font-style: normal; font-weight: 800; color: #ff5cf2; margin-left: 4px; }
.ali-ktc-sum { font-size: 12px; color: #d8c8ff; margin: -2px 0 8px; line-height: 1.5; }
.ali-ktc-sum b { color: #ff5cf2; }
.ali-ktc-sum--out { color: #9a86c9; }
.ali-ktc-row.is-soldout { opacity: .45; }
.ali-ktc-out { font-size: 13px; font-weight: 700; color: #9a86c9; }
.ali-ktc-law { max-width: 920px; margin: 10px auto 0; font-size: 12px; }
.ali-ktc-amzt { font-size: 10px; color: #8a79b8; margin-left: 6px; }
/* クーポン: タップでコピー */
button.ali-ktc-coupon { font: inherit; font-size: 10px; cursor: pointer; display: inline-flex; align-items: center; gap: 5px; line-height: 1.5; }
button.ali-ktc-coupon:hover { border-color: #e0b3ff; }
.ali-ktc-copy { font-size: 9px; font-weight: 800; color: #1a0030; background: #c084fc; border-radius: 3px; padding: 0 4px; }
button.ali-ktc-coupon.is-copied { border-color: #ff3df0; }
button.ali-ktc-coupon.is-copied .ali-ktc-copy { background: #ff3df0; }
/* DUX テーマの本文 (中央揃え等) の影響を受けないよう左揃えを固定 */
.ali-ktc, .ali-ktc .ali-ktc-body, .ali-ktc .ali-ktc-model, .ali-ktc .ali-ktc-sum, .ali-ktc .ali-ktc-store, .ali-ktc .ali-ktc-cat-head, .ali-ktc .ali-ktc-storesum { text-align: left !important; }
.ali-ktc .ali-ktc-model { font-size: 15px; line-height: 1.45; -webkit-line-clamp: 2; }

/* ===== スマホ (560px 以下) ===== */
@media (max-width: 560px) {
  .ali-ktc { padding: 10px 10px 4px; border-radius: 12px; max-width: 100%; }
  .ali-ktc * { min-width: 0; }
  /* 絞り込み: 1 項目 1 行、はみ出した分は横スクロール */
  .ali-ktc-facet { align-items: center; gap: 6px; }
  .ali-ktc-facet-label { min-width: 4.6em; font-size: 10px; padding-top: 0; }
  .ali-ktc-facet-chips { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 1px 0 2px; }
  .ali-ktc-facet-chips::-webkit-scrollbar { display: none; }
  .ali-ktc-cat { flex-shrink: 0; font-size: 11px; padding: 4px 10px; }
  .ali-ktc-status { font-size: 11px; }
  .ali-ktc-storesum { font-size: 12px; padding: 9px 10px; }
  .ali-ktc-storesum-chip { font-size: 11px; }
  .ali-ktc-cat-head { font-size: 15px; margin: 18px 0 8px; }
  /* カード: 上段 = サムネ + 商品名、下段 = 出品一覧 (全幅) */
  .ali-ktc-card { display: grid; grid-template-columns: 60px 1fr; gap: 8px 10px; padding: 10px; }
  .ali-ktc-thumb { width: 60px; height: 60px; grid-row: 1; grid-column: 1; }
  .ali-ktc-body { display: contents; }
  .ali-ktc .ali-ktc-model { grid-column: 2; grid-row: 1; align-self: center; margin: 0; font-size: 13px; -webkit-line-clamp: 3; }
  .ali-ktc-card:not(:has(.ali-ktc-thumb)) .ali-ktc-model { grid-column: 1 / -1; } /* サムネが無い機種は商品名を全幅に */
  .ali-ktc-sum, .ali-ktc-rows { grid-column: 1 / -1; }
  /* 出品の行: 1 段目 ストア名、2 段目 価格 (+定価・クーポンは折り返し) と「見る」 */
  .ali-ktc-row { display: grid; grid-template-columns: 1fr auto; gap: 4px 8px; align-items: center; padding: 8px 9px; }
  .ali-ktc-store { grid-column: 1 / -1; white-space: normal; font-size: 12px; line-height: 1.35; }
  .ali-ktc-price { grid-column: 1; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  .ali-ktc-final { font-size: 18px; }
  .ali-ktc-cta { grid-column: 2; grid-row: 2; margin: 0; }
  .ali-ktc-cta a { padding: 9px 14px; }
  button.ali-ktc-coupon { font-size: 11px; padding: 2px 6px; }
  .ali-ktc-copy { font-size: 10px; }
  .ali-ktc-row.is-soldout .ali-ktc-price { grid-column: 1; }
}

/* ===== 価格推移 ===== */
.ali-ktc-histbtn { font: inherit; font-size: 11px; font-weight: 700; color: #cbb6ff; background: #1e1233; border: 1px solid #6d28d9; border-radius: 999px; padding: 2px 10px; margin: 0 0 8px; cursor: pointer; }
.ali-ktc-histbtn::before { content: "▸ "; } .ali-ktc-histbtn.on::before { content: "▾ "; }
.ali-ktc-histbtn.on { background: #3a1d6e; color: #fff; }
.ali-ktc-hist { background: #140b25; border: 1px solid #33205c; border-radius: 10px; padding: 8px 10px 6px; margin: 0 0 8px; }
.ali-ktc-hist-tabs { display: flex; gap: 4px; margin-bottom: 4px; }
.ali-ktc-hist-tabs button { font: inherit; font-size: 11px; color: #b9a7e6; background: none; border: 1px solid #3a1d6e; border-radius: 6px; padding: 1px 8px; cursor: pointer; }
.ali-ktc-hist-tabs button.on { background: #6d28d9; color: #fff; border-color: #6d28d9; }
.ali-ktc-hist-chart { position: relative; }
.ali-ktc-hist-svg { display: block; max-width: 100%; }
.ali-ktc-hist-svg .gl { stroke: #2a1a48; stroke-width: 1; }
.ali-ktc-hist-svg .yl, .ali-ktc-hist-svg .xl { fill: #8a79b8; font-size: 11px; }
.ali-ktc-hist-svg .yl { text-anchor: end; }
.ali-ktc-hist-svg .ln { fill: none; stroke-width: 2; vector-effect: non-scaling-stroke; }
.ali-ktc-hist-svg .cur { stroke: #b69cff; stroke-width: 1; stroke-dasharray: 3 3; vector-effect: non-scaling-stroke; }
.ali-ktc-hist-tip { position: absolute; top: 4px; min-width: 150px; background: #0c0716; border: 1px solid #6d28d9; border-radius: 8px; padding: 5px 8px; font-size: 11px; color: #ece6ff; pointer-events: none; }
.ali-ktc-hist-tip i, .ali-ktc-hist-leg i { display: inline-block; width: 9px; height: 9px; border-radius: 2px; margin-right: 4px; vertical-align: -1px; }
.ali-ktc-hist-leg { display: flex; flex-direction: column; gap: 3px; font-size: 11px; color: #b9a7e6; margin-top: 4px; }
.ali-ktc-hist-leg span { display: flex; align-items: center; gap: 6px; min-width: 0; }
.ali-ktc-hist-leg s { text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; flex: 0 1 auto; }
.ali-ktc-hist-leg b, .ali-ktc-hist-leg em { white-space: nowrap; flex-shrink: 0; }
.ali-ktc-hist-leg b { color: #ff5cf2; } .ali-ktc-hist-leg em { font-style: normal; color: #8a79b8; }
.ali-ktc-hist-note, .ali-ktc-hist-empty { font-size: 10px; color: #8a79b8; margin-top: 3px; }
.ali-ktc-hist-empty { font-size: 12px; padding: 18px 0; text-align: center !important; }
@media (max-width: 560px) {
  .ali-ktc-histbtn, .ali-ktc-hist { grid-column: 1 / -1; justify-self: start; }
  .ali-ktc-hist { justify-self: stretch; }
}
.ali-ktc-hist-leg i { flex-shrink: 0; }
/* サムネは正方形で固定: カードの高さ (ストアの行数) に引き伸ばされないよう上揃え。テーマの img { height:auto } にも負けないよう !important */
.ali-ktc .ali-ktc-thumb { align-self: flex-start; width: 96px !important; height: 96px !important; max-width: none; aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
@media (max-width: 560px) { .ali-ktc .ali-ktc-thumb { align-self: start; width: 60px !important; height: 60px !important; } }

/* ===== 出品の行 v2: 左 = ストア名 + クーポン券、右 = 元の価格 → 適用後の価格、見る ===== */
.ali-ktc .ali-ktc-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 6px 14px; padding: 10px 12px; flex-wrap: initial; }
.ali-ktc .ali-ktc-info { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.ali-ktc .ali-ktc-store { white-space: normal; overflow: visible; font-size: 13px; font-weight: 600; color: #d9ccff; line-height: 1.35; flex: none; }
.ali-ktc .ali-ktc-row.is-soldout .ali-ktc-store { color: #8a79b8; font-weight: 500; }
.ali-ktc button.ali-ktc-coupon { display: inline-flex; align-items: center; gap: 7px; margin: 0; padding: 3px 4px 3px 9px; border: 1px dashed #a855f7; border-radius: 7px;
  background: #241440; color: #f1e2ff; font: inherit; font-size: 11px; line-height: 1.5; cursor: pointer; }
.ali-ktc button.ali-ktc-coupon:hover { border-style: solid; }
.ali-ktc-cp-lab { font-size: 10px; color: #b69cff; }
.ali-ktc-cp-code { font-weight: 800; letter-spacing: .04em; }
.ali-ktc-cp-off { font-weight: 800; color: #ff5cf2; }
.ali-ktc .ali-ktc-copy { font-size: 10px; font-weight: 800; color: #1a0030; background: #c084fc; border-radius: 4px; padding: 1px 6px; }
.ali-ktc button.ali-ktc-coupon.is-copied { border-color: #ff3df0; border-style: solid; }
.ali-ktc .ali-ktc-special { font-size: 10px; font-weight: 700; color: #fff; background: #7e22ce; border-radius: 4px; padding: 1px 6px; margin: 0; }
.ali-ktc .ali-ktc-price { display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 1px; line-height: 1.15; text-align: right !important; min-width: 6.5em; }
.ali-ktc .ali-ktc-list-price { font-size: 11px; color: #8a79b8; text-decoration: line-through; }
.ali-ktc .ali-ktc-final { font-size: 20px; font-weight: 800; color: #ff5cf2; letter-spacing: .01em; }
.ali-ktc .ali-ktc-plabel { font-size: 10px; color: #b69cff; }
.ali-ktc .ali-ktc-out { font-size: 13px; font-weight: 700; color: #8a79b8; }
.ali-ktc .ali-ktc-cta { flex: none; }
@media (max-width: 560px) {
  .ali-ktc .ali-ktc-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 10px; padding: 9px 10px; }
  .ali-ktc .ali-ktc-info { grid-column: 1 / -1; grid-row: 1; }
  .ali-ktc .ali-ktc-price { grid-column: 1; grid-row: 2; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: flex-start; gap: 0 8px; text-align: left !important; min-width: 0; }
  .ali-ktc .ali-ktc-final { font-size: 20px; order: 1; }
  .ali-ktc .ali-ktc-list-price { order: 2; }
  .ali-ktc .ali-ktc-plabel { order: 3; flex-basis: 100%; }
  .ali-ktc .ali-ktc-cta { grid-column: 2; grid-row: 2; }
  .ali-ktc .ali-ktc-row.is-soldout .ali-ktc-price { grid-row: 2; }
}

/* ===== 出品の行 v3: PC はストア名と価格の間にクーポン (大きめ) ===== */
.ali-ktc .ali-ktc-row { grid-template-columns: minmax(0, 1fr) auto auto auto; }
.ali-ktc .ali-ktc-cpcell { display: flex; justify-content: flex-end; min-width: 0; }
.ali-ktc button.ali-ktc-coupon { font-size: 13px; gap: 9px; padding: 6px 6px 6px 12px; border-width: 1.5px; border-radius: 9px; }
.ali-ktc .ali-ktc-cp-lab { font-size: 11px; }
.ali-ktc .ali-ktc-cp-code { font-size: 14px; }
.ali-ktc .ali-ktc-cp-off { font-size: 14px; }
.ali-ktc .ali-ktc-copy { font-size: 11px; padding: 2px 8px; border-radius: 5px; }
.ali-ktc .ali-ktc-special { font-size: 11px; padding: 3px 8px; }
@media (max-width: 560px) {
  .ali-ktc .ali-ktc-row { grid-template-columns: minmax(0, 1fr) auto; }
  .ali-ktc .ali-ktc-cpcell { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .ali-ktc .ali-ktc-cpcell:empty { display: none; }
  .ali-ktc .ali-ktc-price, .ali-ktc .ali-ktc-row.is-soldout .ali-ktc-price { grid-row: 3; }
  .ali-ktc .ali-ktc-cta { grid-row: 3; }
  .ali-ktc button.ali-ktc-coupon { font-size: 12px; padding: 5px 5px 5px 10px; }
  .ali-ktc .ali-ktc-cp-code, .ali-ktc .ali-ktc-cp-off { font-size: 13px; }
}
@media (min-width: 561px) { /* 在庫なしの行 (クーポン欄なし) でも価格・見るの列がずれないよう列を固定 */
  .ali-ktc .ali-ktc-info { grid-column: 1; } .ali-ktc .ali-ktc-cpcell { grid-column: 2; }
  .ali-ktc .ali-ktc-price { grid-column: 3; } .ali-ktc .ali-ktc-cta { grid-column: 4; }
}
@media (max-width: 560px) { /* クーポンの無い行 (Amazon・在庫なし) は 2 段で詰める */
  .ali-ktc .ali-ktc-row:has(.ali-ktc-cpcell:empty) .ali-ktc-price, .ali-ktc .ali-ktc-row:has(.ali-ktc-cpcell:empty) .ali-ktc-cta,
  .ali-ktc .ali-ktc-row.is-soldout .ali-ktc-price, .ali-ktc .ali-ktc-row.is-soldout .ali-ktc-cta { grid-row: 2; }
}
.ali-ktc .ali-ktc-foot { white-space: pre-line; } /* 注意事項は改行で区切る */
.ali-ktc h3.ali-ktc-cat-head { padding: 0 0 0 12px !important; border-left: 5px solid #c026d3 !important; background: none !important; } /* テーマ (DUX) の h3 装飾を打ち消す */

/* ===== タイトル帯 (MoonHiFi 風)。テーマのページタイトルは重複するので隠す (この CSS はショートコードのページだけで読み込む) ===== */
.article-title { display: none !important; }
.ali-ktc .ali-ktc-hero { text-align: center !important; padding: 34px 16px 28px; margin: -14px -14px 14px; border-radius: 16px 16px 0 0;
  background: radial-gradient(90% 120% at 50% 0%, #3b1675 0%, #1c1038 55%, rgba(16,10,29,0) 100%); border-bottom: 1px solid #3a1d6e; }
.ali-ktc .ali-ktc-hero-logo { display: block; width: 72px; height: 72px; margin: 0 auto 14px; border-radius: 18px; object-fit: cover; background: #fff; }
.ali-ktc .ali-ktc-hero-eye { font-size: 13px; font-weight: 700; letter-spacing: .12em; color: #c4b5fd; margin: 0 0 8px; text-align: center !important; }
.ali-ktc h2.ali-ktc-hero-title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  font-size: clamp(28px, 4.6vw, 46px); font-weight: 800; line-height: 1.12; letter-spacing: -.01em; text-align: center !important;
  color: #f5edff; background-image: linear-gradient(90deg, #f0abfc, #c084fc 45%, #818cf8) !important; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.ali-ktc .ali-ktc-hero-sub { max-width: 640px; margin: 12px auto 0 !important; font-size: 14px; line-height: 1.6; color: #cbbcf0; text-align: center !important; }
@media (max-width: 560px) {
  .ali-ktc .ali-ktc-hero { padding: 26px 12px 20px; margin: -10px -10px 12px; border-radius: 12px 12px 0 0; }
  .ali-ktc .ali-ktc-hero-eye { font-size: 11px; }
  .ali-ktc .ali-ktc-hero-sub { font-size: 13px; }
}

/* タイトル: テーマ (DUX) の h2 装飾 (左の線・背景) を打ち消し、単色の文字にする */
.ali-ktc h2.ali-ktc-hero-title { background: none !important; background-image: none !important; -webkit-text-fill-color: currentColor; color: #f5edff !important;
  border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.ali-ktc h2.ali-ktc-hero-title::before, .ali-ktc h2.ali-ktc-hero-title::after { content: none !important; display: none !important; }
.ali-ktc h2.ali-ktc-hero-title span { color: #e879f9; }
/* ホバーの統一: 見る・クーポン (コピー) とも少し明るくなるだけ。テーマの a:hover の文字色変化は打ち消す */
.ali-ktc .ali-ktc-cta a, .ali-ktc .ali-ktc-cta a:hover, .ali-ktc .ali-ktc-cta a:focus, .ali-ktc .ali-ktc-cta a:visited { color: #fff !important; text-decoration: none !important; }
.ali-ktc .ali-ktc-cta a:hover, .ali-ktc button.ali-ktc-coupon:hover { filter: brightness(1.15); }
.ali-ktc button.ali-ktc-coupon:hover { border-style: dashed; }
/* コピーしましたのポップアップ */
.ali-ktc-toast { position: fixed; left: 50%; bottom: 28px; z-index: 99999; transform: translate(-50%, 12px); opacity: 0; pointer-events: none;
  background: #2a1250; color: #fff; border: 1px solid #c084fc; border-radius: 999px; padding: 9px 18px; font-size: 14px; font-weight: 700;
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", sans-serif; transition: opacity .18s, transform .18s; white-space: nowrap; }
.ali-ktc-toast b { margin-left: 8px; color: #f0abfc; letter-spacing: .04em; }
.ali-ktc-toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ===== ページ全体 (サイトのヘッダー .header 以外) を KTC 用に。このページ (ショートコードがあるページ) だけに効かせる ===== */
body:has(#ali-ktc-root) { overflow-x: hidden; } /* ページ背景はテーマのまま (スマホの上部メニュー行は透明で背景が透ける) */
body:has(#ali-ktc-root) header.header { margin-bottom: 0 !important; } /* ヘッダー下の 20px の隙間だけ詰める (ヘッダーの見た目は変えない) */
body:has(#ali-ktc-root) section.container { max-width: none !important; width: 100% !important; padding: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; background: #f6f4fb !important; }
body:has(#ali-ktc-root) .pagecontent { padding: 0 !important; margin: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important; }
body:has(#ali-ktc-root) .article-header { display: none !important; }
body:has(#ali-ktc-root) .article-content { padding: 0 !important; margin: 0 !important; max-width: none !important; background: transparent !important; }
body:has(#ali-ktc-root) .article-content > p:empty { display: none; }
/* 本体: 画面幅いっぱいの背景、中身は 1080px で中央 */
.ali-ktc#ali-ktc-root { width: 100vw; max-width: 100vw; margin: 0 calc(50% - 50vw); padding: 0 0 36px; border: 0; border-radius: 0;
  background: radial-gradient(90% 60% at 50% 0%, #2a1458 0%, #140b27 45%, #0c0716 100%); }
.ali-ktc#ali-ktc-root > .ali-ktc-toolbar, .ali-ktc#ali-ktc-root > .ali-ktc-list, .ali-ktc#ali-ktc-root > .ali-ktc-foot { max-width: 1080px; margin-left: auto; margin-right: auto; padding-left: 20px; padding-right: 20px; }
.ali-ktc#ali-ktc-root > .ali-ktc-toolbar { position: static; background: transparent; border-bottom: 1px solid #2a1a48; padding-top: 6px; padding-bottom: 12px; }
.ali-ktc#ali-ktc-root .ali-ktc-hero { margin: 0 0 10px; border-radius: 0; padding: 54px 20px 40px; border-bottom: 0;
  background: radial-gradient(70% 140% at 50% 0%, #4c1d95 0%, #2a1458 45%, rgba(20,11,39,0) 100%); }
.ali-ktc#ali-ktc-root .ali-ktc-hero-eye { font-size: 14px; }
.ali-ktc#ali-ktc-root h2.ali-ktc-hero-title { font-size: clamp(30px, 5vw, 54px); }
.ali-ktc#ali-ktc-root .ali-ktc-card { background: #170d2c; border-color: #33205c; }
.ali-ktc#ali-ktc-root .ali-ktc-row { background: #1f1239; border-color: #2e1c52; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { background: #2a0f3f; border-color: #ff3df0; }
.ali-ktc#ali-ktc-root .ali-ktc-foot { margin-top: 22px; color: #8a79b8; }
@media (max-width: 560px) {
  .ali-ktc#ali-ktc-root > .ali-ktc-toolbar, .ali-ktc#ali-ktc-root > .ali-ktc-list, .ali-ktc#ali-ktc-root > .ali-ktc-foot { padding-left: 12px; padding-right: 12px; }
  .ali-ktc#ali-ktc-root .ali-ktc-hero { padding: 36px 14px 26px; margin: 0 0 6px; }
}

/* ===== ライトテーマ (KTC 公式サイトに合わせて白基調。紫・マゼンタはアクセントとして主役のまま) ===== */
.ali-ktc#ali-ktc-root { color: #1f1633; background: #f6f4fb; }
.ali-ktc#ali-ktc-root .ali-ktc-hero { background: linear-gradient(135deg, #3b0764 0%, #6d28d9 55%, #a21caf 100%); margin-bottom: 18px; } /* タイトル帯だけグラデーション (ページ背景は単色) */
.ali-ktc#ali-ktc-root .ali-ktc-hero-eye { color: #e9d5ff; }
.ali-ktc#ali-ktc-root h2.ali-ktc-hero-title { color: #fff !important; }
.ali-ktc#ali-ktc-root .ali-ktc-hero-sub { color: #ede4ff; }
/* 絞り込み */
.ali-ktc#ali-ktc-root > .ali-ktc-toolbar { border-bottom-color: #e6def6; }
.ali-ktc#ali-ktc-root .ali-ktc-facet-label { color: #6d28d9; }
.ali-ktc#ali-ktc-root .ali-ktc-cat { background: #fff; border-color: #d9cdf5; color: #4c1d95; }
.ali-ktc#ali-ktc-root .ali-ktc-cat:hover { border-color: #a855f7; color: #3b0764; }
.ali-ktc#ali-ktc-root .ali-ktc-cat.active { background: linear-gradient(135deg, #a21caf, #7c3aed); border-color: #7c3aed; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-clear { background: #fdf2f8; border-color: #f0abfc; color: #a21caf; }
.ali-ktc#ali-ktc-root .ali-ktc-status { color: #6b5b95; }
/* ストア別集計 */
.ali-ktc#ali-ktc-root .ali-ktc-storesum { background: #fff; border-color: #e4dbf7; color: #2e1a5c; }
.ali-ktc#ali-ktc-root .ali-ktc-storesum-chip { background: #f5f0ff; border-color: #d9cdf5; color: #3b2a66; }
.ali-ktc#ali-ktc-root .ali-ktc-storesum-chip em { color: #c026d3; }
/* 見出し・カード */
.ali-ktc#ali-ktc-root h3.ali-ktc-cat-head { color: #2e1a5c !important; border-left-color: #a21caf !important; }
.ali-ktc#ali-ktc-root .ali-ktc-card { background: #fff; border-color: #e8e1f7; }
.ali-ktc#ali-ktc-root .ali-ktc-card:hover { border-color: #c4b5fd; }
.ali-ktc#ali-ktc-root .ali-ktc-model { color: #1f1633; }
.ali-ktc#ali-ktc-root .ali-ktc-thumb { border-color: #ece6fa; }
.ali-ktc#ali-ktc-root .ali-ktc-sum--out { color: #8b7bb5; }
/* 出品の行 */
.ali-ktc#ali-ktc-root .ali-ktc-row { background: #faf8ff; border-color: #ece6fa; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { background: #fdf4ff; border-color: #d946ef; }
.ali-ktc#ali-ktc-root .ali-ktc-store { color: #2e1a5c; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-soldout { opacity: .55; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-soldout .ali-ktc-store, .ali-ktc#ali-ktc-root .ali-ktc-out { color: #8b7bb5; }
.ali-ktc#ali-ktc-root .ali-ktc-best { background: #d946ef; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-amzt { color: #8b7bb5; }
.ali-ktc#ali-ktc-root button.ali-ktc-coupon { background: #f5f0ff; border-color: #a855f7; color: #3b1675; }
.ali-ktc#ali-ktc-root .ali-ktc-cp-lab { color: #7c6aa8; }
.ali-ktc#ali-ktc-root .ali-ktc-cp-off { color: #c026d3; }
.ali-ktc#ali-ktc-root .ali-ktc-copy { background: #7c3aed; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-final { color: #c026d3; }
.ali-ktc#ali-ktc-root .ali-ktc-list-price { color: #9a8cbf; }
.ali-ktc#ali-ktc-root .ali-ktc-plabel { color: #7c6aa8; }
.ali-ktc#ali-ktc-root .ali-ktc-special { background: #7e22ce; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-cta a { background: linear-gradient(135deg, #a21caf, #7c3aed); }
/* 価格推移 */
.ali-ktc#ali-ktc-root .ali-ktc-histbtn { background: #f5f0ff; border-color: #c4b5fd; color: #5b21b6; }
.ali-ktc#ali-ktc-root .ali-ktc-histbtn.on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-hist { background: #fcfbff; border-color: #e4dbf7; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-tabs button { border-color: #d9cdf5; color: #5b4a86; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-tabs button.on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-svg .gl { stroke: #ece6fa; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-svg .yl, .ali-ktc#ali-ktc-root .ali-ktc-hist-svg .xl { fill: #8b7bb5; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-svg .cur { stroke: #7c3aed; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-tip { background: #fff; border-color: #c4b5fd; color: #1f1633; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-leg { color: #4c3d75; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-leg b { color: #c026d3; }
.ali-ktc#ali-ktc-root .ali-ktc-hist-leg em, .ali-ktc#ali-ktc-root .ali-ktc-hist-note, .ali-ktc#ali-ktc-root .ali-ktc-hist-empty { color: #8b7bb5; }
.ali-ktc#ali-ktc-root .ali-ktc-foot { color: #6b5b95; }
.ali-ktc#ali-ktc-root, .ali-ktc#ali-ktc-root .ali-ktc-card, .ali-ktc#ali-ktc-root .ali-ktc-storesum { background-image: none !important; }

/* ===== DUX のダークモード (html.darking) 用。テーマの色 (背景 #0c0f14 / 面 #14181b / 線 #1d2025) に合わせ、紫・マゼンタはアクセント ===== */
html.darking body:has(#ali-ktc-root) section.container { background: #0c0f14 !important; }
html.darking .ali-ktc#ali-ktc-root { background: #0c0f14; color: #d6d6dc; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hero { background: linear-gradient(135deg, #2e0657 0%, #5b21b6 55%, #86198f 100%); }
html.darking .ali-ktc#ali-ktc-root > .ali-ktc-toolbar { border-bottom-color: #1d2025; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-facet-label { color: #a78bfa; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-cat { background: #14181b; border-color: #2c3139; color: #c4b5fd; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-cat:hover { border-color: #8b5cf6; color: #ede9fe; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-cat.active { background: linear-gradient(135deg, #a21caf, #7c3aed); border-color: #8b5cf6; color: #fff; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-clear { background: #1f1420; border-color: #6b2a6e; color: #f0abfc; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-status { color: #8b8f99; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-storesum { background: #14181b; border-color: #1d2025; color: #d6d6dc; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-storesum-chip { background: #1a1e24; border-color: #2c3139; color: #d6d6dc; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-storesum-chip em { color: #e879f9; }
html.darking .ali-ktc#ali-ktc-root h3.ali-ktc-cat-head { color: #ededf2 !important; border-left-color: #c026d3 !important; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-card { background: #14181b; border-color: #1d2025; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-card:hover { border-color: #3b3f4a; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-model { color: #ededf2; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-thumb { border-color: #2c3139; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-sum--out { color: #8b8f99; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row { background: #181c21; border-color: #23272e; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { background: #221427; border-color: #c026d3; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-store { color: #e4e4ea; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row.is-soldout { opacity: .5; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row.is-soldout .ali-ktc-store, html.darking .ali-ktc#ali-ktc-root .ali-ktc-out { color: #8b8f99; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-best { background: #c026d3; color: #fff; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-amzt { color: #8b8f99; }
html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon { background: #1b1830; border-color: #8b5cf6; color: #ede9fe; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-cp-lab { color: #a39fb8; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-cp-off { color: #e879f9; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-copy { background: #7c3aed; color: #fff; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-final { color: #e879f9; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-list-price { color: #7d818b; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-plabel { color: #a39fb8; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-histbtn { background: #1a1e24; border-color: #3b3f4a; color: #c4b5fd; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-histbtn.on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist { background: #101317; border-color: #1d2025; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-tabs button { border-color: #2c3139; color: #b4b7c0; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-tabs button.on { background: #7c3aed; border-color: #7c3aed; color: #fff; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-svg .gl { stroke: #22262d; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-svg .yl, html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-svg .xl { fill: #7d818b; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-svg .cur { stroke: #a78bfa; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-tip { background: #14181b; border-color: #3b3f4a; color: #e4e4ea; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-leg { color: #b4b7c0; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-leg b { color: #e879f9; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-leg em, html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-note, html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist-empty { color: #7d818b; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-foot { color: #8b8f99; }

/* ===== 30 日移動平均との比較バッジ ===== */
.ali-ktc .ali-ktc-ma { display: inline-block; margin-top: 3px; font-size: 10px; font-weight: 800; line-height: 1.5; padding: 0 7px; border-radius: 999px; white-space: nowrap; }
.ali-ktc#ali-ktc-root .ali-ktc-ma--best { background: #c026d3; color: #fff; }
.ali-ktc#ali-ktc-root .ali-ktc-ma--low { background: #fae8ff; color: #a21caf; border: 1px solid #f0abfc; }
.ali-ktc#ali-ktc-root .ali-ktc-ma--mid { background: #f1eef8; color: #6b5b95; border: 1px solid #e4dbf7; }
.ali-ktc#ali-ktc-root .ali-ktc-ma--high { background: #f4f4f6; color: #8a8a96; border: 1px solid #e5e5ea; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-ma--best { background: #c026d3; color: #fff; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-ma--low { background: #2a1430; color: #f0abfc; border-color: #6b2a6e; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-ma--mid { background: #1a1e24; color: #b4b7c0; border-color: #2c3139; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-ma--high { background: #16191d; color: #7d818b; border-color: #23272e; }
@media (max-width: 560px) { .ali-ktc .ali-ktc-ma { order: 4; margin-top: 2px; } }

/* 価格推移の 30 日移動平均 (点線) と切替ボタン */
.ali-ktc-hist-svg .ma { fill: none; stroke-width: 1.5; stroke-dasharray: 5 4; opacity: .85; vector-effect: non-scaling-stroke; }
.ali-ktc .ali-ktc-hist-tabs .ali-ktc-ma-tg { margin-left: auto; }
.ali-ktc .ali-ktc-hist-tip .mav { color: #8b7bb5; margin-left: 2px; }
html.darking .ali-ktc .ali-ktc-hist-tip .mav { color: #7d818b; }
@media (max-width: 560px) { /* 凡例: ストア名と今の価格を 1 行目、最安・30日平均を 2 行目に */
  .ali-ktc .ali-ktc-hist-leg span { flex-wrap: wrap; row-gap: 0; }
  .ali-ktc .ali-ktc-hist-leg s { flex: 1 1 0; }
  .ali-ktc .ali-ktc-hist-leg em { flex-basis: 100%; padding-left: 15px; }
  .ali-ktc .ali-ktc-hist-tip { min-width: 0; max-width: 240px; font-size: 10px; }
}

/* Amazon の販売店とポイント */
.ali-ktc .ali-ktc-seller { display: block; font-size: 11px; font-weight: 500; color: #7c6aa8; margin-top: 2px; }
.ali-ktc .ali-ktc-pt { font-size: 10px; font-weight: 700; color: #b45309; }
html.darking .ali-ktc .ali-ktc-seller { color: #a39fb8; }
html.darking .ali-ktc .ali-ktc-pt { color: #fbbf24; }
@media (max-width: 560px) { .ali-ktc .ali-ktc-pt { order: 3; } }
.ali-ktc .ali-ktc-var { display: inline-block; margin-left: 6px; padding: 0 6px; border-radius: 4px; font-size: 10px; font-weight: 700; background: #efe9fb; color: #5b4a86; }
html.darking .ali-ktc .ali-ktc-var { background: #23272e; color: #c4b5fd; }
.ali-ktc .ali-ktc-post { font-size: 10px; font-weight: 700; color: #8b7bb5; margin-left: 4px; }
html.darking .ali-ktc .ali-ktc-post { color: #a39fb8; }
@media (max-width: 560px) { .ali-ktc .ali-ktc-post { order: 3; } }

/* 商品名の下のスペックタグ */
.ali-ktc .ali-ktc-tags { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 8px; }
.ali-ktc .ali-ktc-tags span { font-size: 11px; font-weight: 700; line-height: 1.6; padding: 0 8px; border-radius: 4px; background: #efe9fb; color: #4c3d75; border: 1px solid #e0d6f5; }
html.darking .ali-ktc .ali-ktc-tags span { background: #1a1e24; color: #c4b5fd; border-color: #2c3139; }
@media (max-width: 560px) {
  .ali-ktc .ali-ktc-tags { grid-column: 1 / -1; margin: 0; }
  .ali-ktc .ali-ktc-tags span { font-size: 10px; padding: 0 6px; }
}
@media (max-width: 560px) { /* スマホのサムネを少し大きく (60 → 76px) */
  .ali-ktc .ali-ktc-card { grid-template-columns: 76px 1fr; }
  .ali-ktc .ali-ktc-thumb { width: 76px !important; height: 76px !important; }
}

/* ===== お得な商品ピックアップ ===== */
.ali-ktc .ali-ktc-picks { border: 1px solid #e4dbf7; border-radius: 12px; background: #fff; padding: 12px; margin: 4px 0 10px; }
.ali-ktc .ali-ktc-picks-head { font-size: 15px; font-weight: 800; color: #2e1a5c; margin: 0 0 10px; }
.ali-ktc .ali-ktc-picks-head span { font-size: 11px; font-weight: 500; color: #8b7bb5; margin-left: 6px; }
.ali-ktc .ali-ktc-picks-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ali-ktc a.ali-ktc-pick { display: flex; gap: 10px; align-items: center; padding: 8px; border: 1px solid #ece6fa; border-radius: 10px; background: #faf8ff; color: inherit !important; text-decoration: none !important; min-width: 0; }
.ali-ktc a.ali-ktc-pick:hover { border-color: #c084fc; }
.ali-ktc .ali-ktc-pick img, .ali-ktc .ali-ktc-pick-noimg { width: 56px; height: 56px; flex-shrink: 0; object-fit: contain; background: #fff; border-radius: 6px; border: 1px solid #ece6fa; }
.ali-ktc .ali-ktc-pick-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ali-ktc .ali-ktc-pick-name { font-size: 12px; font-weight: 700; color: #1f1633; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ali-ktc .ali-ktc-pick-price { font-size: 16px; font-weight: 800; color: #c026d3; line-height: 1.2; }
.ali-ktc .ali-ktc-pick-price em { font-style: normal; font-size: 10px; font-weight: 500; color: #8b7bb5; margin-left: 6px; }
.ali-ktc .ali-ktc-pick-badge { align-self: flex-start; font-size: 10px; font-weight: 800; color: #fff; background: #c026d3; border-radius: 999px; padding: 0 7px; }
.ali-ktc .ali-ktc-card { scroll-margin-top: 80px; }
html.darking .ali-ktc .ali-ktc-picks { background: #14181b; border-color: #1d2025; }
html.darking .ali-ktc .ali-ktc-picks-head { color: #ededf2; }
html.darking .ali-ktc a.ali-ktc-pick { background: #181c21; border-color: #23272e; }
html.darking .ali-ktc .ali-ktc-pick-name { color: #ededf2; }
html.darking .ali-ktc .ali-ktc-pick-price { color: #e879f9; }
@media (max-width: 900px) { .ali-ktc .ali-ktc-picks-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) {
  .ali-ktc .ali-ktc-picks-list { grid-template-columns: 1fr; }
  .ali-ktc .ali-ktc-picks { padding: 10px; }
}
.ali-ktc .ali-ktc-pick img, .ali-ktc .ali-ktc-pick-noimg { flex: 0 0 56px; width: 56px !important; height: 56px !important; max-width: none !important; } /* テーマの img 指定で幅がばらつくのを防ぐ */
.ali-ktc .ali-ktc-pick img, .ali-ktc .ali-ktc-pick-noimg { margin: 0 !important; } /* テーマの img { margin: auto } で短い商品名の行だけサムネが右にずれていた */
.ali-ktc .ali-ktc-pick-body { flex: 1 1 auto; }

/* HTML の段階で出す機種一覧 (JS が動くと置き換わる) */
.ali-ktc .ali-ktc-ssr { font-size: 13px; line-height: 1.7; color: #4c3d75; }
.ali-ktc .ali-ktc-ssr ul { margin: 6px 0 0 1.2em; }

/* ===== 2026-10-22 サイドバー化: 左に絞り込み (サイズ・解像度・リフレッシュ・パネル・形状)、右に件数と一覧。CPU 比較と同じ配置 ===== */
.ali-ktc#ali-ktc-root > .ali-ktc-layout { max-width: 1180px; margin: 0 auto; padding: 8px 20px 0; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; align-items: start; }
.ali-ktc .ali-ktc-main { min-width: 0; }
.ali-ktc .ali-ktc-main > .ali-ktc-toolbar { position: static; background: transparent; border: 0; padding: 4px 2px 6px; }
.ali-ktc .ali-ktc-side { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + 12px); background: #fff; border: 1px solid #e6def6; border-radius: 18px; padding: 8px 10px 12px; }
.ali-ktc .ali-ktc-sidetg { display: none; }
.ali-ktc .ali-ktc-side .ali-ktc-cats { display: flex; flex-direction: column; gap: 0; }
.ali-ktc .ali-ktc-side .ali-ktc-facet { flex-direction: column; align-items: stretch; gap: 2px; padding: 6px 0 8px; }
.ali-ktc .ali-ktc-side .ali-ktc-facet + .ali-ktc-facet { border-top: 1px solid #ece6f8; }
.ali-ktc .ali-ktc-side .ali-ktc-facet-label { min-width: 0; padding: 6px 10px 4px; font-size: 12.5px; font-weight: 700; color: #6d28d9; }
.ali-ktc .ali-ktc-side .ali-ktc-facet-chips { flex-direction: column; flex-wrap: nowrap; gap: 2px; overflow: visible; }
/* 項目 (チェック付き、選ぶと薄い紫の面) */
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 34px; padding: 0 12px; border: 0; border-radius: 999px; background: transparent; color: #2e1a5c; font-size: 13px; font-weight: 500; text-align: left; box-shadow: none; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat::before { content: ""; flex: none; width: 16px; height: 16px; border: 2px solid #8b7bb5; border-radius: 3px; box-sizing: border-box; background: no-repeat center / 12px 12px; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat:hover { background: #f5f0ff; color: #2e1a5c; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat.active { background: #ede4ff; color: #4c1d95; font-weight: 700; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat.active::before { border-color: #7c3aed; background-color: #7c3aed; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12l4.5 4.5L19 7' fill='none' stroke='%23fff' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-clear { justify-content: center; margin-top: 4px; background: #fdf2f8; color: #a21caf; font-weight: 700; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-clear::before { display: none; }
html.darking .ali-ktc .ali-ktc-side { background: #14181b; border-color: #1d2025; }
html.darking .ali-ktc .ali-ktc-side .ali-ktc-facet + .ali-ktc-facet { border-top-color: #1d2025; }
html.darking .ali-ktc .ali-ktc-side .ali-ktc-facet-label { color: #a78bfa; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat { background: transparent; color: #d6d6dc; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat::before { border-color: #6b6f7a; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat:hover { background: #1c1f26; color: #ede9fe; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat.active { background: #2a1a48; color: #ede9fe; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat.active::before { border-color: #a78bfa; background-color: #8b5cf6; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-clear { background: #1f1420; color: #f0abfc; }
/* タブレット・スマホ: 「絞り込み」ボタンで開閉、項目はチップで横に並べる */
@media (max-width: 860px) {
  .ali-ktc#ali-ktc-root > .ali-ktc-layout { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 8px 12px 0; }
  .ali-ktc .ali-ktc-side { position: static; padding: 0; overflow: hidden; border-radius: 16px; }
  .ali-ktc .ali-ktc-sidetg { display: flex; align-items: center; width: 100%; height: 48px; padding: 0 18px; border: 0; background: none; color: #2e1a5c; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
  .ali-ktc .ali-ktc-sidetg::after { content: ""; margin-left: auto; width: 7px; height: 7px; border-right: 2px solid #8b7bb5; border-bottom: 2px solid #8b7bb5; transform: rotate(45deg); }
  .ali-ktc .ali-ktc-side.open .ali-ktc-sidetg::after { transform: rotate(-135deg); }
  html.darking .ali-ktc .ali-ktc-sidetg { color: #ede9fe; }
  .ali-ktc .ali-ktc-side .ali-ktc-cats { display: none; padding: 0 10px 10px; }
  .ali-ktc .ali-ktc-side.open .ali-ktc-cats { display: flex; }
  .ali-ktc .ali-ktc-side .ali-ktc-facet-chips { flex-direction: row; flex-wrap: wrap; gap: 6px; }
  .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat { width: auto; min-height: 32px; border: 1px solid #d9cdf5; border-radius: 8px; padding: 0 12px 0 8px; font-size: 12.5px; }
  html.darking .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat { border-color: #2c3139; }
  .ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat.active { border-color: transparent; }
}

/* ===== 2026-10-22 調整: タイトル帯を小さく / サイドバーは画面の高さに収めて中だけスクロール (テーマの追従ヘッダー 72px の下に止める) ===== */
.ali-ktc#ali-ktc-root .ali-ktc-hero { padding: 22px 20px 18px; margin-bottom: 12px; }
.ali-ktc#ali-ktc-root .ali-ktc-hero-eye { font-size: 11.5px; margin-bottom: 4px; }
.ali-ktc#ali-ktc-root h2.ali-ktc-hero-title { font-size: clamp(22px, 3vw, 32px); }
.ali-ktc .ali-ktc-side { top: calc(var(--wp-admin--admin-bar--height, 0px) + 84px); max-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px) - 100px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #d9cdf5 transparent; }
html.darking .ali-ktc .ali-ktc-side { scrollbar-color: #2c3139 transparent; }
@media (max-width: 860px) {
  .ali-ktc .ali-ktc-side { max-height: none; overflow: hidden; }
}
@media (max-width: 640px) {
  .ali-ktc#ali-ktc-root .ali-ktc-hero { padding: 16px 12px 13px; margin-bottom: 8px; }
  .ali-ktc#ali-ktc-root .ali-ktc-hero-eye { font-size: 10.5px; }
  .ali-ktc#ali-ktc-root h2.ali-ktc-hero-title { font-size: 21px; }
}
/* 件数と価格更新はタイトル帯の中 (タイトルの下に小さく) */
.ali-ktc#ali-ktc-root .ali-ktc-hero .ali-ktc-hero-status { padding: 0; margin: 6px 0 0; font-size: 12px; color: #e9d5ff !important; text-align: center !important; opacity: .9; }
@media (max-width: 640px) { .ali-ktc#ali-ktc-root .ali-ktc-hero .ali-ktc-hero-status { font-size: 11px; } }
/* お気に入り (ハート)。機種名の横とストア名の横、サイドバーの一番上に「お気に入り」 */
.ali-ktc .ali-ktc-fav { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; margin: 0 0 0 4px; padding: 0; border: 0 !important; border-radius: 999px; background: none !important; color: #b5a8d6; cursor: pointer; vertical-align: -6px; box-shadow: none !important; }
.ali-ktc .ali-ktc-fav svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ali-ktc .ali-ktc-fav:hover { color: #e8436a; background: #f5f0ff !important; }
.ali-ktc .ali-ktc-fav.on { color: #e8436a; }
.ali-ktc .ali-ktc-fav.on svg { fill: currentColor; }
.ali-ktc .ali-ktc-store .ali-ktc-fav { width: 22px; height: 22px; vertical-align: -5px; }
.ali-ktc .ali-ktc-store .ali-ktc-fav svg { width: 14px; height: 14px; }
html.darking .ali-ktc .ali-ktc-fav { color: #6b6f7a; }
html.darking .ali-ktc .ali-ktc-fav:hover { background: #1c1f26 !important; color: #ff6b8b; }
html.darking .ali-ktc .ali-ktc-fav.on { color: #ff6b8b; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat[disabled] { opacity: .4; cursor: default; background: transparent; }
.ali-ktc .ali-ktc-favhint { margin: 2px 12px 4px; font-size: 11.5px; line-height: 1.5; color: #7a6aa6; }
.ali-ktc .ali-ktc-favhint svg { width: 12px; height: 12px; fill: none; stroke: #e8436a; stroke-width: 2; vertical-align: -1px; margin-right: 2px; }
html.darking .ali-ktc .ali-ktc-favhint { color: #9a9fa7; }
/* 件数・価格更新はタイトル帯の右下に小さく */
.ali-ktc#ali-ktc-root .ali-ktc-hero { position: relative; }
.ali-ktc#ali-ktc-root .ali-ktc-hero .ali-ktc-hero-status { position: absolute; right: 20px; bottom: 10px; margin: 0; font-size: 11px; text-align: right !important; opacity: .85; }
@media (max-width: 860px) {
  .ali-ktc#ali-ktc-root .ali-ktc-hero .ali-ktc-hero-status { position: static; margin-top: 6px; text-align: center !important; font-size: 10.5px; }
}
/* ダークモード: ページの背景は真っ黒、一覧のカード・サイドバーは少し明るい黒 (2026-10-22) */
html.darking body:has(#ali-ktc-root) section.container { background: #000 !important; }
html.darking .ali-ktc#ali-ktc-root { background: #000; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-card, html.darking .ali-ktc .ali-ktc-picks, html.darking .ali-ktc .ali-ktc-side, html.darking .ali-ktc#ali-ktc-root .ali-ktc-storesum { background: #15181c; border-color: #23272d; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row, html.darking .ali-ktc a.ali-ktc-pick { background: #1b1f24; border-color: #2a2f36; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-hist { background: #111418; }
/* コピーの通知をページのデザイン (白いカード・紫のアクセント・角丸) に合わせる (2026-10-22) */
.ali-ktc-toast { display: inline-flex; align-items: center; gap: 10px; background: #fff; color: #2e1a5c; border: 1px solid #e6def6; border-radius: 14px; padding: 10px 14px 10px 12px; font-size: 13.5px; box-shadow: 0 8px 24px rgba(76, 29, 149, .18); }
.ali-ktc-toast::before { content: ""; flex: none; width: 22px; height: 22px; border-radius: 50%; background: #7c3aed url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / 14px 14px; }
.ali-ktc-toast b { margin-left: 2px; padding: 2px 8px; border-radius: 6px; background: #f3e8ff; color: #6d28d9; letter-spacing: .04em; font-size: 13px; }
html.darking .ali-ktc-toast { background: #1b1f24; color: #ede9fe; border-color: #2a2f36; box-shadow: 0 8px 24px rgba(0, 0, 0, .6); }
html.darking .ali-ktc-toast::before { background-color: #8b5cf6; }
html.darking .ali-ktc-toast b { background: #2a1a48; color: #e9d5ff; }
/* お得な商品ピックアップの「30日平均より○%安い」は細めの文字に (2026-10-22) */
.ali-ktc .ali-ktc-pick-badge, .ali-ktc#ali-ktc-root .ali-ktc-pick-badge { font-weight: 500 !important; letter-spacing: .02em; }
/* クーポン券の枠を点線から実線に (2026-10-22) */
.ali-ktc button.ali-ktc-coupon, .ali-ktc button.ali-ktc-coupon:hover, .ali-ktc#ali-ktc-root button.ali-ktc-coupon, .ali-ktc#ali-ktc-root button.ali-ktc-coupon:hover, html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon { border-style: solid !important; }
/* クーポン券にカーソルを合わせている間、枠の上を光の玉 (火の玉) が回る。色はページのマゼンタ〜紫 (2026-10-22) */
@property --ktc-fire { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
.ali-ktc button.ali-ktc-coupon { position: relative; isolation: isolate; }
.ali-ktc button.ali-ktc-coupon::after { content: ""; position: absolute; inset: -2px; border-radius: inherit; padding: 2.5px; pointer-events: none; opacity: 0;
  background: conic-gradient(from var(--ktc-fire), transparent 0 58%, rgba(124, 58, 237, .25) 70%, #c026d3 86%, #e879f9 93%, #fff 96.5%, transparent 98%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  filter: drop-shadow(0 0 4px #e879f9) drop-shadow(0 0 9px rgba(192, 38, 211, .75)); transition: opacity .2s; }
.ali-ktc button.ali-ktc-coupon:hover::after, .ali-ktc button.ali-ktc-coupon:focus-visible::after { opacity: 1; animation: ktc-fire 1.6s linear infinite; }
@keyframes ktc-fire { to { --ktc-fire: 360deg; } }
@media (prefers-reduced-motion: reduce) { .ali-ktc button.ali-ktc-coupon:hover::after { animation: none; } }
/* 光の玉が回っている間は、もとの実線を薄くぼかす (玉が引き立つように) */
.ali-ktc#ali-ktc-root button.ali-ktc-coupon { transition: border-color .25s, box-shadow .25s; }
.ali-ktc#ali-ktc-root button.ali-ktc-coupon:hover, .ali-ktc#ali-ktc-root button.ali-ktc-coupon:focus-visible { border-color: rgba(168, 85, 247, .3) !important; box-shadow: 0 0 6px rgba(168, 85, 247, .28), inset 0 0 4px rgba(168, 85, 247, .12); }
html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon:hover, html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon:focus-visible { border-color: rgba(139, 92, 246, .32) !important; box-shadow: 0 0 6px rgba(139, 92, 246, .3), inset 0 0 4px rgba(139, 92, 246, .14); }
/* 機種の札は種類ごとに色分け、価格推移は濃い紫のボタン (2026-10-22) */
.ali-ktc .ali-ktc-tags span.t-size { background: #ede4ff; color: #5b21b6; border-color: #dccdfb; }
.ali-ktc .ali-ktc-tags span.t-res { background: #e3edff; color: #1d4ed8; border-color: #cbdcfd; }
.ali-ktc .ali-ktc-tags span.t-hz { background: #dcf6ef; color: #0f766e; border-color: #bfeadf; }
.ali-ktc .ali-ktc-tags span.t-panel { background: #fde7f3; color: #be185d; border-color: #f9cfe5; }
.ali-ktc .ali-ktc-tags span.t-shape { background: #fff0d9; color: #b45309; border-color: #fde0b3; }
html.darking .ali-ktc .ali-ktc-tags span.t-size { background: #251a3d; color: #c4b5fd; border-color: #35265a; }
html.darking .ali-ktc .ali-ktc-tags span.t-res { background: #14223d; color: #93c5fd; border-color: #1e3358; }
html.darking .ali-ktc .ali-ktc-tags span.t-hz { background: #0f2a26; color: #5eead4; border-color: #17403a; }
html.darking .ali-ktc .ali-ktc-tags span.t-panel { background: #33142a; color: #f9a8d4; border-color: #4a1d3d; }
html.darking .ali-ktc .ali-ktc-tags span.t-shape { background: #33240f; color: #fcd34d; border-color: #4a3416; }
.ali-ktc#ali-ktc-root .ali-ktc-histbtn, html.darking .ali-ktc#ali-ktc-root .ali-ktc-histbtn { background: linear-gradient(135deg, #a21caf, #7c3aed); border-color: transparent; color: #fff; box-shadow: 0 1px 3px rgba(124, 58, 237, .3); }
.ali-ktc#ali-ktc-root .ali-ktc-histbtn:hover { filter: brightness(1.1); }
.ali-ktc#ali-ktc-root .ali-ktc-histbtn.on, html.darking .ali-ktc#ali-ktc-root .ali-ktc-histbtn.on { background: linear-gradient(135deg, #86198f, #5b21b6); color: #fff; }
/* サイドバーと右側 (ピックアップ・一覧) の上端をそろえる */
.ali-ktc#ali-ktc-root .ali-ktc-main > .ali-ktc-list { margin-top: 0; padding-top: 0; }
.ali-ktc#ali-ktc-root .ali-ktc-main > .ali-ktc-list > :first-child { margin-top: 0; }
/* 価格推移ボタンはカードの右上の角に (2026-10-22) */
.ali-ktc#ali-ktc-root .ali-ktc-card { position: relative; }
.ali-ktc#ali-ktc-root .ali-ktc-card > .ali-ktc-body > .ali-ktc-histbtn { position: absolute; top: 14px; right: 14px; margin: 0; z-index: 2; grid-column: auto; }
.ali-ktc#ali-ktc-root .ali-ktc-card .ali-ktc-model { padding-right: 96px; }
@media (max-width: 560px) {
  .ali-ktc#ali-ktc-root .ali-ktc-card > .ali-ktc-body > .ali-ktc-histbtn { top: 10px; right: 10px; font-size: 10.5px; padding: 2px 9px; }
  .ali-ktc#ali-ktc-root .ali-ktc-card .ali-ktc-model { padding-right: 84px; }
}
/* 機種の札: 文字は少し細く、札は少し大きく (2026-10-22) */
.ali-ktc .ali-ktc-tags { gap: 5px; }
.ali-ktc .ali-ktc-tags span { font-size: 12.5px; font-weight: 500; line-height: 1.75; padding: 0 10px; border-radius: 6px; }
@media (max-width: 560px) { .ali-ktc .ali-ktc-tags span { font-size: 11.5px; padding: 0 8px; } }
/* 価格の色: ふつうの行は文字色 (ダークは白)、最安の行だけ明るい紫で目立たせる (2026-10-22) */
.ali-ktc#ali-ktc-root .ali-ktc-row .ali-ktc-final { color: #2e1a5c; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row .ali-ktc-final { color: #f4f4f7; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest .ali-ktc-final { color: #9333ea; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest .ali-ktc-final { color: #c084fc; }
/* ===== 文字の太さを 400 / 600 / 700 の 3 段階に整理 (強さは価格と商品名に集める) 2026-10-22 ===== */
.ali-ktc#ali-ktc-root h2.ali-ktc-hero-title, .ali-ktc#ali-ktc-root h3.ali-ktc-cat-head, .ali-ktc#ali-ktc-root .ali-ktc-picks-head { font-weight: 700 !important; }
.ali-ktc#ali-ktc-root .ali-ktc-hero-eye { font-weight: 600; }
.ali-ktc#ali-ktc-root .ali-ktc-final { font-weight: 800; }
.ali-ktc#ali-ktc-root .ali-ktc-pick-price { font-weight: 700; }
.ali-ktc#ali-ktc-root .ali-ktc-model { font-weight: 600; }
.ali-ktc#ali-ktc-root .ali-ktc-pick-name { font-weight: 600; line-height: 1.5; }
.ali-ktc#ali-ktc-root .ali-ktc-store { font-weight: 600; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-facet-label { font-weight: 600; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat { font-weight: 400; }
.ali-ktc#ali-ktc-root .ali-ktc-side .ali-ktc-cat.active { font-weight: 600; }
.ali-ktc#ali-ktc-root .ali-ktc-cnt { font-weight: 400 !important; opacity: .7; }
.ali-ktc#ali-ktc-root .ali-ktc-tags span, .ali-ktc#ali-ktc-root .ali-ktc-seller, .ali-ktc#ali-ktc-root .ali-ktc-amzt, .ali-ktc#ali-ktc-root .ali-ktc-plabel, .ali-ktc#ali-ktc-root .ali-ktc-post, .ali-ktc#ali-ktc-root .ali-ktc-status,
.ali-ktc#ali-ktc-root .ali-ktc-list-price, .ali-ktc#ali-ktc-root .ali-ktc-hist-note, .ali-ktc#ali-ktc-root .ali-ktc-hist-leg, .ali-ktc#ali-ktc-root .ali-ktc-sum, .ali-ktc#ali-ktc-root .ali-ktc-cp-lab, .ali-ktc#ali-ktc-root .ali-ktc-foot, .ali-ktc#ali-ktc-root .ali-ktc-ma { font-weight: 400; }
.ali-ktc#ali-ktc-root .ali-ktc-cta a, .ali-ktc#ali-ktc-root .ali-ktc-go, .ali-ktc#ali-ktc-root .ali-ktc-histbtn, .ali-ktc#ali-ktc-root .ali-ktc-copy, .ali-ktc#ali-ktc-root .ali-ktc-sidetg, .ali-ktc#ali-ktc-root .ali-ktc-best, .ali-ktc#ali-ktc-root .ali-ktc-pt { font-weight: 600; }
.ali-ktc#ali-ktc-root .ali-ktc-cp-code, .ali-ktc#ali-ktc-root .ali-ktc-cp-off { font-weight: 700; }
/* ===== ライトモードのメリハリ (背景と一覧を見分けやすく、弱視でも区別できるように) 2026-10-22 ===== */
html:not(.darking) .ali-ktc#ali-ktc-root .ali-ktc-card, html:not(.darking) .ali-ktc .ali-ktc-picks, html:not(.darking) .ali-ktc .ali-ktc-side {
  background: #fff; border: 1px solid #cdbfe9; box-shadow: 0 1px 2px rgba(46, 26, 92, .07), 0 3px 10px rgba(46, 26, 92, .06); }
html:not(.darking) .ali-ktc#ali-ktc-root .ali-ktc-row, html:not(.darking) .ali-ktc a.ali-ktc-pick { background: #f4f0fc; border-color: #dcd2f1; }
html:not(.darking) .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { background: #fbeefe; border-color: #c026d3; }
html:not(.darking) .ali-ktc .ali-ktc-side .ali-ktc-facet + .ali-ktc-facet { border-top-color: #e2d9f4; }
html:not(.darking) .ali-ktc#ali-ktc-root h3.ali-ktc-cat-head { color: #241446 !important; }
/* ダーク: 一覧のカード (機種ごと) とピックアップの外枠は無し。中の行・クーポン券・札などの枠は残す (2026-10-22) */
html.darking .ali-ktc#ali-ktc-root .ali-ktc-card, html.darking .ali-ktc .ali-ktc-picks { border-color: transparent !important; }
html.darking .ali-ktc .ali-ktc-side { border-color: transparent !important; }
/* ダーク: 出品の行とピックアップの商品の枠も無し。最安の行は背景を濃い紫にして区別 (2026-10-22) */
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row, html.darking .ali-ktc a.ali-ktc-pick { border-color: transparent !important; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { background: #2b1640; }
html.darking .ali-ktc .ali-ktc-tags span { border-color: transparent !important; }
html.darking .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { border-color: #c026d3 !important; }
html.darking .ali-ktc .ali-ktc-tags span.t-size { background: #33245a; }
html.darking .ali-ktc .ali-ktc-tags span.t-res { background: #1c3158; }
html.darking .ali-ktc .ali-ktc-tags span.t-hz { background: #163d37; }
html.darking .ali-ktc .ali-ktc-tags span.t-panel { background: #4a1d3d; }
html.darking .ali-ktc .ali-ktc-tags span.t-shape { background: #4a3416; }
html.darking .ali-ktc .ali-ktc-tags span.t-size { color: #ede9fe; }
html.darking .ali-ktc .ali-ktc-tags span.t-res { color: #dbeafe; }
html.darking .ali-ktc .ali-ktc-tags span.t-hz { color: #ccfbf1; }
html.darking .ali-ktc .ali-ktc-tags span.t-panel { color: #fce7f3; }
html.darking .ali-ktc .ali-ktc-tags span.t-shape { color: #fef3c7; }
/* クーポン券の枠を細く (1.5px→1px)。火の玉はそのまま (2026-10-22) */
.ali-ktc#ali-ktc-root button.ali-ktc-coupon { border-width: 1px !important; }

/* beta 表記 (2026-10-24) */
.ali-ktc#ali-ktc-root h2.ali-ktc-hero-title small.ali-ktc-beta{display:inline-block;vertical-align:middle;margin-left:.45em;padding:3px 8px 4px;border:1.5px solid rgba(255,255,255,.75);border-radius:6px;background:rgba(255,255,255,.14);color:#fff !important;-webkit-text-fill-color:#fff;font-size:13px;font-weight:800;letter-spacing:.04em;line-height:1;position:relative;top:-.12em}

/* 火の玉はクーポン券から最安の行へ移す。最安の行の実線の枠は残し、その上を光の玉が回り続ける (2026-10-24) */
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest { position: relative; isolation: isolate; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; padding: 2px; pointer-events: none;
  background: conic-gradient(from var(--ktc-fire), transparent 0 58%, rgba(124, 58, 237, .25) 70%, #c026d3 86%, #e879f9 93%, #fff 96.5%, transparent 98%);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  filter: drop-shadow(0 0 4px #e879f9) drop-shadow(0 0 9px rgba(192, 38, 211, .6)); animation: ktc-fire 3.2s linear infinite; }
@media (prefers-reduced-motion: reduce) { .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest::after { animation: none; } }
/* クーポン券は枠線だけなくす (中身と背景は残す)。火の玉は最安の行へ移したので、券の上では回さない (2026-10-24) */
.ali-ktc button.ali-ktc-coupon, .ali-ktc button.ali-ktc-coupon:hover, .ali-ktc button.ali-ktc-coupon:focus-visible,
html .ali-ktc#ali-ktc-root button.ali-ktc-coupon, html .ali-ktc#ali-ktc-root button.ali-ktc-coupon:hover, html .ali-ktc#ali-ktc-root button.ali-ktc-coupon:focus-visible,
html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon, html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon:hover, html.darking .ali-ktc#ali-ktc-root button.ali-ktc-coupon:focus-visible { border-color: transparent !important; box-shadow: none !important; }
.ali-ktc button.ali-ktc-coupon::after { content: none !important; }
/* 最安の行の火の玉はカーソルを合わせている間だけ回す。ライトモードは白だと見えにくいので、濃い紫〜黒寄りの玉にする (2026-10-24) */
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest::after { opacity: 0; animation: none; transition: opacity .2s; }
.ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest:hover::after { opacity: 1; animation: ktc-fire 1.8s linear infinite; }
html:not(.darking) .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest::after {
  background: conic-gradient(from var(--ktc-fire), transparent 0 58%, rgba(124, 58, 237, .2) 70%, #a21caf 84%, #6b21a8 92%, #1e0b2e 96.5%, transparent 98%);
  filter: drop-shadow(0 0 3px rgba(107, 33, 168, .55)); }
@media (prefers-reduced-motion: reduce) { .ali-ktc#ali-ktc-root .ali-ktc-row.is-cheapest:hover::after { animation: none; } }
