/* Ficha Shinobi: tema exclusivo dos Status; cabeçalho e molduras preservados. */
body.status-shinobi {
  background-image: url('../img/status/ficha-fundo-v2.png') !important;
  background-color: #ecc366 !important;
}
.status-shinobi .shinobi-title {
  max-width: 1420px; margin: 32px auto 0; padding: 0 24px 22px;
  text-align: center; color: #183553;
}
.shinobi-title > span { font-size: 10px; font-weight: 800; letter-spacing: 4px; }
.shinobi-title h1 {
  position: relative; width: fit-content; margin: 10px auto 0; padding: 12px 60px;
  font: 800 29px/1.2 Georgia, serif; text-transform: uppercase; letter-spacing: 3px;
  color: #ffe7a3; background: linear-gradient(110deg,#102b43,#294e69,#102b43);
  border: 2px solid #c5a15a; outline: 1px solid #273d49; outline-offset: 3px;
  box-shadow: 0 6px 12px #49330e40, inset 0 0 0 3px #142e46;
  clip-path: polygon(3% 0,97% 0,100% 50%,97% 100%,3% 100%,0 50%);
}
.status-shinobi .st2-wrap {
  position: relative; display: grid; grid-template-columns: 300px minmax(0,1fr) 310px;
  align-items: start; gap: 0; width: calc(100% - 64px); max-width: 1420px;
  margin: 0 auto 48px; padding: 22px 18px 14px;
  background: linear-gradient(90deg,#d9c18d55,transparent 5%,transparent 95%,#d9c18d55),
    linear-gradient(150deg,#fff7e7ee,#eadbbcee);
  border: 1px solid #aa8447; border-top: 5px solid #b58a44;
  box-shadow: inset 0 0 0 4px #f6e6bc,0 16px 35px #52391440;
  border-radius: 3px;
}
.status-shinobi .st2-wrap::before,.status-shinobi .st2-wrap::after {
  content: ''; position: absolute; top: -12px; bottom: -12px; width: 12px;
  background: linear-gradient(90deg,#102c44,#40617a 45%,#152d42);
  border: 1px solid #ad8948; border-top: 16px solid #bb974f; border-bottom: 16px solid #bb974f;
  box-shadow: 2px 2px 4px #1a243b44; border-radius: 4px; pointer-events: none;
}
.status-shinobi .st2-wrap::before { left: -9px; }
.status-shinobi .st2-wrap::after { right: -9px; }
.status-shinobi .st2-col:nth-child(n) { width: auto; min-width: 0; max-width: none; gap: 20px; padding: 0 14px; }
.status-shinobi .st2-col + .st2-col { border-left: 1px solid #b6975a55; }
.status-shinobi .st2-card {
  padding: 14px 0 0; background: transparent; border: 0; border-radius: 0;
  box-shadow: none; clip-path: none; overflow: visible;
}
.status-shinobi .st2-card::before { display: none; }
.status-shinobi .st2-card-header {
  min-height: 39px; padding: 10px 12px; margin: -14px 0 15px;
  border: 1px solid #b18d4c; border-radius: 2px;
  background: linear-gradient(105deg,#132f49,#2c4e69);
  box-shadow: inset 0 0 0 2px #ffffff0c,0 3px 0 #c5a15a50;
}
.status-shinobi .st2-card-titulo { font-size: 11px; letter-spacing: 1.2px; color: #ffebbd; }
.status-shinobi .st2-card-header .st2-link { font-size: 9px; color: #fff0c8; }
.status-shinobi .st2-card-personagem .st2-personagem-img-wrap {
  width: 100%; height: auto; aspect-ratio: 1; margin: 0 auto 12px;
  background: radial-gradient(ellipse,#234966 0%,#23496615 56%,transparent 70%); border: 0;
}
.status-shinobi .st2-personagem-ficha { padding: 0 5px; }
.status-shinobi .st2-info-block { margin: 0 0 15px; padding: 0; }
.status-shinobi .st2-info-row { display: flex; justify-content: space-between; align-items: baseline; padding: 7px 0; border-bottom: 1px solid #b89a5c44; gap: 10px; }
.status-shinobi .st2-info-lbl { font-size: 11px; color: #59606a; }
.status-shinobi .st2-info-val { font-size: 12px; color: #183553; overflow-wrap: anywhere; }
.status-shinobi .st2-status-bars { margin-top: 12px; }
.status-shinobi .st2-bar-track { height: 9px; border-radius: 3px; }
.shinobi-battle-art { position: relative; margin-top: 22px; text-align: center; padding: 14px 8px 10px; border-top: 1px solid #b79a61; background: radial-gradient(ellipse at 50% 65%,#ba9b5d30,transparent 68%); }
.shinobi-art-label { color: #6a5b41; font-size: 9px; font-weight: 800; letter-spacing: 3px; margin-bottom: 12px; }
.shinobi-battle-art img { display: block; width: 100%; height: 320px; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 12px 8px #36281035); }
.shinobi-battle-art img[hidden],.shinobi-battle-art p[hidden] { display: none; }
.shinobi-battle-art p { padding: 45px 12px; font-size: 12px; line-height: 1.6; color: #665b48; }
.shinobi-battle-art button { display: block; margin: 15px auto 0; padding: 8px 16px; border: 1px solid #ac8744; color: #fce7b2; background: linear-gradient(#2a506b,#16334d); font-family: inherit; font-size: 11px; font-weight: 600; cursor: pointer; border-radius: 3px; }
.shinobi-battle-art button:hover { filter: brightness(1.16); }
.status-shinobi :is(a,button):focus-visible { outline: 3px solid #338dad; outline-offset: 3px; }
.status-shinobi .st2-attr-row { padding: 13px 3px; }
.status-shinobi .st2-attr-icon { width: 38px; height: 38px; border-radius: 5px; }
.status-shinobi .st2-attr-nivel { font-size: 19px; }
.status-shinobi .st2-row-2 { flex-direction: column; gap: 20px; }
.status-shinobi .st2-row-2 > .st2-card { width: 100%; }
.status-shinobi .st2-dou-slots { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; gap: 12px; }
.status-shinobi .st2-dou-slot { padding: 14px 8px; border-radius: 3px; background: #f9f0de88; border: 1px solid #b9985555; box-shadow: none; }
.status-shinobi .st2-dou-img-wrap { width: 66px; height: 66px; }
.status-shinobi .st2-bijuu-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
.status-shinobi .st2-bijuu-slot { width: 100%; min-width: 0; height: auto; aspect-ratio: 1; border-radius: 4px; }
.status-shinobi .st2-invoc-card { padding: 12px; background: #f9f0de66; border: 1px solid #b9985544; }
.status-shinobi .st2-empty { padding: 20px 12px; }
.status-shinobi .st2-perf-item { padding: 13px 0; margin-left: 0; margin-right: 0; }
.status-shinobi .shinobi-adventure {
  position: relative; display: flex; align-items: flex-end; min-height: 135px; margin: 0 0 12px;
  padding: 16px 14px; isolation: isolate; overflow: hidden; border: 1px solid #9c7c43;
  border-radius: 3px; background: #18364b; box-shadow: 0 3px 5px #3a2d1725; transition: border-color .2s;
}
.shinobi-adventure::before { content:''; position:absolute; inset:0; z-index:-2; background-position:center; background-size:cover; transition:transform .25s; }
.shinobi-adventure::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,#081e31f5,#102c4899 48%,#102c4800); }
.shinobi-adventure-expedicao::before { background-image:url('../img/expedicoes/mundo-atlas.png'); }
.shinobi-adventure-campanha::before { background-image:url('../img/status/campanha-portao.png'); background-position:center 42%; }
.shinobi-adventure-pvp::before { background-image:url('../img/arena_pvp/lobby-areia.png'); }
.status-shinobi .shinobi-adventure:hover { border-color:#edc16c; }
.shinobi-adventure:hover::before { transform:scale(1.04); }
.status-shinobi .shinobi-adventure > .st2-perf-icon { display:none; }
.status-shinobi .shinobi-adventure .st2-perf-label { color:#ffe1a0; font-size:12px; letter-spacing:1px; text-shadow:0 1px 3px #000; }
.status-shinobi .shinobi-adventure .st2-perf-titulo { color:#fff5dd; font-size:14px; }
.status-shinobi .shinobi-adventure .st2-perf-sub { color:#dce7ed; font-size:10px; }
.status-shinobi .shinobi-adventure .st2-perf-arrow { color:#ffe1a0; }
.status-shinobi .st2-footer-dica { grid-column:1/-1; text-align:center; margin-top:26px; padding:14px 0 0; border-top:1px solid #b6975a55; font-size:10px; }
.status-shinobi .st2-missao-card { border-radius:3px; box-shadow:none; }
@media(min-width:1350px) { .status-shinobi .st2-wrap { grid-template-columns:320px minmax(0,1fr) 330px; } }
@media(max-width:1100px) {
  .status-shinobi .st2-wrap { grid-template-columns:280px minmax(0,1fr); }
  .status-shinobi .st2-col:nth-child(3) { grid-column:1/-1; border-left:0; border-top:1px solid #b6975a55; padding-top:24px; margin-top:24px; display:grid; grid-template-columns:1fr 1fr; align-items:start; }
}
@media(max-width:700px) {
  .status-shinobi .shinobi-title { margin-top:22px; padding-bottom:18px; }
  .shinobi-title h1 { padding:12px 28px; font-size:22px; letter-spacing:2px; }
  .shinobi-title > span { letter-spacing:2px; font-size:9px; }
  .status-shinobi .st2-wrap { width:calc(100% - 30px); display:flex; flex-direction:column; padding:16px 10px; gap:22px; }
  .status-shinobi .st2-col:nth-child(n) { width:100%; flex:auto; padding:0 4px; border:0; margin:0; display:flex; }
  .status-shinobi .st2-card-personagem .st2-personagem-img-wrap { max-width:300px; }
  .shinobi-battle-art img { height:290px; }
  .status-shinobi .st2-footer-dica { width:100%; }
  .status-shinobi .st2-card-header { gap:6px; }
  .status-shinobi .st2-card-titulo { font-size:10px; letter-spacing:.7px; }
}
@media(prefers-reduced-motion:reduce) { .shinobi-adventure::before { transition:none; } }

.status-shinobi .st2-info-val { text-align: right; }
.status-shinobi .st2-missao-nome { color: #243c52; }

.status-shinobi .dash-missao-nome { color: #243c52; }
.status-shinobi .dash-missao-reward { color: #885319; }
.status-shinobi .dash-missao-item { border-bottom-color: #b6975a55; }
@media(max-width:700px) {
  .status-shinobi .np-topbar { height: auto; min-height: 64px; flex-wrap: wrap; gap: 6px 12px; padding: 8px 14px; }
  .status-shinobi .np-topbar-right { min-width: 0; flex: 1; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
  .status-shinobi .np-tbname { max-width: 90px; overflow: hidden; text-overflow: ellipsis; }
  .status-shinobi .np-nav { order: 3; flex: 1 0 100%; justify-content: flex-start; padding-bottom: 12px; }
  .status-shinobi .np-logo-img { height: 64px; transform: none; }
}

/* Revisão fiel ao mockup: placas azuis, filetes duplos e módulos compactos. */
.status-shinobi .shinobi-title { margin: 12px auto 0; padding-bottom: 15px; }
.shinobi-title > span { display: none; }
.shinobi-title h1 {
  clip-path: none; border-radius: 15px 5px; padding: 13px 58px 10px;
  background: linear-gradient(180deg,#183f66 0%,#082641 48%,#12385b 52%,#071e35 100%);
  border: 4px double #e8c778; outline: 2px solid #755622; outline-offset: 2px;
  box-shadow: inset 0 0 0 3px #08243e,inset 0 0 0 4px #b89851,0 4px 0 #6e532f66;
  font-size: 34px; letter-spacing: 2px; text-shadow: 0 2px 0 #000;
}
.shinobi-title h1::before,.shinobi-title h1::after { content:'◆'; color:#e4c271; position:absolute; top:50%; transform:translateY(-50%); font-size:22px; }
.shinobi-title h1::before { left:20px; } .shinobi-title h1::after { right:20px; }
.status-shinobi .st2-wrap { max-width:1380px; padding:8px 10px 12px; border:4px double #ad8740; background:linear-gradient(90deg,#d5b66d,#f4e4ba 3%,#f4e4ba 97%,#d5b66d); }
.status-shinobi .st2-col:nth-child(n) { padding:0 5px; gap:10px; }
.status-shinobi .st2-col + .st2-col { border:0; }
.status-shinobi .st2-card {
  padding:12px 10px 10px; border:3px double #997536; border-radius:7px;
  background:radial-gradient(ellipse at 15% 95%,#cfb57633,transparent 40%),linear-gradient(140deg,#fff9e9,#ece0be);
  box-shadow:inset 0 0 0 2px #fff2c7,0 2px 3px #70532240; overflow:hidden;
}
.status-shinobi .st2-card::after { content:''; position:absolute; width:60px; height:60px; bottom:4px; right:4px; border:3px double #b89b5950; border-left-color:transparent; border-top-color:transparent; border-radius:0 0 8px 0; pointer-events:none; }
.status-shinobi .st2-card-header {
  min-height:30px; padding:7px 10px; margin:-12px -10px 10px;
  background:linear-gradient(180deg,#27537d,#12365a 50%,#0c2948);
  border:0; border-bottom:3px double #d6b462; border-radius:0;
  box-shadow:inset 0 0 0 1px #66809a55;
}
.status-shinobi .st2-card-titulo { color:#fff0c7; font-size:11px; text-shadow:0 1px 2px #000; }
.status-shinobi .st2-card-titulo::before { background:#efcf79; box-shadow:3px -3px 0 -1px #b18b40; }
.status-shinobi .st2-card-header::after { content:'❖'; font-size:15px; color:#d9b76a; margin-left:auto; }
.status-shinobi .st2-card-header .st2-link { margin-left:auto; }
.status-shinobi .st2-card-header:has(.st2-link)::after { margin-left:0; }
.status-shinobi .st2-attr-row { padding:6px 1px; gap:10px; }
.status-shinobi .st2-attr-icon { width:32px; height:32px; min-width:32px; }
.status-shinobi .st2-attr-nivel { font-size:18px; line-height:1.15; }
.status-shinobi .st2-attr-desc { font-size:9px; margin:1px 0 3px; }
.status-shinobi .st2-attr-efeito { font-size:9px; margin-top:2px; }
.status-shinobi .st2-attr-nome { font-size:11px; }
.status-shinobi .st2-attr-treinar-wrap { padding:6px 0 0; margin-top:4px; }
.status-shinobi .st2-bar-track { height:7px; }
.status-shinobi .st2-card-atributos .st2-bar-track { height:6px; }
.status-shinobi .st2-btn-treinar { min-width:160px; padding:5px 24px; border:3px double #d9b260; border-radius:6px; background:linear-gradient(#244f76,#092b48); color:#ffe18c; font-size:16px; font-weight:900; letter-spacing:1px; box-shadow:0 0 0 1px #6c552e; }
.status-shinobi .st2-equip-grid #gameEquipSlots {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-areas:'. head .' 'armor . weapon' '. pants .' 'accessory1 shoes accessory2';
  gap:5px 8px; max-width:326px;
}
.status-shinobi .st2-equip-grid #gameEquipSlots .es-slot { min-height:76px; padding:5px 4px; border:3px double #ab8b4d !important; border-radius:5px; background:linear-gradient(130deg,#fff9e7,#e5d5ad); box-shadow:inset 0 0 0 1px #fff4d4,0 1px 2px #5e411933; }
.status-shinobi .st2-equip-grid .es-img-wrap { width:48px; height:48px; background:transparent; border:0; }
.status-shinobi .st2-equip-grid .es-slot-label { color:#253750 !important; font-size:9px; margin-bottom:2px; }
.status-shinobi .st2-equip-grid .es-slot-corpo { gap:2px; }
.status-shinobi .st2-equip-grid .es-nome { font-size:9px; line-height:1.2; }
.status-shinobi .st2-equip-grid .es-bonus { gap:0 4px; }
.status-shinobi .st2-equip-grid .es-bonus-item { font-size:8px; line-height:1.25; }
.status-shinobi .st2-equip-grid .es-vazio { font-size:10px; }
.status-shinobi .equip-refino-badge { font-size:11px; background:#143954; color:#ffe178 !important; border-color:#b98e34 !important; }
.status-shinobi .st2-row-2 { gap:10px; }
.status-shinobi .st2-dou-slot { padding:7px 4px; }
.status-shinobi .st2-dou-img-wrap { width:52px; height:52px; }
.status-shinobi .st2-dou-nome { font-size:10px; }
.status-shinobi .st2-dou-nivel { font-size:9px; }
.status-shinobi .st2-bijuu-grid { gap:6px; }
.status-shinobi .st2-bijuu-slot { max-height:72px; }
.status-shinobi .st2-empty { padding:10px 6px; }
.status-shinobi .st2-invoc-img { width:min(100%,250px); height:230px; border:0; border-radius:8px; background:radial-gradient(ellipse,#e7cb83aa,transparent 72%); box-shadow:none; overflow:visible; margin-bottom:12px; }
.status-shinobi .st2-invoc-img img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 5px #4a321b40); }
.status-shinobi .st2-invoc-card { padding:18px 12px; background:linear-gradient(135deg,#fff4dba6,#e6d0a17a); border:2px solid #b99855; border-radius:6px; }
.status-shinobi .st2-invoc-nome { font-size:20px; color:#203d51; }
.status-shinobi .st2-invoc-bonus-chip { font-size:11px; padding:5px 8px; }
.status-shinobi .shinobi-adventure { min-height:94px; padding:12px 10px; border:3px double #d5b769; box-shadow:0 0 0 1px #716038; margin-bottom:10px; }
.status-shinobi .shinobi-adventure > .st2-perf-icon { display:block; width:44px; height:44px; border-radius:0; object-fit:contain; filter:drop-shadow(0 2px 2px #0008); }
.status-shinobi .shinobi-adventure .st2-perf-label { font-size:11px; }
.status-shinobi .shinobi-adventure .st2-perf-titulo { font-size:12px; }
.status-shinobi .shinobi-adventure .st2-perf-sub { font-size:9px; margin-bottom:3px; }
.shinobi-records { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:5px; margin-top:16px; }
.status-shinobi .shinobi-records .st2-perf-item { display:flex; flex-direction:column; gap:5px; text-align:center; padding:9px 4px; margin:0; border:1px solid #b89d6555; border-radius:3px; }
.status-shinobi .shinobi-records .st2-perf-icon { width:28px; height:28px; }
.status-shinobi .shinobi-records .st2-perf-label { font-size:8px; justify-content:center; }
.status-shinobi .shinobi-records .st2-perf-big { font-size:19px; }
.status-shinobi .shinobi-records .st2-perf-sub { font-size:8px; }
.status-shinobi .dash-missao-btn { background:linear-gradient(#315c86,#133959); border:3px double #d4b26a; color:#fff1c5; border-radius:4px; padding:6px 10px; }
.status-shinobi .dash-missao-item { padding:8px 2px; }
.status-shinobi .dash-missao-rank { border-radius:50%; width:30px; height:30px; display:grid; place-items:center; }
.status-shinobi .dash-missao-nome { font-size:11px; }
.status-shinobi .dash-missao-reward { font-size:9px; }
.status-shinobi .st2-info-row { padding:5px 0; }
.shinobi-battle-art { margin-top:12px; padding-top:10px; }
.shinobi-battle-art img { height:300px; }
@media(min-width:1350px) { .status-shinobi .st2-wrap { grid-template-columns:320px minmax(0,1fr) 350px; } }
@media(max-width:700px) {
 .shinobi-title h1 { font-size:23px; padding:12px 35px; }
 .shinobi-title h1::before { left:9px; } .shinobi-title h1::after { right:9px; }
 .status-shinobi .st2-col:nth-child(n) { padding:0; }
 .status-shinobi .st2-wrap { padding:8px; gap:10px; }
 .status-shinobi .st2-equip-grid #gameEquipSlots { gap:5px; }
 .status-shinobi .st2-attr-desc { font-size:8px; }
}

.status-shinobi .st2-attr-body { line-height: 1.2; }

.status-shinobi .st2-row-2,.status-shinobi .st2-row-2 > .st2-card { flex: none; height: auto; }
.status-shinobi .st2-attr-row { padding: 4px 1px; }
.status-shinobi .st2-attr-body { font-size: 11px; }
.status-shinobi .st2-btn-treinar { line-height: 1.2; height: auto; gap: 8px; }

.status-shinobi .st2-attr-desc { display: none; }
.status-shinobi .st2-attr-mid { margin-top: 4px; }

/* Dez retratos em proporção 1:1, sem limitar apenas a altura. */
.status-shinobi .st2-bijuu-grid { grid-template-columns:repeat(5,minmax(0,1fr)); align-items:start; }
.status-shinobi .st2-bijuu-slot { width:100%; height:auto; max-height:none; min-height:0; aspect-ratio:1 / 1; align-self:start; }
.status-shinobi .st2-bijuu-slot img { width:100%; height:100%; object-fit:contain; }

/* Ilustrações de fundo da ficha, com área central legível. */
.status-shinobi .shinobi-title {
 max-width:none; width:100%; margin:0; min-height:170px; padding:38px 16px;
 display:flex; align-items:center; justify-content:center;
 background:url('../img/status/ficha-hokages.png') center top / 100% 570px no-repeat;
}
.status-shinobi .shinobi-title h1 { margin:0; }
.status-shinobi .st2-card {
 background-image:linear-gradient(#fff8e422,#fff8e422),url('../img/status/card-nuvens.png');
 background-size:100% 100%; background-position:center; background-repeat:no-repeat;
}
.status-shinobi .st2-card-equipamentos {
 background-image:url('../img/status/card-equipamentos.png'); background-size:100% 100%;
}
.status-shinobi .st2-card::after { display:none; }
.status-shinobi .shinobi-battle-art { background:radial-gradient(ellipse at 50% 70%,#bd975329,transparent 68%); }
@media(max-width:700px) {
 .status-shinobi .shinobi-title { min-height:160px; padding:70px 10px 18px; background-size:700px 420px; background-position:right top; }
}

/* Ícones ilustrados dos cinco atributos. */
.status-shinobi .st2-attr-icon { overflow:hidden; padding:0; }
.status-shinobi .st2-attr-icon img { display:block; width:100%; height:100%; object-fit:contain; border-radius:inherit; }

/* Pergaminho ilustrado único: bordas preservadas em painéis de qualquer altura. */
.status-shinobi .st2-wrap {
  isolation:isolate;
  background:transparent;
  border-color:transparent;
  box-shadow:none;
}
.status-shinobi .st2-wrap::before {
  content:'';
  position:absolute;
  inset:-18px -14px -22px;
  width:auto;
  height:auto;
  z-index:-1;
  background:none;
  border:38px solid transparent;
  border-image:url('../img/status/pergaminho-painel-v2.png') 140 130 fill / 38px / 0 stretch;
  border-radius:0;
  box-shadow:none;
  pointer-events:none;
}
.status-shinobi .st2-wrap::after { display:none; }
@media(max-width:700px) {
  .status-shinobi .st2-wrap::before {
    inset:-12px -8px -16px;
    border-width:24px;
    border-image-width:24px;
  }
}
