/* =========================
   BG / Wrapper
========================= */
html, body{
  background:
    radial-gradient(900px 520px at 18% 8%, rgba(255, 211, 106, .65), transparent 58%),
    radial-gradient(800px 520px at 78% 20%, rgba(255, 159, 208, .42), transparent 55%),
    linear-gradient(180deg, #fff2c9 0%, #fff7dd 35%, #ffffff 100%) !important;
}
#wrap, #wrapper, #container, #contents, #content, #main, #mainContent,
.l-wrapper, .l-container, .p-wrapper, .p-container,
.body, .wrapper, .container, .contents, .main{
  background: transparent !important;
}

/* =========================
   Base
========================= */
.nk-tigerlp{
  --card:#fff;
  --text:#222;
  --pink2:#ff9fd0;
  --yellow:#ffd36a;
  --shadow:0 14px 34px rgba(0,0,0,.10);
  --radius:20px;
  --max:1080px;

  max-width: var(--max);
  margin: 18px auto 34px;
  padding: 0 10px;
  color: var(--text);
  font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
.nk-tigerlp *{ box-sizing:border-box; }
.nk-tigerlp a{ color:inherit; text-decoration:none; }

/* =========================
   KV / Lead
========================= */
.nk-tigerlp .kv{ border-radius:18px; overflow:hidden; }
.nk-tigerlp .kv img{ width:100%; height:auto; display:block; }

.nk-tigerlp .lead{
  margin-top: 14px;
  padding: 14px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.74);
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
}
.nk-tigerlp .lead p{
  margin:0;
  line-height:1.9;
  font-size:14px;
  color: rgba(0,0,0,.72);
}

/* =========================
   CTA（一覧ボタンだけ）
========================= */
.nk-tigerlp .topCtas{
  margin-top: 14px;
  display:flex;
  justify-content:center;
}
.nk-tigerlp .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 18px;
  border-radius: 999px;
  font-weight: 1000;
  letter-spacing:.02em;
  border:0;
  background: linear-gradient(90deg, var(--yellow), var(--pink2));
  box-shadow: 0 10px 22px rgba(0,0,0,.07);
  width: min(520px, 100%);
}

/* =========================
   Category Tiles（FA無し版）
========================= */
.nk-tigerlp .tapBlock{ margin-top: 18px; }
.nk-tigerlp .tapTitle{
  margin:0 0 10px;
  text-align:center;
  font-size:14px;
  font-weight:1000;
  letter-spacing:.04em;
  color: rgba(0,0,0,.72);
}

.nk-tigerlp .tapGrid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:10px;
}
@media (min-width: 720px){
  .nk-tigerlp .tapGrid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}
.nk-tigerlp .tapTile{
  position:relative;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  background: rgba(255,255,255,.84);
  padding: 16px 12px;
  min-height: 68px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.nk-tigerlp .tapTile::before{
  content:"";
  position:absolute; inset:-20px;
  background:
    radial-gradient(220px 120px at 25% 20%, rgba(255,211,106,.85), transparent 60%),
    radial-gradient(220px 120px at 85% 30%, rgba(255,159,208,.70), transparent 60%),
    radial-gradient(220px 120px at 60% 85%, rgba(255,211,106,.45), transparent 62%);
  transform: rotate(-8deg);
}
.nk-tigerlp .tapTxt{
  position:relative;
  z-index:1;
  font-size:14px;
  font-weight:1000;
  letter-spacing:.02em;
  color:#111;
}

/* =========================
   Sections
========================= */
.nk-tigerlp .sec{
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(0,0,0,.10);
}
.nk-tigerlp .secHead{ text-align:center; margin-bottom: 12px; }
.nk-tigerlp .pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  background: linear-gradient(90deg, rgba(255,211,106,.75), rgba(255,159,208,.55));
  border: 1px solid rgba(0,0,0,.08);
  box-shadow: 0 10px 22px rgba(0,0,0,.07);
  font-weight: 1000;
  font-size: 12px;
}
.nk-tigerlp .secTitle{ margin:10px 0 0; font-size:16px; font-weight:1000; }
.nk-tigerlp .secSub{
  margin:4px 0 0;
  font-size:12px;
  color: rgba(0,0,0,.58);
  line-height:1.6;
}

