/* Overrides are limited to single cards with explicit customization. */
.rakuama-card-custom > .rakuama-card {
  background: var(--ra-background, #fff); border-color: var(--ra-border, #dedede);
  border-radius: var(--ra-radius, 8px); padding: var(--ra-padding, 20px);
}
.rakuama-cards.rakuama-card-custom:not(.rakuama-cards--3) .rakuama-card__imglink { max-width: var(--ra-image-size, 220px); }
.rakuama-card__purchase { min-width: 0; }
.rakuama-card__purchase .rakuama-btn { height: auto; min-height: 48px; }
.rakuama-cards .rakuama-btn-custom { background: var(--ra-button-background, #d3381c); color: var(--ra-button-color, #fff) !important; border-color: var(--ra-button-border, transparent); }
.rakuama-cards .rakuama-btn--amazon.rakuama-btn-custom { background: var(--ra-button-background, #fff); color: var(--ra-button-color, #333) !important; border-color: var(--ra-button-border, #8a8a8a); }
.rakuama-cards .rakuama-btn:focus-visible, .rakuama-card__sale:focus-visible { outline: 3px solid #2271b1; outline-offset: 3px; }
.rakuama-cards .rakuama-card__sale { display: block; margin-top: 6px; font-size: 12px; line-height: 1.5; color: #9d2816; text-decoration: underline; }
.rakuama-cards .rakuama-card__sale[hidden] { display: none !important; }
@media (max-width: 600px) {
  .rakuama-card-custom > .rakuama-card { padding: var(--ra-padding, 16px); }
  .rakuama-cards.rakuama-card-custom:not(.rakuama-cards--3) .rakuama-card__imglink { width: min(100%, var(--ra-image-size, 260px)); max-width: var(--ra-image-size, 260px); }
}

/* 商品数に応じた比較カード。従来の3枚固定表示は保持する。 */
.rakuama-cards--3.rakuama-cards--auto { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.rakuama-cards--auto > .rakuama-cards { margin: 0; min-width: 0; }

/* コヤネの商品数別表示。カードの保存情報・価格更新は共通。 */
.koyane-products { display:grid;gap:16px; }
.koyane-products > .rakuama-cards { margin:0;min-width:0; }
.koyane-products .rakuama-card__pname { overflow-wrap:anywhere; }
.koyane-products--cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
.koyane-products--cards.koyane-products--count-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.koyane-products--cards > .rakuama-cards { display:flex;flex-direction:column; }
.koyane-products--cards .rakuama-card-custom > .rakuama-card { display:flex;flex-direction:column;align-items:stretch;flex:1;gap:8px; }
.koyane-products--cards .rakuama-card__pname { font-size:15px; }
.koyane-products--cards .rakuama-card__imglink { order:0;margin:10px auto 8px; }
/* 選ぶ理由のラベルは、3枚カードと同じ上部の帯にする。 */
.koyane-products--cards .rakuama-card-custom > .rakuama-card > .rakuama-card__label { margin:calc(var(--ra-padding, 20px) * -1) calc(var(--ra-padding, 20px) * -1) 10px;padding:10px 12px;background:#f4f5f6;border-bottom:1px solid #dfe2e5;border-radius:var(--ra-radius, 8px) var(--ra-radius, 8px) 0 0;font-size:1em;color:#222;min-height:0; }
.koyane-products--cards .rakuama-card__btns { grid-template-columns:1fr;margin-top:auto; }
.koyane-products--list .rakuama-card-custom > .rakuama-card { grid-template-columns:120px minmax(0,1fr);column-gap:20px; }
.koyane-products--list .rakuama-card__pname { font-size:17px; }
.koyane-products--list .rakuama-cards .rakuama-card__imglink { max-width:120px; }
@media(max-width:600px){
 .koyane-products--cards { grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px; }
 .koyane-products--cards .rakuama-card-custom > .rakuama-card { padding:10px; }
 .koyane-products--cards .rakuama-card-custom > .rakuama-card > .rakuama-card__label { margin:-10px -10px 8px;padding:8px 9px; }
 .koyane-products--cards .rakuama-card__pname { font-size:14px; }
 .koyane-products--cards .rakuama-btn { min-height:44px;padding:7px 4px; }
 .koyane-products--cards .rakuama-btn__mall, .koyane-products--cards .rakuama-btn__mall--only { font-size:11px; }
 .koyane-products--list .rakuama-card-custom > .rakuama-card { display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:12px;padding:12px; }
 .koyane-products--list .rakuama-cards .rakuama-card__imglink { width:80px;max-width:80px;margin:0; }
 .koyane-products--list .rakuama-card__pname { font-size:15px; }
}

.rakuama-coupon{display:flex;align-items:center;gap:14px;margin:13px 0 0;padding:12px 14px;background:#fff;border:1px solid #e2e2e2;border-left:4px solid var(--coupon-border,#bf0000);border-radius:8px;color:#222!important;text-decoration:none!important;line-height:1.5;box-sizing:border-box;overflow-wrap:anywhere}
.rakuama-coupon:hover{background:#fff8f5;color:#222!important}
.rakuama-coupon__badge{flex-shrink:0;padding:4px 10px;border-radius:999px;background:var(--coupon-background,#bf0000);color:var(--coupon-color,#fff);font-size:12px;font-weight:700;line-height:1.4}
.rakuama-coupon__copy{min-width:0;flex:1}
.rakuama-coupon__title{display:block;font-size:15px;font-weight:700;line-height:1.45}
.rakuama-coupon__text{display:block;color:#555;font-size:12px;line-height:1.5;margin-top:2px}
.rakuama-coupon__cta{flex-shrink:0;color:var(--coupon-background,#bf0000);font-size:12px;font-weight:700}
.rakuama-coupon:focus-visible{outline:3px solid #2271b1;outline-offset:3px}
.rakuama-saving-guide .rakuama-coupon{margin:0 0 14px}
@media(max-width:600px){.rakuama-coupon{flex-wrap:wrap;gap:8px 10px}.rakuama-coupon__copy{flex-basis:100%;order:3}.rakuama-coupon__cta{margin-left:auto}}

/* Yahoo!ショッピングの検索ボタン（LinkSwitch ID 設定時だけ表示） */
.rakuama-cards .rakuama-btn--yahoo { background: #ff8400; border-color: #ff8400; color: #fff !important; }
.rakuama-cards .rakuama-btn--yahoo:hover { background: #ea7800; color: #fff !important; }
.rakuama-cards .rakuama-btn--yahoo.rakuama-btn-custom { background: var(--ra-button-background, #ff8400); color: var(--ra-button-color, #fff) !important; border-color: var(--ra-button-border, #ff8400); }
/* 3ボタンのときは楽天・Amazon を上段、Yahoo! を下段の左に上段と同じ幅で置く。 */
.rakuama-card__btns--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) { .rakuama-card__btns--3 { grid-template-columns: 1fr; } }
