/* /buying/ 埋込み版（v2）。すべて .kinv 配下に限定（WordPressテーマのCSSと衝突させない）。
   色・書体・罫線は /buying/ の kbuy-style-v3 に合わせている。
   組込み側で変えてよい値：--kinv-photo-ratio（写真枠の比率）、--kinv-sticky-top（固定ヘッダーの高さ）。 */
.kinv {
  --kinv-bg:#070809; --kinv-bg2:#0d0f11; --kinv-panel:#0d0f10; --kinv-panel-hover:#131619;
  --kinv-text:#f5f4f0; --kinv-strong:#ffffff; --kinv-muted:#aeb0ae; --kinv-dim:#8f918f;
  --kinv-gold:#bda168; --kinv-gold-soft:rgba(189,161,104,.12); --kinv-green:#08c96b;
  --kinv-line:rgba(255,255,255,.12); --kinv-line2:rgba(255,255,255,.2);
  --kinv-img-bg:#090a0b; --kinv-field-bg:#070809; --kinv-glass:rgba(7,8,9,.62); --kinv-badge-bg:rgba(7,8,9,.8);
  --kinv-watermark:rgba(255,255,255,.022); --kinv-sheet-bg:#0d0f10;
  --kinv-photo-ratio:4/3; --kinv-sticky-top:0px;
  position:relative; overflow:hidden; overflow:clip; padding:136px 0 120px; background:var(--kinv-bg2); color:var(--kinv-text);
  font-family:"Noto Sans JP","Yu Gothic","YuGothic","Meiryo",sans-serif; font-size:14px; line-height:1.8;
  -webkit-font-smoothing:antialiased;
}
/* 白基調の比較版 */
.kinv.kinv--light {
  --kinv-bg:#f5f4f0; --kinv-bg2:#f7f6f2; --kinv-panel:#ffffff; --kinv-panel-hover:#fbfaf6;
  --kinv-text:#1e2022; --kinv-strong:#111214; --kinv-muted:#5f6361; --kinv-dim:#7a7d7b;
  --kinv-gold:#a2843f; --kinv-gold-soft:rgba(162,132,63,.12);
  --kinv-line:rgba(30,32,34,.12); --kinv-line2:rgba(30,32,34,.22);
  --kinv-img-bg:#e8e6df; --kinv-field-bg:#ffffff; --kinv-glass:rgba(255,255,255,.78); --kinv-badge-bg:rgba(255,255,255,.92);
  --kinv-watermark:rgba(30,32,34,.035); --kinv-sheet-bg:#ffffff;
}
.kinv *, .kinv *::before, .kinv *::after { box-sizing:border-box; }
.kinv a { color:inherit; text-decoration:none; transition:.3s ease; }
.kinv button, .kinv select, .kinv input { font:inherit; color:inherit; }
.kinv a:focus-visible, .kinv button:focus-visible, .kinv select:focus-visible, .kinv input:focus-visible { outline:2px solid var(--kinv-gold); outline-offset:3px; }
.kinv::before { content:"STOCK"; position:absolute; right:-10px; top:20px; color:var(--kinv-watermark); font-size:clamp(120px,20vw,300px); line-height:1; font-weight:900; letter-spacing:-.05em; pointer-events:none; }
.kinv__wrap { position:relative; z-index:1; width:min(1180px,calc(100% - 120px)); margin:0 auto; }

/* 見出し */
.kinv .kinv-head { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; margin-bottom:40px; }
.kinv .kinv-kicker { margin:0 0 22px; color:var(--kinv-gold); font-size:11px; line-height:1.3; font-weight:700; letter-spacing:.28em; }
.kinv .kinv-title { margin:0; color:var(--kinv-strong); font-size:clamp(34px,4vw,54px); line-height:1.42; letter-spacing:.045em; font-weight:800; overflow-wrap:anywhere; }
.kinv .kinv-lead { max-width:520px; margin:0 0 8px auto; color:var(--kinv-muted); font-size:14px; line-height:2.05; letter-spacing:.04em; }
.kinv .kinv-sample { display:inline-block; margin:0 0 28px; padding:7px 14px; border:1px solid var(--kinv-gold); color:var(--kinv-gold); font-size:12px; letter-spacing:.04em; }
.kinv .kinv-warning { margin:0 0 24px; padding:16px 20px; border-left:2px solid var(--kinv-gold); background:var(--kinv-gold-soft); color:var(--kinv-text); font-size:13px; }