/* =========================
   Rail / Card
========================= */
.nk-tigerlp .rail{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding: 2px 2px 8px;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.nk-tigerlp .card{
  flex: 0 0 82%;
  max-width: 82%;
  scroll-snap-align: start;
  background: var(--card);
  border: 1px solid rgba(0,0,0,.08);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 12px;
  text-align:left;

  display:flex;
  flex-direction: column;
}
@media (min-width: 720px){
  .nk-tigerlp .rail{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 14px;
    overflow: visible;
    padding: 0;
    align-items: stretch;
  }
  .nk-tigerlp .card{ flex:auto; max-width:none; }
}

/* cartjs内部の余計なテーブル見た目を殺す */
.nk-tigerlp .cartjs_product_table{ margin:10px 0 0 !important; }
.nk-tigerlp .cartjs_product_table table{
  width:100% !important;
  border-collapse:collapse !important;
  margin:0 !important;
}
.nk-tigerlp .cartjs_product_table th{ display:none !important; }
.nk-tigerlp .cartjs_product_table td{ border:0 !important; padding:0 !important; }

/* 商品名（cartjsのやつ）は非表示。JSで上に入れてるならそれを使う */
.nk-tigerlp .cartjs_product_name{ display:none !important; }

/* price */
.nk-tigerlp .cartjs_sales_price td{
  font-size:15px !important;
  font-weight:1000 !important;
  color:#111 !important;
  line-height:1.25 !important;
  margin-top: 8px !important;
}

/* =========================
   Image（inline width:50% を潰す）
========================= */
.nk-tigerlp .cartjs_product_img{
  width: 100% !important;
  margin: 10px 0 0 !important;
  padding: 8px !important;
  text-align: center !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.65) !important;
  border: 1px solid rgba(0,0,0,.06) !important;

  aspect-ratio: 4 / 5 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
.nk-tigerlp .cartjs_product_img img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  max-width: none !important;
  max-height: none !important;
  display:block !important;
  border-radius: 12px !important;
}
@media (min-width: 980px){
  .nk-tigerlp .cartjs_product_img{ aspect-ratio: 3 / 4 !important; }
}

/* =========================
   Select / Hide quantity etc.
========================= */
.nk-tigerlp .card input[type="number"],
.nk-tigerlp .card select[name="quantity"],
.nk-tigerlp .card input[name="quantity"],
.nk-tigerlp .card input[name="product_num"],
.nk-tigerlp .card [class*="quantity"],
.nk-tigerlp .card [id*="quantity"]{ display:none !important; }

.nk-tigerlp .card .stock,
.nk-tigerlp .card .stock_num,
.nk-tigerlp .card .stock_str,
.nk-tigerlp .card .stock_comment,
.nk-tigerlp .card [class*="stock"]{ display:none !important; }

.nk-tigerlp .card a[href*="mode=sk"],
.nk-tigerlp .card a[href*="/?mode=sk"]{ display:none !important; }

.nk-tigerlp .cartjs_option select,
.nk-tigerlp .card select{
  width:100% !important;
  padding:12px 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  background: rgba(255,242,201,.35) !important;
  outline:none !important;
  margin-top:10px !important;
}
.nk-tigerlp select option:disabled{ color: rgba(0,0,0,.45); }

/* =========================
   Button（カートに入れると同じサイズ）
========================= */
.nk-tigerlp .cartjs_cart_in{ margin-top: 10px !important; }

