/* Scoped so TOP's existing controls/cards are unaffected. */
.heritage-guide { --gold:#D4A843; --surface:var(--pbg,#111a2e); color:var(--text); line-height:1.85; overflow-wrap:anywhere; }
.heritage-guide * { box-sizing:border-box; }
.heritage-guide a,.guide-related a { color:var(--accent,#C8A46A); }
.heritage-guide h1 { font-size:24px; line-height:1.5; margin:0 0 10px; }
.heritage-guide h2 { font-size:19px; margin:32px 0 14px; padding-left:12px; border-left:4px solid var(--gold); }
.heritage-guide h3 { font-size:15px; margin:20px 0 8px; color:var(--accent); }
.heritage-guide p { font-size:13.5px; color:var(--text2); margin:0 0 10px; }
.heritage-guide .hero { padding:22px; border:1px solid rgba(212,168,67,.4); border-radius:14px; background:rgba(212,168,67,.06); margin-bottom:24px; }
.heritage-guide .hero .tag { display:inline-block; font-size:11px; font-weight:700; color:#0A0F1E; background:var(--gold); border-radius:999px; padding:3px 12px; margin-bottom:12px; }
.heritage-guide .facts,.heritage-guide .cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr)); gap:12px; margin:16px 0; }
.heritage-guide .fact,.heritage-guide .card,.heritage-guide .course { background:var(--surface); border:1px solid rgba(200,164,106,.22); border-radius:12px; padding:16px; color:var(--text2); font-size:13px; }
.heritage-guide .fact b { display:block; color:var(--text); }
.heritage-guide .card { display:flex; flex-direction:column; gap:6px; }
.heritage-guide .card .nm { font-size:16px; font-weight:700; color:var(--text); margin:0; }
.heritage-guide .card .alt,.heritage-guide .card .meta { font-size:12px; color:var(--text2); }
.heritage-guide .card .see { flex:1; }
.heritage-guide .card .visit { font-size:12px; }
.heritage-guide .card-links { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:13px; }
.heritage-guide .badge { display:inline-block; font-size:11px; color:var(--gold); border:1px solid rgba(212,168,67,.5); border-radius:999px; padding:1px 9px; width:fit-content; }
.heritage-guide .cta { display:inline-block; background:var(--gold); color:#0A0F1E; font-weight:700; font-size:14px; text-decoration:none; border-radius:10px; padding:10px 16px; margin:6px 8px 6px 0; }
.heritage-guide .cta.sub { background:transparent; color:var(--accent); border:1px solid rgba(200,164,106,.5); }
.heritage-guide .course { margin:12px 0; }
.heritage-guide .course b { color:var(--text); }
.heritage-guide .course a { font-weight:700; }
.heritage-guide .note { background:rgba(212,168,67,.07); border:1px solid rgba(212,168,67,.25); border-radius:10px; padding:12px 16px; font-size:13px; color:var(--text2); margin:14px 0; }
.heritage-guide ul.src { padding:0; font-size:12px; line-height:2; list-style:none; }
.heritage-guide .all-members { border:1px solid rgba(200,164,106,.25); padding:12px; border-radius:10px; }
.heritage-guide summary,.heritage-summary > summary { cursor:pointer; font-weight:700; color:var(--accent); }
.heritage-guide .all-members ul,.guide-related ul { padding-left:20px; font-size:13px; }
.heritage-summary { margin:12px 0; border:1px solid rgba(200,164,106,.3); border-radius:12px; }
.heritage-summary > summary { padding:14px; font-size:14px; }
.heritage-summary > .heritage-guide { padding:0 14px 14px; }
.guide-related p { margin:10px 0; line-height:1.7; }
.guide-related li { margin:6px 0; }
/* 関連ガイド: カード形式 */
.guide-related .gr-cards { display:grid; gap:10px; }
.guide-related .gr-card { background:rgba(212,168,67,.05); border:1px solid rgba(200,164,106,.22); border-radius:12px; padding:13px 15px; }
.guide-related .gr-title { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:700; color:var(--accent,#C8A46A); text-decoration:none; line-height:1.4; }
.guide-related .gr-title:hover { text-decoration:underline; }
.guide-related .gr-arrow { font-size:13px; opacity:.7; }
.guide-related .gr-sub { font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted,#8a94a6); margin:11px 0 7px; }
.guide-related .gr-kofun { display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:8px; }
.guide-related .gr-klink { display:flex; flex-direction:column; gap:4px; padding:10px 12px; background:var(--pbg,#111a2e); border:1px solid rgba(200,164,106,.25); border-radius:10px; text-decoration:none; transition:background .15s,border-color .15s,transform .1s; }
.guide-related .gr-klink:hover { background:rgba(212,168,67,.1); border-color:rgba(212,168,67,.55); transform:translateY(-1px); }
.guide-related .grc-nm { font-size:13px; font-weight:700; color:var(--text,#EAE0D0); line-height:1.35; }
.guide-related .grc-meta { font-size:11px; color:var(--muted,#7A8FA6); }
#hm-guides { margin:20px 0; }
#hm-guides-title { color:var(--accent); font-size:17px; margin-bottom:6px; }
@media(max-width:600px) { .heritage-guide h1 { font-size:20px; } .heritage-guide .hero { padding:16px; } }