/* ブランド切替 */
.kinv .kinv-brands { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--kinv-line2); border-left:1px solid var(--kinv-line2); }
.kinv .kinv-brands button { display:flex; flex-direction:column; align-items:flex-start; gap:4px; min-height:84px; padding:18px 24px; border:0; border-right:1px solid var(--kinv-line2); border-bottom:1px solid var(--kinv-line2); background:var(--kinv-glass); color:var(--kinv-strong); font-size:19px; font-weight:700; letter-spacing:.04em; text-align:left; cursor:pointer; transition:.3s ease; }
.kinv .kinv-brands button span { color:var(--kinv-muted); font-size:10px; font-weight:400; letter-spacing:.2em; }
.kinv .kinv-brands button:hover { background:var(--kinv-panel-hover); }
.kinv .kinv-brands button[aria-pressed="true"] { background:var(--kinv-gold); color:#08090a; }
.kinv .kinv-brands button[aria-pressed="true"] span { color:rgba(8,9,10,.7); }

/* 件数・並べ替えバー（スマホでは固定） */
.kinv .kinv-bar { display:flex; justify-content:space-between; align-items:end; gap:16px; margin:0; padding:22px 0 18px; }
.kinv .kinv-bar p { display:flex; align-items:baseline; gap:8px; margin:0; color:var(--kinv-muted); font-size:12px; letter-spacing:.08em; }
.kinv #kinv-count { color:var(--kinv-strong); font-size:30px; font-weight:800; letter-spacing:.02em; line-height:1; }
.kinv .kinv-toggle { display:none; }
.kinv .kinv-sort { width:230px; margin-left:auto; }

/* 絞込み（PC：常時表示 ／ スマホ：下から出るシート） */
.kinv .kinv-filters { display:grid; grid-template-columns:1.4fr repeat(5,minmax(0,1fr)); gap:16px; align-items:end; margin:0 0 20px; padding:24px; background:var(--kinv-panel); border:1px solid var(--kinv-line); }
.kinv .kinv-filters__title, .kinv .kinv-filters__close { display:none; }
.kinv .kinv-filters label, .kinv .kinv-sort { display:flex; flex-direction:column; gap:8px; min-width:0; margin:0; color:var(--kinv-muted); font-size:11px; font-weight:700; letter-spacing:.16em; }
.kinv select, .kinv input[type="search"] { width:100%; min-width:0; min-height:50px; margin:0; padding:0 14px; border:1px solid var(--kinv-line2); border-radius:0; background:var(--kinv-field-bg); color:var(--kinv-strong); font-size:14px; font-weight:400; letter-spacing:.03em; -webkit-appearance:none; appearance:none; text-overflow:ellipsis; }
.kinv select { padding-right:36px; background-image:linear-gradient(45deg,transparent 50%,var(--kinv-gold) 50%),linear-gradient(135deg,var(--kinv-gold) 50%,transparent 50%); background-position:calc(100% - 20px) 52%,calc(100% - 15px) 52%; background-size:5px 5px; background-repeat:no-repeat; cursor:pointer; }
.kinv select:hover, .kinv input[type="search"]:hover { border-color:var(--kinv-gold); }
.kinv select option { background:var(--kinv-panel); color:var(--kinv-strong); }
.kinv input[type="search"]::placeholder { color:var(--kinv-dim); }
.kinv input[type="search"]::-webkit-search-cancel-button { -webkit-appearance:none; }
.kinv .kinv-filters__actions { display:flex; gap:10px; grid-column:1/-1; justify-content:flex-end; }
.kinv .kinv-reset, .kinv .kinv-apply { min-height:46px; padding:0 22px; border:1px solid var(--kinv-line2); background:transparent; color:var(--kinv-text); font-size:12px; font-weight:700; letter-spacing:.08em; cursor:pointer; white-space:nowrap; transition:.3s ease; }
.kinv .kinv-reset:hover { background:var(--kinv-strong); border-color:var(--kinv-strong); color:var(--kinv-bg); }
.kinv .kinv-apply { display:none; background:var(--kinv-green); border-color:var(--kinv-green); color:#04150c; }
.kinv .kinv-backdrop { display:none; }

/* 適用中の条件チップ */
.kinv .kinv-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.kinv .kinv-chips:empty { display:none; }
.kinv .kinv-chip { display:inline-flex; align-items:center; gap:10px; min-height:34px; padding:0 12px 0 14px; border:1px solid var(--kinv-gold); background:var(--kinv-gold-soft); color:var(--kinv-text); font-size:12px; letter-spacing:.04em; cursor:pointer; }
.kinv .kinv-chip b { font-size:15px; font-weight:400; color:var(--kinv-gold); }
.kinv .kinv-chip:hover { background:var(--kinv-gold); color:#08090a; }
.kinv .kinv-chip:hover b { color:#08090a; }

/* 一覧カード（QUALITYカードと同じ罫線グリッド） */
.kinv .kinv-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--kinv-line); border-left:1px solid var(--kinv-line); }
.kinv .kinv-card { display:flex; flex-direction:column; min-width:0; background:var(--kinv-panel); border-right:1px solid var(--kinv-line); border-bottom:1px solid var(--kinv-line); color:var(--kinv-strong); }
.kinv .kinv-card:hover { background:var(--kinv-panel-hover); }
.kinv .kinv-card__image { position:relative; aspect-ratio:var(--kinv-photo-ratio); overflow:hidden; background:var(--kinv-img-bg); }
.kinv .kinv-card__image::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 65%,rgba(0,0,0,.45)); pointer-events:none; }
.kinv.kinv--light .kinv-card__image::after { background:linear-gradient(180deg,transparent 70%,rgba(0,0,0,.18)); }
.kinv .kinv-card__image img, .kinv .kinv-gallery__main img, .kinv .kinv-thumbs img { display:block; width:100%; height:100%; object-fit:cover; }
.kinv .kinv-card__image img { transition:transform .7s ease; }
.kinv .kinv-card:hover .kinv-card__image img { transform:scale(1.04); }
.kinv .kinv-card__badges { position:absolute; left:14px; top:14px; z-index:2; display:flex; gap:6px; }
.kinv .kinv-card__photos { position:absolute; right:12px; bottom:10px; z-index:2; display:inline-flex; align-items:center; gap:5px; padding:3px 9px; background:rgba(0,0,0,.55); color:#fff; font-size:11px; letter-spacing:.06em; }
.kinv .kinv-card__photos::before { content:""; width:12px; height:9px; border:1.5px solid #fff; border-radius:1px; }
.kinv .kinv-status { display:inline-flex; align-items:center; gap:8px; padding:6px 12px; background:var(--kinv-badge-bg); border:1px solid var(--kinv-line2); color:var(--kinv-strong); font-size:11px; font-weight:700; letter-spacing:.1em; }
.kinv .kinv-status::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--kinv-green); }
.kinv .kinv-status.is-nego { border-color:var(--kinv-gold); color:var(--kinv-gold); }
.kinv .kinv-status.is-nego::before { background:var(--kinv-gold); }
.kinv .kinv-status.is-new { background:var(--kinv-green); border-color:var(--kinv-green); color:#04150c; }
.kinv .kinv-status.is-new::before { display:none; }
.kinv .kinv-status.is-ended { color:var(--kinv-muted); }
.kinv .kinv-status.is-ended::before { background:#6b6e6c; }
.kinv .kinv-card__body { display:flex; flex-direction:column; flex:1; padding:26px 26px 22px; }
.kinv .kinv-card__maker { margin:0 0 6px; color:var(--kinv-gold); font-size:11px; font-weight:700; letter-spacing:.22em; text-transform:uppercase; }
.kinv .kinv-card__model { margin:0; color:var(--kinv-strong); font-size:23px; line-height:1.4; font-weight:700; letter-spacing:.04em; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kinv .kinv-card__grade { margin:6px 0 0; color:var(--kinv-muted); font-size:13px; line-height:1.7; letter-spacing:.02em; overflow-wrap:anywhere; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kinv .kinv-line { display:block; width:44px; height:1px; margin:18px 0 16px; background:var(--kinv-gold); }
.kinv .kinv-price { display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.kinv .kinv-price > span { color:var(--kinv-muted); font-size:12px; letter-spacing:.1em; }
.kinv .kinv-price strong { color:var(--kinv-strong); font-size:34px; line-height:1.1; font-weight:700; letter-spacing:.01em; white-space:nowrap; }
.kinv .kinv-price small { margin-left:4px; font-size:13px; font-weight:700; }
.kinv .kinv-card__tax { margin:4px 0 16px; color:var(--kinv-dim); font-size:12px; text-align:right; }
.kinv .kinv-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:14px 0; border-top:1px solid var(--kinv-line); border-bottom:1px solid var(--kinv-line); }
.kinv .kinv-facts div + div { padding-left:12px; border-left:1px solid var(--kinv-line); }
.kinv .kinv-facts dt { color:var(--kinv-dim); font-size:11px; letter-spacing:.1em; }
.kinv .kinv-facts dd { margin:2px 0 0; color:var(--kinv-text); font-size:14px; white-space:nowrap; }
.kinv .kinv-card__foot { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:auto 0 0; padding-top:16px; color:var(--kinv-muted); font-size:12px; letter-spacing:.06em; }
.kinv .kinv-card__foot b, .kinv .kinv-external b, .kinv .kinv-btn b { font-size:17px; font-weight:400; transition:transform .3s ease,color .3s ease; }
.kinv .kinv-card:hover .kinv-card__foot b { transform:translateX(5px); color:var(--kinv-gold); }
.kinv .kinv-nophoto { display:grid; place-items:center; height:100%; color:var(--kinv-dim); font-size:11px; letter-spacing:.24em; }
.kinv .kinv-empty { grid-column:1/-1; padding:70px 24px; background:var(--kinv-panel); border-right:1px solid var(--kinv-line); border-bottom:1px solid var(--kinv-line); color:var(--kinv-muted); text-align:center; }
.kinv .kinv-empty p { margin:0; }
.kinv .kinv-empty p:first-child { color:var(--kinv-strong); font-size:16px; font-weight:700; margin-bottom:6px; }
.kinv .kinv-more { display:block; width:min(360px,100%); min-height:58px; margin:28px auto 0; padding:0 24px; border:1px solid var(--kinv-line2); background:transparent; color:var(--kinv-strong); font-size:13px; font-weight:700; letter-spacing:.08em; cursor:pointer; transition:.3s ease; }
.kinv .kinv-more:hover { background:var(--kinv-strong); border-color:var(--kinv-strong); color:var(--kinv-bg); }
.kinv .kinv-more[hidden] { display:none; }

/* カーセンサー導線 */
.kinv .kinv-external { display:grid; grid-template-columns:auto minmax(0,1fr); gap:40px; align-items:center; margin-top:56px; padding-top:32px; border-top:1px solid var(--kinv-line); }
.kinv .kinv-external__label { margin:0; color:var(--kinv-muted); font-size:12px; letter-spacing:.06em; }
.kinv .kinv-external__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--kinv-line2); border-left:1px solid var(--kinv-line2); }
.kinv .kinv-external__link { display:flex; flex-direction:column; gap:4px; padding:18px 22px; border-right:1px solid var(--kinv-line2); border-bottom:1px solid var(--kinv-line2); background:var(--kinv-glass); color:var(--kinv-strong); font-size:17px; font-weight:700; letter-spacing:.04em; }
.kinv .kinv-external__link small { color:var(--kinv-gold); font-size:10px; font-weight:400; letter-spacing:.2em; }
.kinv .kinv-external em { display:inline-flex; align-items:center; justify-content:space-between; gap:14px; margin-top:6px; color:var(--kinv-strong); font-size:12px; font-style:normal; font-weight:700; letter-spacing:.07em; }

/* 詳細 */
.kinv .kinv-detail__nav { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:32px; }
.kinv .kinv-back { display:inline-flex; color:var(--kinv-muted); font-size:13px; letter-spacing:.06em; }
.kinv .kinv-back:hover { color:var(--kinv-gold); }
.kinv .kinv-prevnext { display:flex; align-items:center; gap:14px; color:var(--kinv-dim); font-size:12px; letter-spacing:.06em; }
.kinv .kinv-prevnext__btn { display:inline-flex; align-items:center; min-height:38px; padding:0 14px; border:1px solid var(--kinv-line2); color:var(--kinv-text); font-size:12px; font-weight:700; letter-spacing:.06em; }
.kinv .kinv-prevnext__btn:hover { background:var(--kinv-strong); border-color:var(--kinv-strong); color:var(--kinv-bg); }
.kinv .kinv-prevnext__btn[aria-disabled="true"] { opacity:.3; pointer-events:none; }
.kinv .kinv-title--detail { font-size:clamp(32px,3.6vw,48px); }
.kinv .kinv-detail__grade { margin:8px 0 22px; color:var(--kinv-muted); font-size:15px; letter-spacing:.04em; }
.kinv .kinv-detail { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr); gap:40px; align-items:start; }
.kinv .kinv-gallery__main { position:relative; aspect-ratio:var(--kinv-photo-ratio); overflow:hidden; background:var(--kinv-img-bg); border:1px solid var(--kinv-line); }
.kinv .kinv-gallery__open { display:block; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:zoom-in; }
.kinv .kinv-gallery__arrow { position:absolute; top:50%; z-index:2; width:44px; height:44px; transform:translateY(-50%); border:1px solid var(--kinv-line2); background:var(--kinv-badge-bg); color:var(--kinv-strong); font-size:26px; line-height:1; cursor:pointer; opacity:0; transition:.25s ease; }
.kinv .kinv-gallery__arrow.is-prev { left:14px; } .kinv .kinv-gallery__arrow.is-next { right:14px; }
.kinv .kinv-gallery__main:hover .kinv-gallery__arrow, .kinv .kinv-gallery__main:focus-within .kinv-gallery__arrow, .kinv .kinv-lightbox .kinv-gallery__arrow { opacity:1; }
.kinv .kinv-gallery__arrow:hover { background:var(--kinv-gold); color:#08090a; border-color:var(--kinv-gold); }
.kinv .kinv-gallery__counter { position:absolute; right:14px; bottom:12px; z-index:2; padding:4px 10px; background:rgba(0,0,0,.6); color:#fff; font-size:12px; letter-spacing:.08em; }
.kinv .kinv-thumbs { display:flex; gap:10px; margin-top:10px; padding-bottom:4px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; }
.kinv .kinv-thumbs button { flex:0 0 112px; aspect-ratio:var(--kinv-photo-ratio); padding:0; border:1px solid var(--kinv-line); background:var(--kinv-img-bg); cursor:pointer; opacity:.55; scroll-snap-align:start; transition:.3s ease; }
.kinv .kinv-thumbs button:hover { opacity:.9; }
.kinv .kinv-thumbs button[aria-pressed="true"] { opacity:1; border-color:var(--kinv-gold); }
.kinv .kinv-gallery__caption { min-height:1.6em; margin:12px 0 0; color:var(--kinv-text); font-size:13px; line-height:1.8; }
.kinv .kinv-gallery__caption:empty { display:none; }
.kinv .kinv-gallery__hint { margin:8px 0 0; color:var(--kinv-dim); font-size:12px; letter-spacing:.04em; }
.kinv .kinv-detail__note { display:block; margin-top:6px; color:var(--kinv-dim); font-size:13px; line-height:1.8; }
.kinv .kinv-summary { padding:32px; background:var(--kinv-panel); border:1px solid var(--kinv-line); }
.kinv .kinv-price--detail { display:block; margin:24px 0 18px; }
.kinv .kinv-price--detail > span { display:block; margin-bottom:6px; }
.kinv .kinv-price--detail strong { font-size:52px; font-weight:800; }
.kinv .kinv-price--detail small { font-size:16px; }
.kinv .kinv-breakdown { margin:0; border-top:1px solid var(--kinv-line); }
.kinv .kinv-breakdown div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--kinv-line); font-size:14px; }
.kinv .kinv-breakdown dt { color:var(--kinv-muted); }
.kinv .kinv-breakdown dd { margin:0; color:var(--kinv-strong); }
.kinv .kinv-conditions { margin:16px 0 0; color:var(--kinv-dim); font-size:12px; line-height:1.9; }
.kinv .kinv-actions { display:grid; gap:10px; margin-top:24px; }
.kinv .kinv-btn { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:58px; padding:0 24px; border:1px solid var(--kinv-line); font-size:13px; font-weight:700; letter-spacing:.08em; cursor:pointer; transition:.3s ease; }
.kinv .kinv-btn--green { background:var(--kinv-green); border-color:var(--kinv-green); color:#04150c; }
.kinv .kinv-btn--ghost { background:var(--kinv-glass); color:var(--kinv-strong); }
.kinv .kinv-btn:disabled { cursor:not-allowed; opacity:.45; }
.kinv .kinv-note, .kinv .kinv-meta { margin:14px 0 0; color:var(--kinv-dim); font-size:12px; letter-spacing:.03em; }
.kinv .kinv-specs { margin-top:64px; }
.kinv .kinv-specs dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; border-top:1px solid var(--kinv-line); }
.kinv .kinv-specs dl div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:20px; padding:18px 4px; border-bottom:1px solid var(--kinv-line); font-size:14px; }
.kinv .kinv-specs dl div:nth-child(odd) { padding-right:28px; }
.kinv .kinv-specs dl div:nth-child(even) { padding-left:28px; border-left:1px solid var(--kinv-line); }
.kinv .kinv-specs dt { color:var(--kinv-muted); letter-spacing:.06em; }
.kinv .kinv-specs dd { margin:0; color:var(--kinv-strong); overflow-wrap:anywhere; }
.kinv .kinv-related { margin-top:64px; }
.kinv .kinv-related__title { margin:-8px 0 22px; color:var(--kinv-strong); font-size:24px; font-weight:700; letter-spacing:.04em; }
.kinv .kinv-meta { margin-top:28px; }
.kinv .kinv-stickybar { display:none; }