.nk-tigerlp .cartjs_cart_in input[type="submit"],
.nk-tigerlp .card input[type="submit"],
.nk-tigerlp .card button,
.nk-tigerlp .soldoutBtn{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin-top:10px !important;

  font-size: clamp(13px, 1.2vw, 16px) !important;
  line-height: 1.1 !important;
  padding: 14px 10px !important;

  border-radius: 16px !important;
  font-weight: 1000 !important;
  letter-spacing:.02em !important;

  -webkit-appearance: none !important;
  appearance: none !important;

  white-space: nowrap !important;
}

/* 通常ボタン */
.nk-tigerlp .cartjs_cart_in input[type="submit"],
.nk-tigerlp .card input[type="submit"],
.nk-tigerlp .card button{
  border:0 !important;
  background: linear-gradient(90deg, var(--yellow), var(--pink2)) !important;
  cursor:pointer !important;
  box-shadow: 0 10px 22px rgba(255,115,183,.18) !important;
}

/* SOLD OUTボタン */
.nk-tigerlp .soldoutBtn{
  border: 1px solid rgba(0,0,0,.18) !important;
  background: rgba(0,0,0,.08) !important;
  color: rgba(0,0,0,.55) !important;
  text-align:center !important;
  user-select:none !important;
}

/* =========================
   商品ページへ（控えめ）
========================= */
.nk-tigerlp .nk-cardFoot{ margin-top: 10px; }
.nk-tigerlp .nk-toProduct{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  color: rgba(0,0,0,.55);
}
.nk-tigerlp .nk-toProduct:hover{
  color: rgba(0,0,0,.75);
  text-decoration: underline;
}

/* =========================
   Footer links
========================= */
.nk-tigerlp-footer{
  margin: 36px auto 0;
  padding: 28px 14px 36px;
  border-top: 1px solid rgba(0,0,0,.08);
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.45));
}
.nk-tigerlp-footer__inner{ max-width:1080px; margin:0 auto; text-align:center; }
.nk-tigerlp-footer__title{
  margin:0 0 16px;
  font-size:14px;
  font-weight:1000;
  letter-spacing:.04em;
  color: rgba(0,0,0,.65);
}
.nk-tigerlp-footer__links{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
}
.nk-tigerlp-footer__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 14px 18px;
  min-width: 220px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(0,0,0,.12);
  font-size:14px;
  font-weight:1000;
  letter-spacing:.02em;
  color:#111;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}
.nk-tigerlp-footer__btn.is-primary{
  border:0;
  background: linear-gradient(90deg, var(--yellow), var(--pink2));
}
@media (max-width: 719px){
  .nk-tigerlp-footer__links{ flex-direction: column; gap: 10px; }
  .nk-tigerlp-footer__btn{ width:100%; min-width:0; }
}
/* ラジオの表が復活しても強制で消す */
.nk-tigerlp .card table,
.nk-tigerlp .card input[type="radio"],
.nk-tigerlp .card label[for]{
  /* tableまで消したくない場合は table行は外してOK */
}

/* ↑tableまで全部消すと他のtableも消える可能性あるなら、こっちが安全 */
.nk-tigerlp .card .nk-optTableOrigin,
.nk-tigerlp .card table:has(input[type="radio"]){
  display:none !important;
}

/* 文字化け在庫文言を全部消す（保険で広め） */
.nk-tigerlp .card .cartjs_stock,
.nk-tigerlp .card [class*="stock"],
.nk-tigerlp .card [id*="stock"],
.nk-tigerlp .card .stock,
.nk-tigerlp .card .stock_comment,
.nk-tigerlp .card .stock_str{
  display:none !important;
}

/* selectを“いつもの”見た目に */
.nk-tigerlp select.nk-optSelect{
  width:100% !important;
  padding:12px 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(0,0,0,.10) !important;
  background: rgba(255,242,201,.35) !important;
  outline:none !important;
  margin-top:10px !important;
}

