/* Dark Souls II: Scholar of the First Sin — NPCs, tramas y ubicaciones. */
.ds2-npc-page .cover p { max-width: 850px; }
.ds2-npc-page .wall { --muro-embers: rgba(211, 161, 76, .72); }
.ds2-npc-page .plate .quick b { overflow-wrap: anywhere; }

.ds2-npc-ficha.ficha { grid-template-columns: minmax(300px, 38%) minmax(0, 1fr); }
.ds2-npc-ficha .ficha-vis {
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--crim-d) transparent;
  background: radial-gradient(ellipse at 50% 18%, #282923, var(--bg) 78%);
}
.ds2-npc-ficha .ficha-vis::after { display: none; }
.ds2-npc-ficha .ficha-data { padding-bottom: 96px; }
.ds2-npc-page .ds2-npc-ficha .fd-name { padding-right: 56px; color: var(--amber-l); }
.ds2-npc-page .ds2-npc-ficha .fd-orn i { background: var(--crim-l); }
.ds2-npc-page .ds2-npc-ficha .fd-counter b { color: var(--amber-l); }
.ds2-npc-page .ds2-npc-ficha .fd-stats { grid-template-columns: minmax(0, 2fr) minmax(88px, 1fr) minmax(88px, 1fr); }
.ds2-npc-page .ds2-npc-ficha .fd-stats .fds:first-child b { line-height: 1.45; overflow-wrap: anywhere; }

.ds2-npc-art {
  position: relative;
  display: grid;
  flex: 0 0 min(38vh, 390px);
  min-height: 260px;
  max-height: 440px;
  place-items: center;
  overflow: hidden;
  background: radial-gradient(ellipse at 50% 48%, rgba(var(--amber-rgb), .14), transparent 68%);
}
.ds2-npc-art img { width: 100%; height: 100%; padding: 18px; box-sizing: border-box; object-fit: contain; filter: drop-shadow(0 18px 32px rgba(0, 0, 0, .72)); }
.ds2-npc-art img[hidden] { display: none; }
.ds2-npc-locations { position: relative; z-index: 1; padding: 18px clamp(22px, 3vw, 42px) 28px; }
.ds2-npc-locations > h3 { margin: 0 0 14px; color: var(--amber-l); font: 700 11px/1.5 Cinzel, serif; letter-spacing: .2em; text-transform: uppercase; }
.ds2-npc-card {
  margin: 0 0 11px;
  padding: 14px 16px;
  border: 1px solid rgba(var(--amber-rgb), .19);
  background: rgba(var(--bg2-rgb), .78);
}
.ds2-npc-card:last-child { margin-bottom: 0; }
.ds2-npc-card h3 { margin: 4px 0 10px; color: var(--muro-white); font: 700 clamp(17px, 1.8vw, 22px)/1.35 'Cinzel', serif; letter-spacing: .02em; }
.ds2-npc-card h4,
.ds2-npc-prose h4 { margin: 0 0 8px; color: var(--crim-l); font: 700 10px/1.5 Cinzel, serif; letter-spacing: .15em; text-transform: uppercase; }
.ds2-npc-card p,
.ds2-npc-prose li { margin: 6px 0 0; color: #c5d0d2; font: 400 12px/1.75 Cinzel, serif; overflow-wrap: anywhere; }
.ds2-npc-card p b,
.ds2-npc-prose li b { color: var(--amber-l); font-weight: 700; }
.ds2-npc-location p { color: #c5d0d2; }
.ds2-npc-details { display: grid; gap: 12px; margin-top: 20px; padding-bottom: 22px; }
.ds2-npc-eyebrow { color: var(--crim-l); font: 700 10px/1.5 Cinzel, serif; letter-spacing: .17em; text-transform: uppercase; }
.ds2-npc-lead { color: #d0dadd !important; font-size: 13px !important; line-height: 1.82 !important; }
.ds2-npc-crosslink { color: #aabcc2 !important; font-size: 11px !important; }
.ds2-npc-prose { margin-top: 17px; }
.ds2-npc-prose ol { display: grid; gap: 7px; margin: 8px 0 0; padding-left: 22px; }
.ds2-npc-prose li { padding-left: 3px; }
.ds2-npc-prose p { padding-left: 13px; border-left: 1px solid rgba(var(--amber-rgb), .3); }
.ds2-npc-rewards p { border-left-color: rgba(var(--crim-rgb), .55); }
.ds2-npc-empty { margin: 0; padding: 13px 15px; border: 1px solid rgba(var(--amber-rgb), .16); background: rgba(var(--bg2-rgb), .54); color: #b5b3a8; font: 400 11px/1.8 Cinzel, serif; }

@media (max-width: 860px) {
  .ds2-npc-ficha.ficha { display: flex; flex-direction: column; grid-template-columns: none; grid-template-rows: none; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding-bottom: 96px; }
  .ds2-npc-ficha .ficha-vis,
  .ds2-npc-ficha .ficha-data { display: contents; overflow: visible; padding: 0; }
  .ds2-npc-art { order: 0; flex: 0 0 clamp(190px, 30vh, 260px); width: 100%; min-height: 0; max-height: none; }
  .ds2-npc-art img { padding: 18px; }
  .ds2-npc-ficha .fd-counter { order: 1; width: 100%; margin: 0; padding: 18px 20px 0; box-sizing: border-box; }
  .ds2-npc-ficha .fd-name { order: 2; width: 100%; margin: 6px 0 12px; padding: 0 20px; box-sizing: border-box; font-size: 28px; }
  .ds2-npc-ficha .fd-orn { order: 3; width: 100%; margin: 0 0 12px; padding: 0 20px; box-sizing: border-box; }
  .ds2-npc-ficha .fd-stats { order: 4; width: calc(100% - 40px); margin: 0 20px; }
  .ds2-npc-ficha .fd-chips { order: 5; margin: 16px 20px 0; }
  .ds2-npc-ficha .fd-desc { order: 6; margin: 17px 20px 0; }
  .ds2-npc-locations { order: 7; width: 100%; padding: 22px 20px 10px; box-sizing: border-box; }
  .ds2-npc-details { order: 8; width: calc(100% - 40px); margin: 10px 20px 0; box-sizing: border-box; }
}

@media (max-width: 700px) {
  .ds2-npc-page .command .cmd-in { gap: 12px; }
  .ds2-npc-page .ds2-npc-ficha .fd-stats { grid-template-columns: minmax(0, 1.5fr) minmax(74px, .8fr) minmax(74px, .8fr); }
  .ds2-npc-card { padding: 13px 14px; }
  .ds2-npc-card p,
  .ds2-npc-prose li { font-size: 11.5px; line-height: 1.72; }
  .ds2-npc-details { gap: 10px; }
}
-box; }
}

@media (max-width: 700px) {
  .ds2-npc-page .command .cmd-in { gap: 12px; }
  .ds2-npc-page .ds2-npc-ficha .fd-stats { grid-template-columns: minmax(0, 1.5fr) minmax(74px, .8fr) minmax(74px, .8fr); }
  .ds2-npc-card { padding: 13px 14px; }
  .ds2-npc-card p,
  .ds2-npc-prose li { font-size: 11.5px; line-height: 1.72; }
  .ds2-npc-details { gap: 10px; }
}
