/* SLABS N' STACKS v3.5.0 — unified guide UI */
:root{--sns-red:#ed1c24;--sns-ink:#111318;--sns-text:#101828;--sns-muted:#667085;--sns-line:#d8dde6;--sns-soft:#f7f8fa;--sns-white:#fff;--sns-shadow:0 5px 16px rgba(16,24,40,.06)}
body.sns-discovery-archive .site-main,body.sns-rich-film .site-main,body.sns-rich-key-issue .site-main,body.sns-rich-film-archive .site-main,body.sns-rich-key-archive .site-main{color:var(--sns-text)}
.sns-section-eyebrow,.sns-gs-heading>span,.sns-home-eyebrow{letter-spacing:.055em!important;font-weight:900!important}
.sns-taxonomy-guide,.sns-hub-knowledge-block,.sns-related-shop,.sns-film-section,.sns-key-section{box-shadow:var(--sns-shadow)}
.sns-taxonomy-guide{border-top:3px solid var(--sns-red)!important}
.sns-taxonomy-guide h2,.sns-hub-knowledge-block h2,.sns-taxonomy-grid-title{letter-spacing:-.02em}
.sns-taxonomy-stats{gap:8px!important}.sns-taxonomy-stats span{background:var(--sns-soft);border:1px solid var(--sns-line);padding:10px 12px!important}
.sns-character-guide-nav{position:sticky;top:34px;z-index:5;background:#fff;border:1px solid var(--sns-line);box-shadow:0 3px 12px rgba(16,24,40,.05)}
.sns-character-guide-nav a{transition:color .15s ease,border-color .15s ease}.sns-character-guide-nav a:hover{color:var(--sns-red)}
.sns-character-origin-content{align-items:flex-start!important}.sns-character-profile-image{border:1px solid var(--sns-line);background:var(--sns-soft);object-fit:cover;object-position:center top}
.sns-hub-links a,.sns-hub-comic-list a,.sns-hub-comic-list span{transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.sns-hub-links a:hover,.sns-hub-comic-list a:hover{transform:translateY(-2px);border-color:var(--sns-red)!important;box-shadow:var(--sns-shadow)}
/* Essential comics become illustrated collector cards when a matching key-issue guide has a cover. */
.sns-key-issue-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.sns-key-issue{display:flex!important;min-width:0;overflow:hidden;border:1px solid var(--sns-line)!important;border-left:3px solid var(--sns-red)!important;background:var(--sns-soft)!important;padding:0!important}.sns-key-issue-cover{width:96px;flex:0 0 96px;background:#fff;border-right:1px solid var(--sns-line);padding:7px}.sns-key-issue-cover img{display:block;width:100%;height:132px;object-fit:contain;margin:0}.sns-key-issue-copy{display:flex;flex-direction:column;gap:5px;padding:13px;min-width:0}.sns-key-issue-label{font-weight:850!important;line-height:1.3}.sns-key-issue-why{color:var(--sns-muted);line-height:1.45}.sns-key-issue-read{font-size:12px;font-weight:800;color:#0868bd!important;text-decoration:none!important;margin-top:auto}.sns-key-issue:not(.has-cover) .sns-key-issue-copy{min-height:105px}
/* Guide-search: denser visual hierarchy and cleaner partial rows. */
.sns-gs-hero{background:linear-gradient(180deg,#fff 0%,#fbfcfd 100%)}.sns-gs-hero h1{letter-spacing:-.025em}.sns-gs-form input:focus,.sns-gs-compact input:focus{outline:3px solid rgba(237,28,36,.12);border-color:var(--sns-red)}.sns-gs-card{border-radius:2px}.sns-gs-copy strong{letter-spacing:-.01em}.sns-gs-group{box-shadow:var(--sns-shadow)}
/* Consistent interaction language. */
.sns-taxonomy-actions a,.sns-home-actions a,.sns-gs-form button,.sns-gs-compact button{transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.sns-taxonomy-actions a:hover,.sns-home-actions a:hover,.sns-gs-form button:hover,.sns-gs-compact button:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(16,24,40,.12)}
@media(max-width:820px){.sns-character-guide-nav{position:static}.sns-key-issue-list{grid-template-columns:1fr}.sns-character-origin-content{grid-template-columns:1fr!important}.sns-character-profile-image{max-width:260px}}
@media(max-width:520px){.sns-key-issue-cover{width:82px;flex-basis:82px}.sns-key-issue-cover img{height:116px}.sns-key-issue-copy{padding:11px}.sns-taxonomy-stats{display:grid!important;grid-template-columns:1fr 1fr}}

/* v3.5.4 — character guide issue cards keep cover and copy side-by-side. */
.tax-sns_character .sns-character-key-issues .sns-key-issue{flex-direction:row!important;align-items:stretch!important}
.sns-home-char-stock{display:block;color:#fff;font-style:normal;font-size:12px;font-weight:800;line-height:1.35;margin-top:3px}
@media(max-width:520px){.tax-sns_character .sns-character-key-issues .sns-key-issue{flex-direction:row!important}}


/* v3.5.6 — character guide UX: clearer collector hierarchy without changing data sources. */
.tax-sns_character .sns-taxonomy-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.tax-sns_character .sns-character-key-issues>p{max-width:760px;color:var(--sns-muted)}
.tax-sns_character .sns-character-key-issues .sns-key-issue{min-height:178px;background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.035)}
.tax-sns_character .sns-character-key-issues .sns-key-issue-cover{width:122px;flex-basis:122px;padding:8px;display:flex;align-items:flex-start;justify-content:center}
.tax-sns_character .sns-character-key-issues .sns-key-issue-cover img{width:100%;height:162px;object-fit:contain;object-position:center top}
.tax-sns_character .sns-character-key-issues .sns-key-issue-copy{padding:15px 16px;gap:7px;justify-content:flex-start}
.tax-sns_character .sns-key-issue-meta{display:block;font-size:11px;line-height:1.25;font-weight:900;text-transform:uppercase;letter-spacing:.045em;color:#667085}
.tax-sns_character .sns-character-key-issues .sns-key-issue-label{font-size:16px;color:#0868bd!important;text-decoration:none!important}
.tax-sns_character .sns-character-key-issues .sns-key-issue-why{font-size:14px;line-height:1.5}
.tax-sns_character .sns-character-key-issues .sns-key-issue-read{margin-top:auto;padding-top:5px}
.tax-sns_character .sns-hub-comics .sns-hub-comic-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px!important}
.tax-sns_character .sns-hub-comics .sns-hub-comic-list>a,.tax-sns_character .sns-hub-comics .sns-hub-comic-list>span{min-height:62px;display:flex!important;flex-direction:column;justify-content:center}
.tax-sns_character #sns-character-movies{margin-top:26px;padding-top:20px;border-top:3px solid var(--sns-red)}
.tax-sns_character .sns-related-shop-intro{max-width:780px}
@media(max-width:900px){.tax-sns_character .sns-taxonomy-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tax-sns_character .sns-hub-comics .sns-hub-comic-list{grid-template-columns:1fr!important}}
@media(max-width:520px){.tax-sns_character .sns-character-key-issues .sns-key-issue-cover{width:96px;flex-basis:96px;padding:6px}.tax-sns_character .sns-character-key-issues .sns-key-issue-cover img{height:132px}.tax-sns_character .sns-character-key-issues .sns-key-issue-copy{padding:11px 12px}.tax-sns_character .sns-character-key-issues .sns-key-issue-label{font-size:15px}.tax-sns_character .sns-character-key-issues .sns-key-issue-why{font-size:13px}}

/* v3.5.8 — Key Issue guide refinement: tighter editorial hierarchy and balanced discovery cards. */
.single-sns_key_issue #sns-key-guide{padding:21px 24px;margin-bottom:16px}
.single-sns_key_issue #sns-key-guide h2{margin-bottom:9px}
.single-sns_key_issue #sns-key-guide p{margin-bottom:0}
.single-sns_key_issue .sns-ki-info-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px;margin-bottom:16px}
.single-sns_key_issue .sns-ki-info-row .sns-ki-panel{margin-bottom:0;padding:20px 22px}
.single-sns_key_issue .sns-ki-info-row .sns-ki-panel h2{margin-bottom:10px}
.single-sns_key_issue .sns-ki-info-row .sns-ki-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.single-sns_key_issue .sns-ki-info-row .sns-ki-facts>div{padding:11px 12px}
.single-sns_key_issue .sns-ki-collector-panel p{margin:0;line-height:1.55}
.single-sns_key_issue #sns-key-characters{padding-top:20px;padding-bottom:20px}
.single-sns_key_issue #sns-key-characters .sns-ki-character-grid{grid-template-columns:repeat(auto-fit,minmax(210px,270px));justify-content:start}
.single-sns_key_issue #sns-key-characters .sns-ki-character-card{width:100%}
.single-sns_key_issue .sns-ki-prevnext{gap:14px}
.single-sns_key_issue .sns-ki-prevnext.has-one{grid-template-columns:1fr}
.single-sns_key_issue .sns-ki-prevnext>a{min-height:122px;background:#f7f8fa}
.single-sns_key_issue .sns-ki-prevnext-cover{flex:0 0 92px;height:122px;align-self:auto}
.single-sns_key_issue .sns-ki-prevnext-cover img{width:92px;height:122px;min-height:0;object-fit:cover;object-position:center top}
.single-sns_key_issue .sns-ki-prevnext-copy{padding:16px 18px!important;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.single-sns_key_issue .sns-ki-prevnext-copy small{font-size:12px}
.single-sns_key_issue .sns-ki-prevnext-copy strong{font-size:16px;line-height:1.3}
.single-sns_key_issue .sns-ki-issue-card .sns-ki-visual-media{flex-basis:108px}
.single-sns_key_issue .sns-ki-issue-card .sns-ki-visual-media img{min-height:148px}
@media(max-width:900px){.single-sns_key_issue .sns-ki-info-row{grid-template-columns:1fr}.single-sns_key_issue .sns-ki-info-row .sns-ki-facts{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.single-sns_key_issue .sns-ki-info-row .sns-ki-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.single-sns_key_issue #sns-key-characters .sns-ki-character-grid{grid-template-columns:1fr}.single-sns_key_issue .sns-ki-prevnext-cover{flex-basis:82px;width:82px;height:116px}.single-sns_key_issue .sns-ki-prevnext-cover img{width:82px;height:116px}.single-sns_key_issue .sns-ki-prevnext>a{min-height:116px}}
@media(max-width:480px){.single-sns_key_issue .sns-ki-info-row .sns-ki-facts{grid-template-columns:1fr}.single-sns_key_issue .sns-ki-prevnext-copy{padding:13px!important}}

/* v3.5.9 — preserve image proportions on Key Issue relationship cards.
   The media frame controls cropping; the image itself is never stretched. */
.single-sns_key_issue .sns-ki-movie-card .sns-ki-visual-media{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#eef0f2;
}
.single-sns_key_issue .sns-ki-movie-card .sns-ki-visual-media img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.single-sns_key_issue .sns-ki-character-card .sns-ki-visual-media{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:4/3!important;
  overflow:hidden!important;
  background:#eef0f2;
}
.single-sns_key_issue .sns-ki-character-card .sns-ki-visual-media img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center top!important;
}
@media(max-width:700px){
 .single-sns_key_issue .sns-ki-movie-card,.single-sns_key_issue .sns-ki-character-card{display:block!important}
 .single-sns_key_issue .sns-ki-movie-card .sns-ki-visual-media{width:100%!important;flex:none!important;height:auto!important;aspect-ratio:16/9!important}
 .single-sns_key_issue .sns-ki-character-card .sns-ki-visual-media{width:100%!important;flex:none!important;height:auto!important;aspect-ratio:4/3!important}
}

/* v3.6.0 — character relationship artwork uses a taller frame than movie artwork. */
.single-sns_key_issue .sns-ki-character-card .sns-ki-visual-media{aspect-ratio:4/3!important;}
.single-sns_key_issue .sns-ki-character-card .sns-ki-visual-media img{object-fit:cover!important;object-position:center top!important;}
