/* テーマ側「便利グッズ」枠との二重外枠を解消 */
.fk-office-ad-slot__box:has(.fkm-product){
  min-height:0 !important;
  display:block !important;
  border:0 !important;
  background:transparent !important;
  text-align:left !important;
}
.fk-office-ad-slot__box .fkm-product{
  margin:0 !important;
}

/* 風景印めぐり用・便利グッズカード */
.fkm-product{
  display:grid;
  grid-template-columns:136px minmax(0,1fr);
  gap:20px;
  align-items:center;
  width:100%;
  box-sizing:border-box;
  padding:18px 20px;
  margin:0;
  border:1px solid #eadfd8;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 16px rgba(83,61,49,.06);
  color:#392f2a;
  text-align:left;
}

.fkm-product__image{
  display:flex;
  align-items:center;
  justify-content:center;
  width:136px;
  height:136px;
  padding:8px;
  box-sizing:border-box;
  border-radius:10px;
  background:#faf8f6;
  overflow:hidden;
}

.fkm-product__image img{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

.fkm-product__body{
  min-width:0;
}

.fkm-product__title{
  margin:0;
  color:#2f2723;
  font-size:15px;
  font-weight:700;
  line-height:1.55;
  letter-spacing:.01em;
}

.fkm-product__maker{
  margin-top:6px;
  color:#8b7b72;
  font-size:11px;
  line-height:1.4;
}

.fkm-product__price{
  margin-top:8px;
  color:#5d4d45;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}

.fkm-product__buttons{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:6px !important;
  width:100%;
  margin-top:14px !important;
}

.fkm-product .fkm-btn{
  display:flex !important;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:36px;
  padding:0 6px;
  box-sizing:border-box;
  border:0;
  border-radius:7px;
  box-shadow:none;
  text-decoration:none !important;
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  transition:filter .15s ease,opacity .15s ease,transform .15s ease;
}

.fkm-product a.fkm-btn:hover{
  filter:brightness(.96);
  transform:translateY(-1px);
}

.fkm-product .fkm-btn--amazon{
  background:#ff9900 !important;
  color:#111 !important;
}

.fkm-product .fkm-btn--rakuten{
  background:#bf0000 !important;
  color:#fff !important;
}

.fkm-product .fkm-btn--yahoo{
  background:#ff0033 !important;
  color:#fff !important;
}

.fkm-product .fkm-btn--mercari{
  background:#4dc9ff !important;
  color:#fff !important;
}

.fkm-product .fkm-btn.is-disabled{
  background:#f2eeeb !important;
  color:#b2a69f !important;
  opacity:1;
  cursor:default;
}

@media (max-width:640px){
  .fkm-product{
    grid-template-columns:104px minmax(0,1fr);
    gap:14px;
    padding:14px;
    border-radius:12px;
  }

  .fkm-product__image{
    width:104px;
    height:104px;
    padding:6px;
  }

  .fkm-product__title{
    font-size:13px;
    line-height:1.5;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }

  .fkm-product__maker{
    font-size:10px;
  }

  .fkm-product__price{
    margin-top:6px;
    font-size:12px;
  }

  .fkm-product__buttons{
    grid-column:1 / -1;
    gap:4px !important;
    margin-top:12px !important;
  }

  .fkm-product .fkm-btn{
    min-height:34px;
    padding:0 3px;
    border-radius:6px;
    font-size:10px;
  }
}

.fkm-office-products .fkm-product + .fkm-product{margin-top:20px !important;}


/* v1.1.5 商品カード微調整 */
.fkm-product{
  align-items:start !important;
}
.fkm-product__body{
  align-self:stretch;
}
.fkm-product__title{
  margin-top:0 !important;
}
.fkm-product__buttons{
  margin-top:24px !important;
}
.fkm-product__button--amazon{
  background:#f4eee6 !important;
  color:#5b5147 !important;
}
.fkm-product__button--rakuten{
  background:#f4eaea !important;
  color:#705555 !important;
}
.fkm-product__button--yahoo{
  background:#f5ebed !important;
  color:#70565b !important;
}
.fkm-product__button--mercari{
  background:#edf3f4 !important;
  color:#53656a !important;
}

/* v1.1.6 商品タイトル */
.fkm-product__title{
  font-size:1.08em !important;
}

/* v1.1.6 購入ボタン：低彩度 */
.fkm-product__button.amazon,
.fkm-product__button.rakuten,
.fkm-product__button.yahoo,
.fkm-product__button.mercari{
  background:#f3f1ef !important;
  color:#625b56 !important;
  border:1px solid #ddd6d1 !important;
}
.fkm-product__button.amazon:hover,
.fkm-product__button.rakuten:hover,
.fkm-product__button.yahoo:hover,
.fkm-product__button.mercari:hover{
  background:#ebe7e4 !important;
  color:#514a46 !important;
}


/* v1.1.7 商品名と購入ボタン */
.fkm-product__title{
  font-family:inherit !important;
  font-size:16px !important;
  font-weight:600 !important;
  line-height:1.5 !important;
  letter-spacing:0 !important;
}

/* 実際に出力される .fkm-btn クラスへ適用 */
.fkm-product .fkm-btn--amazon,
.fkm-product .fkm-btn--rakuten,
.fkm-product .fkm-btn--yahoo,
.fkm-product .fkm-btn--mercari{
  background:#f4f1ef !important;
  color:#625a55 !important;
  border:1px solid #ded7d2 !important;
}
.fkm-product a.fkm-btn:hover{
  background:#ece7e3 !important;
  color:#514a46 !important;
  filter:none !important;
}


/* v1.1.8 商品名：サイト側の見出し系書体へ統一 */
.fkm-product__title{
  font-family:"Yu Mincho","Hiragino Mincho ProN",serif !important;
  font-size:17px !important;
  font-weight:600 !important;
  line-height:1.55 !important;
  letter-spacing:.015em !important;
  color:#382d27 !important;
}

/* 購入ボタン：ブランド色を主役にせず、サイト配色に寄せる */
.fkm-product .fkm-btn{
  min-height:38px !important;
  border-radius:9px !important;
  background:#fffaf7 !important;
  border:1px solid #ddcec5 !important;
  color:#594b43 !important;
  box-shadow:0 1px 0 rgba(79,56,43,.03) !important;
  font-weight:600 !important;
  letter-spacing:.01em !important;
}

.fkm-product .fkm-btn--amazon{
  border-color:#d6b678 !important;
  color:#705d49 !important;
}
.fkm-product .fkm-btn--rakuten{
  border-color:#d4968f !important;
  color:#785451 !important;
}
.fkm-product .fkm-btn--yahoo{
  border-color:#a8bac4 !important;
  color:#77565b !important;
}
.fkm-product .fkm-btn--mercari{
  border-color:#9bb9a9 !important;
  color:#52696b !important;
}

.fkm-product a.fkm-btn:hover{
  background:#f7efea !important;
  border-color:#cdbab0 !important;
  color:#493c35 !important;
  transform:translateY(-1px);
  filter:none !important;
}

@media (max-width:640px){
  .fkm-product__title{
    font-size:15px !important;
    line-height:1.55 !important;
  }
}

/* v1.1.31 PC商品カード：画像を拡大し、購入先を2×2で配置。スマホは既存仕様を維持 */
@media (min-width:641px){
  .fkm-product{
    grid-template-columns:160px minmax(0,1fr);
    gap:22px;
    align-items:center !important;
  }

  .fkm-product__image{
    width:160px;
    height:160px;
    padding:8px;
  }

  .fkm-product__body{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-self:stretch;
  }

  .fkm-product__buttons{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    margin-top:18px !important;
  }
}


/* v1.1.32 PCのみ：最安値を非表示、商品タイトル書体をサイト側へ合わせる */
@media (min-width:641px){
  .fkm-product__price{
    display:none !important;
  }

  .fkm-product__title{
    font-family:inherit !important;
  }
}