/* 拡大表示 */
.kinv .kinv-lightbox { position:fixed; inset:0; width:100vw; height:100vh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:rgba(0,0,0,.94); color:#fff; }
.kinv .kinv-lightbox::backdrop { background:transparent; }
.kinv .kinv-lightbox__stage { display:grid; place-items:center; width:100%; height:100%; padding:64px 72px 72px; }
.kinv .kinv-lightbox__stage img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.kinv .kinv-lightbox__close { position:absolute; right:16px; top:14px; z-index:3; width:48px; height:48px; border:1px solid rgba(255,255,255,.3); background:rgba(0,0,0,.5); color:#fff; font-size:26px; line-height:1; cursor:pointer; }
.kinv .kinv-lightbox__close:hover { background:#fff; color:#000; }
.kinv .kinv-lightbox__caption { position:absolute; left:0; right:0; bottom:18px; margin:0; padding:0 20px; color:#cfd0ce; font-size:13px; text-align:center; letter-spacing:.04em; }

@media screen and (max-width:1000px) {
  .kinv__wrap { width:calc(100% - 64px); }
  .kinv .kinv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kinv .kinv-filters { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .kinv .kinv-filters__kw { grid-column:1/-1; }
  .kinv .kinv-detail { grid-template-columns:minmax(0,1fr) minmax(300px,.85fr); gap:24px; }
  .kinv .kinv-summary { padding:24px; }
  .kinv .kinv-price--detail strong { font-size:42px; }
  .kinv .kinv-external { grid-template-columns:1fr; gap:16px; }
}
@media screen and (max-width:768px) {
  .kinv { padding:72px 0 82px; }
  .kinv__wrap { width:calc(100% - 40px); }
  .kinv .kinv-head { grid-template-columns:1fr; gap:22px; margin-bottom:28px; }
  .kinv .kinv-title { font-size:32px; line-height:1.45; }
  .kinv .kinv-title--detail { font-size:28px; }
  .kinv .kinv-lead { margin:0; font-size:13px; line-height:1.95; }
  .kinv .kinv-brands button { min-height:66px; padding:12px 10px; font-size:14px; }
  .kinv .kinv-brands button span { font-size:10px; letter-spacing:.1em; }
  /* 固定バー：件数・絞り込む・並べ替え */
  .kinv .kinv-bar { position:sticky; top:var(--kinv-sticky-top); z-index:5; align-items:center; gap:10px; margin:0 -20px; padding:12px 20px; background:var(--kinv-bg2); border-bottom:1px solid var(--kinv-line); }
  .kinv #kinv-count { font-size:24px; }
  .kinv .kinv-bar__unit { display:none; }
  .kinv .kinv-toggle { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 16px; border:1px solid var(--kinv-line2); background:var(--kinv-panel); color:var(--kinv-strong); font-size:13px; font-weight:700; letter-spacing:.06em; cursor:pointer; }
  .kinv .kinv-toggle i { display:inline-grid; place-items:center; min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:var(--kinv-gold); color:#08090a; font-size:11px; font-style:normal; }
  .kinv .kinv-sort { width:auto; flex:0 1 150px; margin-left:0; gap:0; }
  .kinv .kinv-sort span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .kinv .kinv-sort select { min-height:44px; font-size:13px; }
  /* 絞込みシート */
  .kinv .kinv-filters { position:fixed; left:0; right:0; bottom:0; z-index:40; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; max-height:min(88vh,88dvh); margin:0; padding:18px 20px calc(20px + env(safe-area-inset-bottom)); overflow-y:auto; background:var(--kinv-sheet-bg); border:0; border-top:1px solid var(--kinv-line2); transform:translateY(102%); transition:transform .3s ease; visibility:hidden; }
  .kinv .kinv-filters.is-open { transform:none; visibility:visible; }
  .kinv .kinv-filters__title { display:flex; justify-content:space-between; align-items:center; grid-column:1/-1; margin:0 0 4px; color:var(--kinv-strong); font-size:16px; font-weight:700; letter-spacing:.06em; }
  .kinv .kinv-filters__close { display:grid; place-items:center; width:40px; height:40px; margin:-6px -8px -6px 0; border:1px solid var(--kinv-line2); background:transparent; color:var(--kinv-strong); font-size:22px; line-height:1; cursor:pointer; }
  .kinv .kinv-filters__kw { grid-column:1/-1; }
  .kinv .kinv-filters__actions { position:sticky; bottom:0; margin:8px -20px -20px; padding:12px 20px calc(16px + env(safe-area-inset-bottom)); background:var(--kinv-sheet-bg); border-top:1px solid var(--kinv-line); }
  .kinv .kinv-apply { display:inline-flex; align-items:center; justify-content:center; flex:1; }
  .kinv .kinv-reset { flex:0 0 auto; }
  .kinv .kinv-backdrop { display:block; position:fixed; inset:0; z-index:39; background:rgba(0,0,0,.55); }
  .kinv .kinv-backdrop[hidden] { display:none; }
  .kinv select, .kinv input[type="search"] { min-height:46px; padding:0 12px; font-size:14px; }
  .kinv select { padding-right:30px; background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%; }
  .kinv .kinv-chips { margin-top:14px; }
  .kinv .kinv-grid, .kinv .kinv-detail, .kinv .kinv-external__links { grid-template-columns:minmax(0,1fr); }
  .kinv .kinv-grid { margin-top:14px; }
  .kinv .kinv-card__body { padding:22px 20px 20px; }
  .kinv .kinv-card__model { font-size:22px; }
  .kinv .kinv-price strong { font-size:32px; }
  .kinv .kinv-detail__nav { margin-bottom:24px; }
  .kinv .kinv-prevnext { width:100%; justify-content:space-between; }
  .kinv .kinv-gallery__arrow { opacity:1; width:40px; height:40px; }
  .kinv .kinv-thumbs button { flex-basis:88px; }
  .kinv .kinv-summary { padding:24px 20px; }
  .kinv .kinv-price--detail strong { font-size:44px; }
  .kinv .kinv-specs, .kinv .kinv-related { margin-top:44px; }
  .kinv .kinv-specs dl { grid-template-columns:minmax(0,1fr); }
  .kinv .kinv-specs dl div, .kinv .kinv-specs dl div:nth-child(odd), .kinv .kinv-specs dl div:nth-child(even) { grid-template-columns:96px minmax(0,1fr); padding:14px 0; border-left:0; }
  .kinv .kinv-meta { padding-bottom:72px; }
  /* 詳細のスマホ固定CTA */
  .kinv .kinv-stickybar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:30; align-items:center; gap:14px; padding:10px 20px calc(10px + env(safe-area-inset-bottom)); background:var(--kinv-sheet-bg); border-top:1px solid var(--kinv-line2); }
  .kinv .kinv-stickybar div { display:flex; flex-direction:column; min-width:0; line-height:1.2; }
  .kinv .kinv-stickybar span { color:var(--kinv-muted); font-size:11px; letter-spacing:.1em; }
  .kinv .kinv-stickybar strong { color:var(--kinv-strong); font-size:24px; font-weight:800; white-space:nowrap; }
  .kinv .kinv-stickybar small { margin-left:3px; font-size:12px; }
  .kinv .kinv-stickybar .kinv-btn { width:auto; flex:1; min-height:48px; justify-content:center; }
  .kinv .kinv-lightbox__stage { padding:60px 12px 64px; }
  .kinv .kinv-lightbox .kinv-gallery__arrow.is-prev { left:8px; } .kinv .kinv-lightbox .kinv-gallery__arrow.is-next { right:8px; }
}
@media (prefers-reduced-motion:reduce) { .kinv *, .kinv a { transition:none !important; } }
