/* Only the supplied deep-dive figures and added navigation use these rules. */
.cjf-rd-figure { margin: 1.8em 0 2.2em; padding: 0; max-width: 100%; }
.cjf-rd-figure picture, .cjf-rd-card-figure picture { display: block; }
.cjf-rd-figure img, .cjf-rd-card-figure img { display: block; width: 100%; height: auto; max-width: 100%; aspect-ratio: 4/3; object-fit: contain; border-radius: 9px; }
.cjf-rd-figure figcaption { margin-top: .8em; font-size: .78em; line-height: 1.8; color: var(--muted-foreground); overflow-wrap: anywhere; }
.cjf-rd-figure-label { display: inline-block; font-size: .9em; padding: .08em .55em; margin-right: .6em; border: 1px solid var(--border); border-radius: 4px; }
.cjf-rd-ai-note { display: block; font-size: .95em; margin-top: .25em; }
.cjf-rd-parent-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; width: 100%; }
.cjf-rd-parent-links a { display: flex; justify-content: center; align-items: center; min-height: 44px; padding: 7px 9px; border: 1px solid var(--border); border-radius: 5px; font-size: 12px; font-weight: 600; line-height: 1.7; color: var(--primary); background: #fffaf0; text-decoration: underline; text-underline-offset: .2em; }
.cjf-rd-parent-links a:hover, .cjf-rd-parent-links a:focus-visible { border-color: var(--primary); }
.cjf-rd-parent-links a:focus-visible, .cjf-rd-card a:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.cjf-rd-collection { max-width: 1024px; margin: 60px auto; padding: 0 32px; }
.cjf-rd-collection>header { padding-top: 28px; border-top: 1px solid var(--border); margin-bottom: 28px; }
.cjf-rd-collection h2 { font: 600 clamp(1.6rem,2.4vw,2.1rem)/1.6 var(--font-serif); margin: 10px 0; }
.cjf-rd-collection>header p { font-size: 15px; line-height: 1.9; color: var(--muted-foreground); }
.cjf-rd-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.cjf-rd-card { min-width: 0; border: 1px solid var(--border); background: #fefbf6; border-radius: 10px; overflow: hidden; }
.cjf-rd-card>a { display: flex; flex-direction: column; height: 100%; padding: 16px; }
.cjf-rd-card a:hover h3 { color: var(--primary); }
.cjf-rd-card-figure { margin: 0; }
.cjf-rd-card-figure figcaption { margin-top: 8px; font-size: 11px; line-height: 1.7; color: var(--muted-foreground); }
.cjf-rd-card-copy { display: flex; flex: 1; flex-direction: column; padding: 18px 6px 6px; }
.cjf-rd-card h3 { font: 600 21px/1.65 var(--font-serif); margin: 8px 0 12px; }
.cjf-rd-card-copy>p:not(.ramen-eyebrow) { font-size: 14px; line-height: 1.9; color: var(--muted-foreground); }
.cjf-rd-card-more { display: block; padding-top: 18px; margin-top: auto; font-size: 14px; font-weight: 600; color: var(--primary); }
.cjf-rd-jump { font-size: 14px; }
.cjf-rd-shop-info { margin: 16px 0 32px; }
.cjf-rd-shop-links { display: flex; flex-wrap: wrap; gap: 10px; }
.cjf-rd-shop-links a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: 100%; padding: 9px 16px; border: 1px solid var(--primary); border-radius: 6px; background: #fffaf0; color: var(--primary); font-size: 14px; font-weight: 600; line-height: 1.7; text-decoration: none; overflow-wrap: anywhere; }
.cjf-rd-shop-links a:hover { background: #f4e8d8; text-decoration: underline; text-underline-offset: .2em; }
.cjf-rd-shop-links a:focus-visible { outline: 3px solid var(--primary); outline-offset: 4px; }
.cjf-rd-shop-note { margin-bottom: 12px; padding: 12px 16px; border-inline-start: 3px solid var(--primary); background: #eee5d5; color: var(--foreground); font-size: 14px; line-height: 1.85; }
.cjf-rd-article blockquote { border-inline-start: 3px solid var(--border); padding: 10px 16px; background: #eee5d5; margin: 28px 0; font-size: 13px; line-height: 1.9; color: var(--muted-foreground); }
.cjf-rd-article blockquote p { margin: 0; }
.cjf-rd-taxonomy { gap: 8px 24px; }
.cjf-rd-taxonomy span { overflow-wrap: anywhere; }
.cjf-rd-language-note { grid-column: 1/-1; padding: 8px 12px; margin: 0; font-size: 12px; line-height: 1.7; color: var(--muted-foreground); }
.cjf-rd-review { background: #eee3d0; border-bottom: 1px solid var(--border); padding: 9px 20px; text-align: center; font-size: 12px; line-height: 1.8; color: #594435; }
.cjf-rd-review a { color: var(--primary); text-decoration: underline; margin-inline-start: 12px; }
@media(max-width:700px) {
  .cjf-rd-collection { padding: 0 20px; margin-block: 36px; }
  .cjf-rd-card-grid { grid-template-columns: 1fr; gap: 22px; }
  .cjf-rd-card>a { padding: 12px; }
  .cjf-rd-card h3 { font-size: 20px; }
  .cjf-rd-parent-links { flex-direction: column; }
  .cjf-rd-article blockquote { padding: 12px; }
}