/* SOLD OUTボタンをカートボタンと同サイズに */
.nk-tigerlp .soldoutBtn{
  display:block !important;
  width:100% !important;
  margin-top:10px !important;
  padding:14px 10px !important;
  border-radius:16px !important;
  border:1px solid rgba(0,0,0,.18) !important;
  background: rgba(0,0,0,.10) !important;
  color: rgba(0,0,0,.55) !important;
  font-weight: 1000 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}

/* 商品ページへ（控えめ） */
.nk-tigerlp .nk-cardFoot{ margin-top:10px; }
.nk-tigerlp .nk-toProduct{
  display:inline-block;
  font-size:12px;
  font-weight:800;
  color: rgba(0,0,0,.55);
  text-decoration:none;
}
.nk-tigerlp .nk-toProduct:hover{
  color: rgba(0,0,0,.75);
  text-decoration:underline;
}
/* ===== v16 patch（末尾に追記） ===== */

/* radioの元テーブルはJSで .nk-radioTable を付けるので確実に消す */
.nk-tigerlp .nk-radioTable{
  display:none !important;
}

/* cartjs由来のstock系は全部消す（文字化けもここに乗ることが多い） */
.nk-tigerlp .cartjs_stock,
.nk-tigerlp .cartjs_product_table [class*="stock"],
.nk-tigerlp .card [class*="stock"],
.nk-tigerlp .card [id*="stock"],
.nk-tigerlp .card .stock,
.nk-tigerlp .card .stock_comment,
.nk-tigerlp .card .stock_str{
  display:none !important;
}

/* 念のため：カード内に残った「最後の謎行」が小さく出るのを抑止（安全寄り） */
.nk-tigerlp .card{
  overflow: hidden; /* 変なはみ出し対策 */
}

/* tapGrid--5：PCで5つが自然に並ぶ */
@media (min-width: 720px){
  .nk-tigerlp .tapGrid.tapGrid--5{
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  }
}

/* SP：一覧だけ横幅100%（grid-column） */
@media (max-width: 719px){
  .nk-tigerlp .tapGrid.tapGrid--5 .tapTile--all{
    grid-column: 1 / -1;
  }
}

/* フッターが .nk-tigerlp の外に置かれても崩れないよう保険で変数を定義 */
.nk-tigerlp-footer{
  --yellow:#ffd36a;
  --pink2:#ff9fd0;
}
/* カテゴリ数バッジ（tapCount） */
.nk-tigerlp .tapTxt{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.nk-tigerlp .tapCount{
  font-size: 12px;
  font-weight: 1000;
  color: rgba(0,0,0,.60);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(0,0,0,.10);
  padding: 3px 9px;
  border-radius: 999px;
  line-height: 1;
}
/* JSで上に差し込む商品名 */
.nk-tigerlp .nk-title{
  margin: 6px 0 8px;
  font-size: 13px;
  font-weight: 1000;
  line-height: 1.35;
  letter-spacing: .01em;
  color: #111;
}
.nk-tigerlp .soldoutBtn{
  margin-top: 10px;
  padding: 14px 0;
  border-radius: 999px;
  text-align: center;
  font-weight: 900;
  letter-spacing: .08em;
  color: #777;
  background: #eee;
  border: 1px solid #ddd;
}
/* SOLD OUT を「カートに入れる」っぽく（サイズ/余白統一） */
.nk-tigerlp .soldoutBtn{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;

  margin-top:10px !important;
  padding:14px 10px !important; /* submit と揃える */
  border-radius:16px !important; /* submit と揃える */

  font-size: clamp(13px, 1.2vw, 16px) !important;
  line-height: 1.1 !important;
  font-weight: 1000 !important;
  letter-spacing:.02em !important;

  text-align:center !important;
  user-select:none !important;

  border: 1px solid rgba(0,0,0,.18) !important;
  background: rgba(0,0,0,.08) !important;
  color: rgba(0,0,0,.55) !important;
}
