/* グッズ（あああ＝リッチ版v3 移植）。brand.css に依存せず自己完結（投稿内でも効く）。
   変数は .kn-goods にスコープ。全セレクタを .kn-goods 配下に限定。 */
.kn-goods{ --green:#2f8454; --green-d:#1f5b3a; --green-l:#eef3e6; --coral:#e2603c; --cream:#fdfbf3;
  --paper:#faf7ef; --gline:#e8e3d6; --gink:#2f3a33; --gmuted:#8a8268; }

.kn-goods .kn-goods-section{ margin:0 0 30px; }

/* 発売月別セクション（月H2「YYYY年M月」最新月が上 → 配下に商品H3） */
.kn-goods .kn-month{ margin:0 0 26px; }
.kn-goods .kn-month.is-hide{ display:none; }
.kn-goods .kn-genre{ margin:0 0 26px; }
.kn-goods .kn-genre.is-hide{ display:none; }
.kn-goods .kn-goods-card.is-hide{ display:none; }
.kn-goods .kn-month-h2{ display:inline-flex; align-items:center; gap:7px; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900 !important;
  font-size:clamp(19px,2.6vw,25px) !important; color:#1f5b3a !important; background:none !important; border:0 !important;
  border-radius:0 !important; padding:0 !important; margin:0 0 20px !important; line-height:1.3; }
.kn-goods .kn-month-h2::before,.kn-goods .kn-month-h2::after{ content:none !important; background:none !important; }
.kn-goods .kn-goods-card.is-more{ display:none; }
/* 月ジャンプナビ（年プルダウン＋1〜12月ボタン）。押すとその月へ移動。 */
.kn-goods .kn-monthnav{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 18px; }
.kn-goods .kn-ynav{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:13px; color:var(--green-d);
  background:#fff; border:1.5px solid var(--green); border-radius:8px; padding:6px 10px; cursor:pointer; }
.kn-goods .kn-mbtns{ display:flex; flex-wrap:wrap; gap:5px; }
.kn-goods .kn-mbtn{ min-width:32px; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:12.5px; text-align:center;
  color:var(--green-d); background:var(--green-l); border:1px solid #d9e6d2; border-radius:7px; padding:6px 9px; cursor:pointer; white-space:nowrap; }
.kn-goods .kn-mbtn:hover{ background:var(--green); color:#fff; border-color:var(--green); }
.kn-goods .kn-mbtn.is-off{ opacity:.35; pointer-events:none; }
.kn-goods .kn-all-more{ display:block; margin:18px auto 0; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700;
  font-size:13px; color:var(--green-d); background:#fff; border:1.5px solid var(--green); border-radius:999px; padding:10px 34px; cursor:pointer; }
.kn-goods .kn-all-more:hover{ background:var(--green); color:#fff; }

/* セクション見出し（H2）＝競馬場テンプレ（brand.css .kn-sechead .t）と同じ緑太字テキスト（色塗りバー廃止） */
.kn-goods .kn-sttl{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  font-weight:900 !important; font-size:clamp(19px,2.6vw,25px) !important; color:#1f5b3a !important;
  background:none !important; margin:0 0 20px !important;
  padding:0 !important; border:0 !important; border-radius:0 !important; line-height:1.35; }
.kn-goods .kn-sttl::before,.kn-goods .kn-sttl::after{ content:none !important; background:none !important; }
.kn-goods .kn-sttl small{ font-weight:500; font-size:13px; color:var(--gmuted); }

/* カレンダー（競馬新聞風）。発売日＝赤丸＋点数、過去＝灰丸「済」、本日タグ。クリックで下の一覧を絞り込み。 */
.kn-goods .kn-np{ --np-paper:#f6f2e5; --np-ink:#23201a; --np-ink2:#4a4538; --np-red:#bb2f25; --np-red-d:#9c271e; --np-line:#cdc4ac; --np-blue:#2f5aa8;
  max-width:560px; margin:0 auto 4px; background:var(--np-paper); border:1px solid var(--np-line); border-radius:6px; overflow:hidden;
  box-shadow:0 12px 30px -20px rgba(60,50,20,.6); background-image:radial-gradient(rgba(120,100,60,.04) 1px,transparent 1.4px); background-size:4px 4px; }
.kn-goods .kn-np-mast{ padding:14px 16px 10px; border-bottom:3px double var(--np-ink); position:relative; text-align:center; }
.kn-goods .kn-np-ttl{ font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:900; font-size:21px; letter-spacing:.35em; color:var(--np-ink); padding-left:.35em; }
.kn-goods .kn-np-ed{ position:absolute; right:14px; bottom:9px; font-family:"Yu Mincho",serif; font-size:9.5px; color:var(--np-ink2); letter-spacing:.05em; }
.kn-goods .kn-np-sub{ display:flex; align-items:center; gap:10px; padding:11px 16px; border-bottom:1px solid var(--np-ink); }
.kn-goods .kn-np-nav{ width:30px; height:30px; border:1px solid var(--np-ink); background:var(--np-paper); color:var(--np-ink); font-family:serif; font-size:16px; cursor:pointer; line-height:1; display:grid; place-items:center; border-radius:3px; }
.kn-goods .kn-np-nav:hover{ background:var(--np-ink); color:var(--np-paper); }
.kn-goods .kn-np-ym{ flex:1; text-align:center; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:700; }
.kn-goods .kn-np-ym .m{ font-size:22px; letter-spacing:.08em; }
.kn-goods .kn-np-ym .y{ font-size:12px; color:var(--np-ink2); margin-right:6px; }
.kn-goods .kn-np-cnt{ font-family:"Yu Mincho",serif; font-size:11px; color:var(--np-ink2); white-space:nowrap; }
.kn-goods .kn-np-cnt em{ font-style:normal; color:var(--np-red); font-weight:700; }
.kn-goods .kn-np-cal{ padding:4px 12px 12px; }
.kn-goods .kn-np-wh,.kn-goods .kn-np-body{ display:grid; grid-template-columns:repeat(7,1fr); }
.kn-goods .kn-np-wh span{ text-align:center; font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-weight:700; font-size:12px; padding:8px 0 6px; color:var(--np-ink); border-bottom:1px solid var(--np-ink); }
.kn-goods .kn-np-wh .sun{ color:var(--np-red); } .kn-goods .kn-np-wh .sat{ color:var(--np-blue); }
.kn-goods .kn-np-body{ border-left:1px solid var(--np-line); }
.kn-goods .nday{ position:relative; aspect-ratio:1/1.02; border-right:1px solid var(--np-line); border-bottom:1px solid var(--np-line); display:flex; align-items:center; justify-content:center; }
.kn-goods .nday.pad{ background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(120,100,60,.05) 5px 10px); }
.kn-goods .nday .num{ font-family:"Oswald",sans-serif; font-weight:500; font-size:16px; color:var(--np-ink); width:30px; height:30px; display:grid; place-items:center; position:relative; }
.kn-goods .nday.sun .num{ color:var(--np-red); } .kn-goods .nday.sat .num{ color:var(--np-blue); }
.kn-goods .nday.has{ cursor:pointer; }
.kn-goods .nday.has .num{ color:var(--np-ink); font-weight:600; box-shadow:0 0 0 1.5px var(--np-red); border-radius:50%; }
.kn-goods .nday.has::after{ content:attr(data-c); position:absolute; bottom:3px; left:50%; transform:translateX(-50%); font-family:"Yu Mincho",serif; font-size:8.5px; font-weight:700; color:var(--np-red); letter-spacing:.02em; }
.kn-goods .nday.has:hover{ background:#fbeae6; }
.kn-goods .nday.done{ cursor:pointer; }
.kn-goods .nday.done .num{ color:#a79c80; box-shadow:0 0 0 1.5px #cbb89a; border-radius:50%; }
.kn-goods .nday.done::after{ content:"済"; position:absolute; bottom:3px; left:50%; transform:translateX(-50%); font-family:"Yu Mincho",serif; font-size:8px; color:#b3a684; }
.kn-goods .nday.today::before{ content:"本日"; position:absolute; top:-1px; right:-1px; background:var(--np-red); color:#fff; font-family:"Yu Mincho",serif; font-weight:700; font-size:8px; padding:1px 4px; z-index:2; }
.kn-goods .nday.sel .num{ background:var(--np-red)!important; color:#fff!important; box-shadow:none!important; }
.kn-goods .nday.sel::after{ color:var(--np-red-d)!important; }

/* カレンダー・ホバープレビュー（fixed） */
.kn-goods .kn-caltip{ position:fixed; z-index:60; background:#fff; border:1px solid var(--gline); border-radius:11px;
  box-shadow:0 16px 34px -16px rgba(0,0,0,.32); padding:9px 11px; min-width:160px; max-width:230px; opacity:0;
  transform:translateY(5px); pointer-events:none; transition:opacity .12s,transform .12s; }
.kn-goods .kn-caltip.show{ opacity:1; transform:translateY(0); }
.kn-goods .kn-caltip .dt{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; color:var(--green-d); font-size:11px; margin-bottom:5px; }
.kn-goods .kn-caltip .row{ display:flex; justify-content:space-between; gap:10px; font-size:12px; color:#4a554d; }
.kn-goods .kn-caltip .row+.row{ margin-top:3px; }
.kn-goods .kn-caltip .row .p{ font-family:"Oswald",sans-serif; color:var(--green-d); }

/* カレンダー見出しの下の説明文（見出しの外） */
.kn-goods .kn-cal-note{ font-size:12.5px; color:var(--gmuted); margin:-4px 0 14px; }

/* 商品タブ：ジャンルは<h2>。セグメント風。スマホは折り返し（件数可変に堅牢）。 */
.kn-goods .kn-goods-tabs{ display:flex; flex-wrap:wrap; gap:6px; background:var(--cream); border:1px solid var(--gline);
  border-radius:12px; padding:5px; margin-bottom:18px; }
.kn-goods .kn-goods-tab{ flex:1 1 auto; min-width:88px; margin:0 !important; padding:9px 10px !important;
  font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700 !important; font-size:13px !important; line-height:1.3 !important;
  text-align:center; color:#4a554d !important; background:transparent !important; border:0 !important; border-radius:9px !important; cursor:pointer; }
.kn-goods .kn-goods-tab::before,.kn-goods .kn-goods-tab::after{ content:none !important; background:none !important; }
.kn-goods .kn-goods-tab:hover{ color:var(--green-d) !important; }
.kn-goods .kn-goods-tab.on{ background:var(--green-d) !important; color:#fff !important; }
@media(max-width:560px){ .kn-goods .kn-goods-tab{ flex:1 1 28%; min-width:0; font-size:12px !important; padding:9px 4px !important; } }

/* 選択日ヘッダー */
.kn-goods .kn-dayhead{ display:none; align-items:center; gap:10px; background:var(--green-l); border:1px solid #d8e6cb;
  border-radius:11px; padding:9px 14px; margin-bottom:14px; }
.kn-goods .kn-dayhead.show{ display:flex; }
.kn-goods .kn-dayhead b{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900; color:var(--green-d); font-size:14px; }
.kn-goods .kn-dayhead .n{ font-size:12px; color:var(--gmuted); }
.kn-goods .kn-dayhead .clr{ margin-left:auto; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:12px;
  color:var(--green-d); background:#fff; border:1px solid #cfe0c2; border-radius:999px; padding:5px 12px; cursor:pointer; }
.kn-goods .kn-dayhead .clr:hover{ border-color:var(--green); }

/* 商品＝横並びリスト（サムネ左・本文中・買うボタン右）。月が少なくても右に空白が出ない。 */
.kn-goods .kn-goods-grid{ display:flex; flex-direction:column; gap:9px; }
.kn-goods .kn-goods-card{ display:flex; flex-direction:row; align-items:stretch; background:#fff; border:1px solid var(--gline);
  border-radius:12px; overflow:hidden; transition:box-shadow .16s,border-color .16s,opacity .3s; }
.kn-goods .kn-goods-card:hover{ box-shadow:0 12px 26px -22px rgba(31,91,58,.5); border-color:#d8d2c2; }
.kn-goods .kn-goods-card.is-hide{ display:none; }
.kn-goods .kn-goods-thumb{ flex:none; width:76px; align-self:stretch; min-height:76px; position:relative; display:grid; place-items:center;
  background:linear-gradient(160deg,#fbf8f0,#f1efe4); border-right:1px solid var(--gline); overflow:hidden; }
.kn-goods .kn-goods-thumb img{ width:100%; height:100%; object-fit:cover; }
.kn-goods .kn-goods-thumb .ic{ width:30px; height:30px; color:#bcae8f; }
.kn-goods .kn-goods-body{ flex:1; min-width:0; padding:9px 12px; display:flex; flex-direction:column; justify-content:center; gap:3px; }
.kn-goods .kn-goods-cat{ font-size:10.5px; color:var(--gmuted); font-weight:700; }
.kn-goods .kn-goods-name{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700 !important; font-size:13.5px !important;
  color:var(--gink) !important; margin:0 !important; padding:0 !important; background:none !important; border:none !important; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kn-goods .kn-goods-name::before,.kn-goods .kn-goods-name::after{ content:none !important; }
.kn-goods .kn-goods-name-d{ font-weight:500; font-size:11.5px; color:var(--gmuted); }
/* 発売日バッジ＝サムネ内に絶対配置（レイアウトの高さに非影響＝画像・カードのサイズは不変） */
.kn-goods .kn-goods-thumb .kn-goods-date-badge{ position:absolute; left:0; right:0; bottom:0; padding:2px 4px;
  background:rgba(31,46,38,.78); color:#fff; font-size:9.5px; font-weight:700; line-height:1.3; text-align:center;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; letter-spacing:.2px; }
.kn-goods .kn-goods-meta{ display:flex; align-items:center; gap:8px; margin:0; }
.kn-goods .kn-goods-cd{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:10px; color:var(--coral); }
.kn-goods .kn-goods-price{ font-family:"Oswald",sans-serif; font-weight:600; font-size:15px; color:var(--green-d); }
.kn-goods .kn-goods-buy{ flex:none; align-self:center; margin:0 10px; display:flex; align-items:center; justify-content:center; gap:5px; white-space:nowrap;
  font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:12px; color:var(--green-d);
  background:#fff; border:1.4px solid var(--green); border-radius:8px; padding:8px 12px; text-decoration:none; cursor:pointer; transition:.15s; }
.kn-goods .kn-goods-buy:hover{ background:var(--green); color:#fff; }
@media(max-width:430px){ .kn-goods .kn-goods-buy{ margin:0 8px; padding:7px 9px; font-size:11px; } }
.kn-goods .kn-empty{ display:none; text-align:center; color:var(--gmuted); font-size:14px; padding:28px; }
.kn-goods .kn-goods-soon{ font-size:13px; color:var(--gmuted); padding:10px 0; }

/* 橋 */
.kn-goods .kn-bridge{ margin:32px 0 10px; border:1px solid var(--gline); border-radius:13px; padding:18px 20px; background:var(--cream); }
.kn-goods .kn-bridge .lead{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; color:var(--green-d); font-size:14px; margin:0 0 11px; }
.kn-goods .kn-bsteps{ display:flex; gap:12px; flex-wrap:wrap; }
.kn-goods .kn-bstep{ flex:1; min-width:200px; background:#fff; border:1px solid var(--gline); border-radius:10px; padding:12px 14px; text-decoration:none; transition:.15s; }
.kn-goods .kn-bstep:hover{ border-color:var(--green); }
.kn-goods .kn-bstep b{ display:block; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; color:var(--green-d); font-size:13.5px; }
.kn-goods .kn-bstep small{ color:var(--gmuted); font-size:12px; }

/* /goods/ 親ハブ：勝負服風ブランドカード（4層・層ごとに色／ブランド固有の柄） */
/* 層カテゴリ色（--cc 地／--cc-d 影）。.kn-sec に付与。 */
.kn-goods .kn-sec.c-official{ --cc:#2f8454; --cc-d:#1f5b3a; }
.kn-goods .kn-sec.c-ip{ --cc:#e8593a; --cc-d:#d24e30; }
.kn-goods .kn-sec.c-design{ --cc:#e0a32a; --cc-d:#b07d18; }
.kn-goods .kn-sec.c-local{ --cc:#3a72c4; --cc-d:#2a589c; }
/* 見出し（色ティック＋件数）。core brand.css の .kn-sechead を上書き。 */
.kn-goods .kn-sechead{ display:flex; align-items:center; gap:9px; margin:0 0 12px; }
.kn-goods .kn-sechead .tick{ width:9px; height:18px; border-radius:3px; flex:none; background:linear-gradient(var(--cc,#2f8454),var(--cc-d,#1f5b3a)); }
.kn-goods .kn-sechead h2{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900 !important; font-size:16px !important; margin:0 !important; color:#2f2d26 !important; padding:0 !important; background:none !important; border:0 !important; line-height:1.3; }
.kn-goods .kn-sechead h2::before,.kn-goods .kn-sechead h2::after{ content:none !important; }
.kn-goods .kn-sechead .n{ font-family:"Oswald","Zen Maru Gothic",sans-serif; font-weight:500; font-size:12px; color:#8f897a; margin-left:auto; }
/* グリッド */
.kn-goods .kn-goods-brandgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(252px,1fr)); gap:11px; }
@media(max-width:560px){ .kn-goods .kn-goods-brandgrid{ grid-template-columns:1fr; } }
/* カード */
.kn-goods .lc{ display:flex; align-items:stretch; min-height:64px; background:#fff; border:1px solid var(--gline); border-radius:13px;
  overflow:hidden; text-decoration:none; color:var(--gink); box-shadow:0 9px 20px -16px rgba(60,50,20,.45); transition:.15s; }
.kn-goods .lc:hover{ transform:translateY(-2px); box-shadow:0 16px 26px -16px rgba(60,50,20,.5); border-color:var(--cc,var(--green)); }
.kn-goods .lc-id{ flex:none; width:60px; position:relative; overflow:hidden; border-right:1px solid rgba(0,0,0,.07); }
.kn-goods .lc-id::before{ content:""; position:absolute; inset:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.25), inset 0 -14px 18px -12px rgba(0,0,0,.25); pointer-events:none; z-index:5; }
.kn-goods .lc-body{ flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; padding:0 13px; }
.kn-goods .lc-name{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:13.5px; line-height:1.25; color:#3c3727; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.kn-goods .kn-kind{ display:inline-block; margin-top:5px; font-size:10px; font-weight:700; border-radius:999px; padding:2px 8px; width:max-content; }
.kn-goods .kn-kind.cal{ background:#eef5e8; color:#1f5b3a; }
.kn-goods .kn-kind.brand{ background:#faf3e2; color:#b07d18; }
.kn-goods .lc-go{ flex:none; display:grid; place-items:center; padding-right:12px; color:#cdc6b4; font-size:18px; }
.kn-goods .lc:hover .lc-go{ color:var(--cc,var(--green)); }
/* 勝負服パターン（--b 地色／--a 柄色） */
.kn-goods .p-solid{ background:var(--b); }
.kn-goods .p-vstripe{ background:repeating-linear-gradient(90deg,var(--b) 0 25%,var(--a) 0 50%); }
.kn-goods .p-hstripe{ background:repeating-linear-gradient(0deg,var(--b) 0 25%,var(--a) 0 50%); }
.kn-goods .p-oneband{ background:linear-gradient(0deg,var(--b) 35%,var(--a) 35% 65%,var(--b) 65%); }
.kn-goods .p-sash{ background:linear-gradient(118deg,var(--b) 40%,var(--a) 40% 60%,var(--b) 60%); }
.kn-goods .p-cross{ background:linear-gradient(45deg,transparent 42%,var(--a) 42% 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,var(--a) 42% 58%,transparent 58%),var(--b); }
.kn-goods .p-diag{ background:repeating-linear-gradient(45deg,var(--b) 0 9px,var(--a) 9px 18px); }
.kn-goods .p-dots{ background:radial-gradient(var(--a) 26%,transparent 28%) 0 0/15px 15px,var(--b); }
.kn-goods .p-bigdot{ background:radial-gradient(circle at 50% 50%,var(--a) 30%,transparent 31%),var(--b); }
.kn-goods .p-ring{ background:var(--b); }
.kn-goods .p-ring::after{ content:""; position:absolute; inset:13px; border-radius:50%; border:6px solid var(--a); }
.kn-goods .p-check{ background:var(--a); }
.kn-goods .p-check::after{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(90deg,var(--b) 0 8px,transparent 8px 16px),repeating-linear-gradient(0deg,var(--b) 0 8px,transparent 8px 16px); opacity:.85; }
.kn-goods .p-diamond{ background:var(--b); }
.kn-goods .p-diamond::after{ content:""; position:absolute; inset:-25%; background:repeating-linear-gradient(45deg,var(--a) 0 5px,transparent 5px 17px),repeating-linear-gradient(-45deg,var(--a) 0 5px,transparent 5px 17px); }

/* 紹介型ブランドページ（PR紹介） */
/* ヒーロー：層色の淡い帯＋勝負服エンブレム＋名前＋キャッチ */
.kn-goods .kn-intro-hero{ padding:24px 0 22px; margin:0 0 8px; }
.kn-goods .kn-intro-hero.c-official{ --cc:#2f8454; --cc-d:#1f5b3a; background:#eef5ee; }
.kn-goods .kn-intro-hero.c-ip{ --cc:#e8593a; --cc-d:#d24e30; background:#fdeeea; }
.kn-goods .kn-intro-hero.c-design{ --cc:#e0a32a; --cc-d:#b07d18; background:#fbf3e2; }
.kn-goods .kn-intro-hero.c-local{ --cc:#3a72c4; --cc-d:#2a589c; background:#eaf0fa; }
.kn-goods .kn-intro-hero-in{ display:flex; align-items:center; gap:16px; }
.kn-goods .kn-intro-silk{ flex:none; width:64px; height:64px; border-radius:15px; position:relative; overflow:hidden; box-shadow:0 8px 18px -9px rgba(60,50,20,.55); }
.kn-goods .kn-intro-hero-tx{ min-width:0; }
.kn-goods .kn-intro-eyebrow{ display:inline-block; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:11px; letter-spacing:.08em; color:var(--cc,var(--green-d)); margin-bottom:4px; }
.kn-goods .kn-intro-h1{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900 !important; font-size:23px !important; color:var(--gink) !important; margin:0 !important; padding:0 !important; line-height:1.25; background:none !important; border:0 !important; }
.kn-goods .kn-intro-h1::before,.kn-goods .kn-intro-h1::after{ content:none !important; }
.kn-goods .kn-intro-catch{ font-size:13px; color:var(--gmuted); margin:5px 0 0; }
/* ブランドページ（.kn-gpage）は競馬場の個別ページ（.kn-archw）と同じ860px幅に統一。
   /goods/ ハブ（.kn-gpage 外）は従来どおり1160pxのまま（競馬場のハブ＝1160と同じ作法）。 */
.kn-goods .kn-gpage .kn-wrap{ max-width:860px; }
/* 本文＝860px幅をそのまま使う1カラム（700px中央寄せの「笠」をやめ、見出し/カレンダー/グリッドと左端・幅を揃える） */
.kn-goods .kn-intro{ max-width:none; margin:0; }
.kn-goods .kn-brandbody{ font-size:15px; line-height:1.95; color:#33302a; }
.kn-goods .kn-brandbody h2{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900; font-size:17px; color:var(--green-d); margin:30px 0 13px; padding:0 0 8px; border-bottom:2px solid var(--green-l); }
.kn-goods .kn-brandbody p{ margin:0 0 16px; }
.kn-goods .kn-brandbody img{ max-width:100%; height:auto; border-radius:10px; }
/* 公式リンク/アクセスのブロック */
.kn-goods .kn-intro-block{ margin-top:28px; }
.kn-goods .kn-intro-bh{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900 !important; font-size:15px !important; color:var(--cc,var(--green-d)) !important;
  margin:0 0 12px !important; padding:0 0 0 11px !important; border-left:5px solid var(--cc,var(--green)); background:none !important; }
.kn-goods .kn-intro-bh::before,.kn-goods .kn-intro-bh::after{ content:none !important; }
/* セクションH2＝競馬場テンプレ（brand.css .kn-sechead .t）と同じ緑太字テキスト（色塗りバー廃止） */
.kn-goods .kn-intro-h2{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900 !important; font-size:clamp(19px,2.6vw,25px) !important; color:#1f5b3a !important;
  background:none !important; margin:0 0 20px !important; padding:0 !important; border:0 !important; border-radius:0 !important; line-height:1.35; }
.kn-goods .kn-intro-h2::before,.kn-goods .kn-intro-h2::after{ content:none !important; }
.kn-goods .kn-intro-block+.kn-intro-block{ margin-top:34px; }

/* === 充実版：リード・目次・買い方ガイド・FAQ・他の競馬関連グッズ === */
.kn-goods .kn-updated{ font-size:12px; color:var(--gmuted); margin:6px 0 0; }
.kn-goods .kn-intro-hero .kn-updated{ margin-top:8px; }
.kn-goods .kn-intro-lead{ font-size:15px; line-height:1.95; color:var(--gink); margin:18px 0 0; font-weight:500; }
.kn-goods .kn-toc{ margin:20px 0 0; padding:16px 18px; background:var(--paper); border:1px solid var(--gline); border-radius:12px; }
.kn-goods .kn-toc-ttl{ display:block; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:13px; color:var(--green-d); margin:0 0 8px; }
.kn-goods .kn-toc ol{ margin:0; padding:0 0 0 1.2em; }
.kn-goods .kn-toc li{ margin:4px 0; font-size:14px; }
.kn-goods .kn-toc a{ color:var(--green-d); text-decoration:none; border-bottom:1px solid transparent; }
.kn-goods .kn-toc a:hover{ border-bottom-color:var(--green); }
.kn-goods .kn-buyguide{ font-size:14px; line-height:1.9; }
/* 競馬場ページ（blocks.php の .kn-parch）と完全同一のFAQデザインを .kn-goods にも適用 */
.kn-goods .kn-faq{ margin-top:6px; }
.kn-goods .kn-faq-item{ border:1px solid #dde6d4; border-radius:10px; margin:0 0 8px; background:#fff; overflow:hidden; }
.kn-goods .kn-faq-item summary{ cursor:pointer; padding:13px 15px; font-weight:700; font-size:14px; list-style:none; display:flex; gap:7px; align-items:baseline; }
.kn-goods .kn-faq-item summary::-webkit-details-marker{ display:none; }
.kn-goods .kn-faq-item summary::before{ content:"Q"; color:#1e3a8a; font-weight:900; flex:none; }
.kn-goods .kn-faq-q{ color:#3d4a43!important; font-weight:700!important; font-size:14px!important; margin:0!important; padding:0!important; border:0!important; background:none!important; display:inline; line-height:1.6!important; }
.kn-goods .kn-faq-q::before,.kn-goods .kn-faq-q::after{ content:none!important; }
.kn-goods .kn-faq-a{ padding:2px 15px 14px; font-size:13.5px; color:#3d4a43; line-height:1.9; display:flex; gap:7px; align-items:baseline; }
.kn-goods .kn-faq-a::before{ content:"A"; color:#e2603c; font-weight:900; flex:none; }
.kn-goods .kn-rel-h3{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700 !important; font-size:13px !important; color:var(--gmuted) !important; margin:18px 0 8px !important; padding:0 !important; background:none !important; border:0 !important; }
.kn-goods .kn-rel-h3::before,.kn-goods .kn-rel-h3::after{ content:none !important; }
.kn-goods .kn-rel-grid{ margin:0 0 4px; }

/* === 記事装飾パーツ（マーカー・囲みボックス・アイコン箇条書き） === */
.kn-goods .kn-marker{ background:linear-gradient(transparent 62%, #ffe89a 62%); font-weight:700; padding:0 .08em; }
.kn-goods .kn-box{ margin:18px 0; border-radius:12px; padding:14px 16px 12px; background:#fff; border:1.5px solid var(--gline); }
.kn-goods .kn-box__ttl{ display:flex; align-items:center; gap:7px; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:14px; margin:0 0 6px; }
.kn-goods .kn-box__ic{ font-size:16px; line-height:1; }
.kn-goods .kn-box__bd{ font-size:14px; line-height:1.85; color:var(--gink); }
.kn-goods .kn-box__bd p{ margin:0 0 8px; } .kn-goods .kn-box__bd p:last-child{ margin:0; }
.kn-goods .kn-box--point{ background:#f1f8f1; border-color:#cfe6cf; } .kn-goods .kn-box--point .kn-box__ttl{ color:var(--green-d); }
.kn-goods .kn-box--memo{ background:#fff8ec; border-color:#f0dcae; } .kn-goods .kn-box--memo .kn-box__ttl{ color:#b07d18; }
.kn-goods .kn-box--local{ background:#eef3fb; border-color:#cdddf2; } .kn-goods .kn-box--local .kn-box__ttl{ color:#2a589c; }
.kn-goods .kn-iconlist{ margin:12px 0; padding:0; list-style:none; }
.kn-goods .kn-iconlist li{ position:relative; padding:8px 0 8px 28px; border-bottom:1px dashed var(--gline); font-size:14px; line-height:1.7; }
.kn-goods .kn-iconlist li:last-child{ border-bottom:0; }
.kn-goods .kn-iconlist li::before{ content:""; position:absolute; left:4px; top:13px; width:11px; height:11px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px var(--green-l); }
.kn-goods .kn-goods-lead{ font-size:13.5px; color:var(--gmuted); margin:0 0 14px; }
/* 本文の引用 */
.kn-goods .kn-brandbody blockquote{ margin:16px 0; padding:12px 16px; background:var(--green-l); border-left:4px solid var(--green);
  border-radius:0 10px 10px 0; font-size:14px; color:#3a4a40; }
.kn-goods .kn-brandbody blockquote p{ margin:0; }
/* ジャンルタブ */
.kn-goods .kn-gtabs{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 18px; }
.kn-goods .kn-gtab{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:12.5px; color:#4a554d;
  background:var(--cream); border:1px solid var(--gline); border-radius:999px; padding:7px 14px; cursor:pointer; }
.kn-goods .kn-gtab span{ margin-left:5px; font-family:"Oswald",sans-serif; font-size:11px; color:var(--gmuted); }
.kn-goods .kn-gtab:hover{ border-color:var(--green); color:var(--green-d); }
.kn-goods .kn-gtab.on{ background:var(--green-d); color:#fff; border-color:var(--green-d); }
.kn-goods .kn-gtab.on span{ color:rgba(255,255,255,.8); }
/* ジャンル別セクション（H3＋グリッド） */
.kn-goods .kn-gsec+.kn-gsec{ margin-top:24px; }
.kn-goods .kn-gh3{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900 !important; font-size:15px !important; color:var(--green-d) !important;
  margin:0 0 12px !important; padding:0 0 0 11px !important; border-left:5px solid var(--green); background:none !important; }
.kn-goods .kn-gh3::before,.kn-goods .kn-gh3::after{ content:none !important; }
/* Googleマップ */
.kn-goods .kn-map{ margin-top:14px; border:1px solid var(--gline); border-radius:12px; overflow:hidden; }
.kn-goods .kn-map iframe{ display:block; width:100%; height:280px; border:0; }

/* 取り扱いグッズ（紹介ページのスクレイピング商品ショーケース） */
.kn-goods .kn-shopgrid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:12px; }
@media(max-width:480px){ .kn-goods .kn-shopgrid{ grid-template-columns:repeat(2,1fr); gap:10px; } }
.kn-goods .kn-shopcard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--gline); border-radius:11px; overflow:hidden; text-decoration:none; color:var(--gink); transition:box-shadow .16s,border-color .16s; }
.kn-goods .kn-shopcard:hover{ box-shadow:0 12px 24px -20px rgba(31,91,58,.5); border-color:var(--cc,#d8d2c2); }
.kn-goods .kn-shopcard-img{ aspect-ratio:1/1; display:grid; place-items:center; background:linear-gradient(160deg,#fbf8f0,#f1efe4); overflow:hidden; }
.kn-goods .kn-shopcard-img img{ width:100%; height:100%; object-fit:cover; }
.kn-goods .kn-shopcard-tx{ padding:9px 11px 11px; display:flex; flex-direction:column; gap:5px; flex:1; }
.kn-goods .kn-shopcard-nm{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:12.5px; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.kn-goods .kn-shopcard-pr{ margin-top:auto; font-family:"Oswald",sans-serif; font-weight:600; font-size:14px; color:var(--green-d); }
.kn-goods .kn-shopmore{ margin:13px 0 0; }
.kn-goods .kn-shopmore a{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:13px; color:var(--cc,var(--green-d)); text-decoration:none; }
.kn-goods .kn-shopmore a:hover{ text-decoration:underline; }
.kn-goods .kn-brandlinks{ display:flex; flex-wrap:wrap; gap:10px; }
.kn-goods .kn-blink{ display:inline-flex; align-items:center; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:700; font-size:13.5px;
  padding:11px 20px; border-radius:11px; text-decoration:none; border:1.5px solid var(--cc,var(--green)); color:var(--cc,var(--green-d)); background:#fff; transition:.15s; }
.kn-goods .kn-blink:hover{ background:var(--cc,var(--green)); color:#fff; }
.kn-goods .kn-blink.x{ border-color:#2a2a28; color:#2a2a28; }
.kn-goods .kn-blink.x:hover{ background:#2a2a28; color:#fff; }
.kn-goods .kn-blink.insta{ border-color:#c13584; color:#c13584; }
.kn-goods .kn-blink.insta:hover{ background:#c13584; color:#fff; }
.kn-goods .kn-brandaccess{ background:#fff; border:1px solid var(--gline); border-radius:12px; padding:14px 17px; font-size:14px; line-height:1.7; }
.kn-goods .kn-backlink{ margin:28px 0 18px; }
.kn-goods .kn-backlink a{ color:var(--green-d); font-weight:700; text-decoration:none; }
.kn-goods .kn-backlink a:hover{ text-decoration:underline; }

/* ブランド記事一覧 */
.kn-goods .kn-goods-articles{ display:flex; flex-direction:column; gap:8px; }
.kn-goods .kn-goods-article{ background:#fff; border:1px solid var(--gline); border-radius:9px; padding:11px 14px; text-decoration:none; color:#24332b; }

/* 購入ポップアップ（Amazon/楽天/Yahoo!） */
.kn-goods .kn-goods-buy{ cursor:pointer; }
.kn-goods .kn-shopmodal{ position:fixed; inset:0; z-index:200; display:none; }
.kn-goods .kn-shopmodal.show{ display:block; }
.kn-goods .kn-shopmodal-bg{ position:absolute; inset:0; background:rgba(20,25,20,.5); }
.kn-goods .kn-shopmodal-box{ position:relative; width:min(380px,92vw); margin:16vh auto 0; background:#fff; border-radius:16px;
  padding:22px 22px 24px; box-shadow:0 30px 60px -20px rgba(0,0,0,.5); }
.kn-goods .kn-shopmodal-x{ position:absolute; right:12px; top:12px; width:30px; height:30px; border:0; background:#f3f1ea;
  border-radius:50%; cursor:pointer; font-size:14px; color:#6a7268; }
.kn-goods .kn-shopmodal-ttl{ font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif; font-weight:900; font-size:15px; color:var(--green-d); line-height:1.45; padding-right:30px; }
.kn-goods .kn-shopmodal-sub{ font-size:12px; color:var(--gmuted); margin:6px 0 16px; }
.kn-goods .kn-shopmodal-list{ display:flex; flex-direction:column; gap:9px; }
.kn-goods .kn-shopbtn{ display:flex; align-items:center; justify-content:center; font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  font-weight:700; font-size:14px; padding:12px; border-radius:10px; text-decoration:none; border:1.5px solid var(--gline); color:var(--gink); transition:.15s; }
.kn-goods .kn-shopbtn:hover{ border-color:var(--green); color:var(--green-d); }
.kn-goods .kn-shopbtn.amazon{ background:#fff6e9; border-color:#ff9900; color:#c47700; }
.kn-goods .kn-shopbtn.rakuten{ background:#fdeaea; border-color:#bf0000; color:#bf0000; }
.kn-goods .kn-shopbtn.yahoo{ background:#fdeaee; border-color:#e60033; color:#cc002e; }
.kn-goods .kn-shopbtn.is-soon{ color:#b3ac9b; background:#f7f5ef; border-style:dashed; cursor:default; }
.kn-goods .kn-shopbtn.official{ background:var(--green); border-color:var(--green); color:#fff; font-weight:700; }
.kn-goods .kn-shopbtn.official:hover{ background:var(--green-d); border-color:var(--green-d); color:#fff; }
/* オンクレ案件（広告）＝他ショップと違う青系で差別化 */
.kn-goods .kn-shopbtn.oncre{ flex-direction:column; gap:2px; background:#eef3ff; border-color:#3b6fd4; color:#244a9c; }
.kn-goods .kn-shopbtn.oncre:hover{ background:#e2ecff; border-color:#244a9c; color:#1b3a7e; }
.kn-goods .kn-shopbtn.oncre small{ font-weight:500; font-size:11.5px; color:#5a6b8c; }
