
.rap-ai-internal-link{margin:1.4em 0;line-height:1.8}.rap-ai-internal-link a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.rap-ai-related-title{margin:1.6em 0;padding:.9em 1.1em;border-left:4px solid var(--rap-accent,#d96c86);background:#fff}.rap-ai-related-title p{margin:.25em 0}.rap-ai-related-title-link a{font-weight:700}
.rap-ai-related-box{margin:1.8em 0;padding:1.15em 1.25em;border:2px solid color-mix(in srgb,var(--rap-accent,#d96c86) 55%,white);border-radius:10px;background:color-mix(in srgb,var(--rap-accent,#d96c86) 7%,white);box-shadow:0 2px 8px rgba(0,0,0,.05)}
.rap-ai-related-label{display:inline-block;margin-bottom:.55em;padding:.2em .65em;border-radius:999px;background:var(--rap-accent,#d96c86);color:#fff;font-size:.82em;font-weight:700}.rap-ai-related-box p{margin:.35em 0}.rap-ai-related-box-title a{font-weight:700;font-size:1.05em}
.rap-ai-related-card{display:flex;gap:1em;margin:1.8em 0;padding:1em;border:1px solid #e0e0e0;border-left:5px solid var(--rap-accent,#d96c86);border-radius:10px;background:#fff;box-shadow:0 3px 12px rgba(0,0,0,.07)}.rap-ai-related-card-image{flex:0 0 180px;display:block}.rap-ai-related-card-image img{width:100%;height:120px;object-fit:cover;border-radius:7px}.rap-ai-related-card-body{min-width:0;flex:1}.rap-ai-related-card h3{margin:.35em 0 .45em;font-size:1.05em;line-height:1.5}.rap-ai-related-card h3 a{text-decoration:none}.rap-ai-related-intro,.rap-ai-related-desc{margin:.35em 0;color:#555}.rap-ai-related-more{display:inline-block;margin-top:.35em;font-weight:700;color:var(--rap-accent,#d96c86)}
@media(max-width:640px){.rap-ai-related-card{display:block}.rap-ai-related-card-image{margin-bottom:.8em}.rap-ai-related-card-image img{height:auto;max-height:220px}.rap-ai-related-box,.rap-ai-related-card{padding:.9em}}

/* Rakuten affiliate product cards */
.rap-rakuten-products{margin:28px 0;padding:20px;border:1px solid #ead7d7;border-radius:12px;background:#fff}.rap-rakuten-intro{margin-top:0}.rap-rakuten-grid{display:grid;gap:16px}.rap-rakuten-card{display:flex;gap:18px;padding:16px;border:1px solid #eee;border-radius:10px;align-items:center}.rap-rakuten-card img{width:128px;height:128px;object-fit:contain}.rap-rakuten-body{flex:1;min-width:0}.rap-rakuten-name{font-weight:700}.rap-rakuten-price{font-size:1.15em;font-weight:700}.rap-rakuten-shop,.rap-rakuten-review,.rap-rakuten-credit{font-size:.88em;color:#666}.rap-rakuten-button{display:inline-block;padding:11px 18px;border-radius:7px;background:#bf0000;color:#fff!important;text-decoration:none!important;font-weight:700}.rap-rakuten-button:hover{opacity:.88}@media(max-width:600px){.rap-rakuten-card{display:block;text-align:center}.rap-rakuten-card img{margin:auto}.rap-rakuten-body{text-align:left}.rap-rakuten-button{display:block;text-align:center}}

/* Lightweight Rakuten links shown immediately after comparison tables */
.rap-rakuten-compare-links{margin:22px 0 30px;padding:16px 18px;border-left:4px solid var(--rap-accent,#d96c86);border-radius:8px;background:color-mix(in srgb,var(--rap-accent,#d96c86) 7%,white)}.rap-rakuten-compare-title{margin:0 0 10px;font-weight:700}.rap-rakuten-compare-item{margin:8px 0;line-height:1.7}.rap-rakuten-compare-item a{font-weight:700;text-decoration:underline;text-underline-offset:3px}.rap-rakuten-compare-note{margin:10px 0 0;font-size:.86em;color:#666}@media(max-width:600px){.rap-rakuten-compare-links{padding:14px}.rap-rakuten-compare-item{line-height:1.65}}
.rap-rakuten-products-compact{margin:22px 0;padding:14px 16px}.rap-rakuten-products-compact .rap-rakuten-compact-text{margin:0 0 10px;font-size:.95em}.rap-rakuten-products-compact .rap-rakuten-credit{margin:9px 0 0}@media(max-width:600px){.rap-rakuten-products-compact{padding:12px}.rap-rakuten-products-compact .rap-rakuten-button{display:block;text-align:center}}

/* Rakuten CTA enhancement v10.0.7 */
.rap-rakuten-products-compact{
  border:1px solid #f1d3d8;
  border-radius:12px;
  background:linear-gradient(180deg,#fff8f8 0%,#fff 100%);
  box-shadow:0 4px 14px rgba(191,0,0,.06);
}
.rap-rakuten-cta-eyebrow{
  margin:0 0 10px;
  display:inline-block;
  padding:4px 10px;
  border-radius:999px;
  background:#fff0f0;
  color:#b00020;
  font-size:.84em;
  font-weight:700;
  line-height:1.4;
}
.rap-rakuten-products-compact .rap-rakuten-compact-text{
  margin:0 0 12px;
  line-height:1.8;
}
.rap-rakuten-cta-decision{
  border-color:#edc7cd;
  background:linear-gradient(180deg,#fff7f7 0%,#fffefc 100%);
}
.rap-rakuten-button{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#d10000 0%,#ff4747 100%);
  box-shadow:0 8px 18px rgba(191,0,0,.20);
  transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease;
}
.rap-rakuten-button:hover{
  opacity:1;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(191,0,0,.26);
}
.rap-rakuten-button::after{
  content:"";
  position:absolute;
  top:-30%;
  left:-120%;
  width:42%;
  height:160%;
  transform:rotate(24deg);
  background:linear-gradient(90deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.16) 25%,rgba(255,255,255,.82) 50%,rgba(255,255,255,.16) 75%,rgba(255,255,255,0) 100%);
  animation:rap-rakuten-shine 2.8s ease-in-out infinite;
  pointer-events:none;
}
@keyframes rap-rakuten-shine{
  0%{left:-120%;opacity:0}
  12%{opacity:1}
  40%,100%{left:135%;opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .rap-rakuten-button,
  .rap-rakuten-button:hover{transition:none;transform:none}
  .rap-rakuten-button::after{animation:none}
}
