/* Dark Souls III · rankings recomendados de armas. */
body.page-ds3.muro:has(main.ds3-rec-page) {
  --bg:#0b1218; --bg2:#111d25; --bg3:#172630; --crim:#cbaa37; --crim-l:#e3cb53; --crim-d:#80651f;
  --crim-rgb:203,170,55; --crim-l-rgb:227,203,83; --crim-d-rgb:128,101,31; --viol:#4b728e; --viol-l:#a8d3e9;
  --viol-rgb:75,114,142; --viol-l-rgb:168,211,233; --amber:#cbaa37; --amber-l:#e3cb53; --amber-rgb:203,170,55;
  --amber-l-rgb:227,203,83; --muro-text:#93a8b1; --muro-text-l:#dbeaf0; --muro-white:#ebf4f8;
  --bg-rgb:11,18,24; --bg-deep-rgb:5,10,14; --bg2-rgb:17,29,37; --bg3-rgb:23,38,48; --muro-text-rgb:147,168,177;
  --muro-embers:203 170 55,227 203 83,75 114 142,168 211 233,224 245 251;
}
.ds3-rec-page { --line:rgba(168,211,233,.17); --gold:#cbaa37; --gold-light:#e3cb53; --panel:rgba(8,15,20,.92); color:#dbeaf0; }
.ds3-rec-page>.cover { max-width:1440px; margin:0 auto; padding:104px clamp(20px,4vw,52px) 30px; }
.ds3-rec-page .cover .crumbs { flex-wrap:wrap; row-gap:8px; margin-bottom:25px; }
.ds3-rec-page .cover h1 {
  box-sizing:border-box; margin-inline:auto; max-width:18em; padding-inline:clamp(14px,2.5vw,32px);
  font-size:calc(clamp(30px,4.6vw,56px)*var(--sg-fit,1)); line-height:1.06;
}
.ds3-rec-page .cover>p { max-width:74ch; }
.ds3-rec-page .cover::before { background:radial-gradient(ellipse 64% 82% at 50% -14%,rgba(75,114,142,.2),transparent 68%),radial-gradient(ellipse 42% 56% at 50% 0%,rgba(203,170,55,.105),transparent 72%); }
.ds3-rec-page .cover .sm { color:var(--gold-light); }
.ds3-rec-page .cover h1 em { -webkit-text-stroke-color:rgba(227,203,83,.88); }
.ds3-rec-page .cover .orn i { background:var(--gold); }
.ds3-rec-page .gcta { padding-bottom:42px; }
.ds3-rec-layout { display:grid; gap:14px; width:min(1320px,calc(100% - 40px)); margin:16px auto 34px; }

/* Hub */
.ds3-rec-hub { --ds3-rec-hub-line:rgba(168,211,233,.2); --ds3-rec-hub-glow:rgba(203,170,55,.16); padding-top:22px; }
.ds3-rec-hub-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr)); gap:18px; }
.ds3-rec-hub-grid>.plate { min-width:0; min-height:215px; border-color:var(--ds3-rec-hub-line); background:linear-gradient(145deg,rgba(23,38,48,.78),rgba(11,18,24,.91)); }
.ds3-rec-hub-grid>.plate::after { border-color:rgba(203,170,55,.18); }
.ds3-rec-hub-grid>.plate:hover,.ds3-rec-hub-grid>.plate:focus-visible { border-color:rgba(227,203,83,.55); box-shadow:0 20px 55px rgba(5,10,14,.5),0 0 25px var(--ds3-rec-hub-glow); }
.ds3-rec-hub-grid .info h3 { color:#ebf4f8; }
.ds3-rec-hub-grid .quick { display:grid; gap:12px; }
.ds3-rec-hub-grid .quick>div { min-width:0; }
.ds3-rec-hub-grid .quick span { color:#cbaa37; }
.ds3-rec-hub-grid .quick b { color:#dbeaf0; font-size:13px; line-height:1.55; }

/* Páginas de ranking */
.ds3-rec-ranking-context { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 16px; border:1px solid var(--line); border-left:2px solid #bd5550; background:linear-gradient(110deg,rgba(75,114,142,.13),rgba(8,15,20,.88)); }
.ds3-rec-ranking-context>div { min-width:0; }
.ds3-rec-ranking-context p { margin:0; color:#a9bbc2; font:400 9px/1.7 Cinzel,Georgia,serif; }
.ds3-rec-ranking-context details { margin-top:6px; }
.ds3-rec-ranking-context summary { width:fit-content; color:#d5c078; cursor:pointer; font:700 8px/1.6 Cinzel,Georgia,serif; letter-spacing:.06em; text-transform:uppercase; }
.ds3-rec-ranking-context details p { max-width:100ch; padding-top:6px; color:#91a6b0; }
.ds3-rec-ranking-context a { flex:0 0 auto; color:var(--gold-light); font:700 8px/1.5 Cinzel,Georgia,serif; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.ds3-rec-ranking-context a:hover,.ds3-rec-ranking-context a:focus-visible { color:#fff0a0; text-decoration:underline; }
.ds3-rec-intro,.ds3-rec-chooser,.ds3-rec-controls,.ds3-rec-results-wrap {
  min-width:0; border:1px solid var(--line); background:linear-gradient(145deg,rgba(75,114,142,.1),transparent 46%),var(--panel);
  box-shadow:0 18px 45px rgba(0,0,0,.2),inset 0 0 0 1px rgba(203,170,55,.025);
}
.ds3-rec-intro { padding:clamp(16px,2.5vw,24px); }
.ds3-rec-intro p { margin:0; color:#bdcbd1; font:400 11px/1.8 Cinzel,Georgia,serif; }
.ds3-rec-intro p+p { margin-top:7px; color:#93a9b2; font-size:9px; }
.ds3-rec-eyebrow,.ds3-rec-section-head>span,.ds3-rec-results-head>div>span {
  display:block; margin-bottom:5px; color:var(--gold-light); font:700 8px/1.5 Cinzel,Georgia,serif; letter-spacing:.15em; text-transform:uppercase;
}
.ds3-rec-section-head { padding:16px 19px 13px; border-bottom:1px solid var(--line); }
.ds3-rec-section-head h2,.ds3-rec-results-head h2 { margin:0; color:#e5eef2; font:700 clamp(18px,2vw,23px)/1.35 Cinzel,Georgia,serif; }
.ds3-rec-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr)); align-items:end; gap:12px; padding:16px 18px 12px; }
.ds3-rec-fields label { display:grid; gap:6px; min-width:0; color:#c7d4d9; font:700 8px/1.5 Cinzel,Georgia,serif; letter-spacing:.06em; }
.ds3-rec-fields label>span { color:#a9bbc2; text-transform:uppercase; }
.ds3-rec-fields input[type=number],.ds3-rec-fields select { width:100%; min-height:41px; padding:7px 10px; border:1px solid rgba(203,170,55,.25); border-radius:0; color:#e3edf1; background:#071016; font:600 10px/1.4 Cinzel,Georgia,serif; color-scheme:dark; }
.ds3-rec-fields select { cursor:pointer; }
.ds3-rec-fields input:focus,.ds3-rec-fields select:focus { outline:2px solid rgba(168,211,233,.45); outline-offset:1px; border-color:rgba(203,170,55,.7); }
.ds3-rec-fields .ds3-rec-usage { grid-column:span 2; align-self:stretch; }
.ds3-rec-usage-control { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:2px 12px; min-height:41px; }
.ds3-rec-usage-control output { color:var(--gold-light); font:700 9px/1.4 Cinzel,Georgia,serif; text-align:right; white-space:nowrap; }
.ds3-rec-usage-control input[type=range] { grid-column:1/-1; width:100%; height:18px; margin:0; appearance:none; background:transparent; accent-color:#cbaa37; cursor:pointer; }
.ds3-rec-usage-control input[type=range]::-webkit-slider-runnable-track { height:5px; border:1px solid rgba(168,211,233,.25); background:linear-gradient(90deg,rgba(203,170,55,.35),rgba(75,114,142,.22)); }
.ds3-rec-usage-control input[type=range]::-webkit-slider-thumb { width:13px; height:13px; margin-top:-5px; appearance:none; border:1px solid #f1d66a; border-radius:50%; background:#cbaa37; box-shadow:0 0 9px rgba(203,170,55,.42); }
.ds3-rec-usage-control input[type=range]::-moz-range-track { height:5px; border:1px solid rgba(168,211,233,.25); background:linear-gradient(90deg,rgba(203,170,55,.35),rgba(75,114,142,.22)); }
.ds3-rec-usage-control input[type=range]::-moz-range-progress { height:5px; background:rgba(203,170,55,.52); }
.ds3-rec-usage-control input[type=range]::-moz-range-thumb { width:11px; height:11px; border:1px solid #f1d66a; border-radius:50%; background:#cbaa37; box-shadow:0 0 9px rgba(203,170,55,.42); }
.ds3-rec-usage-control input[type=range]:focus-visible { outline:2px solid rgba(168,211,233,.65); outline-offset:2px; }
.ds3-rec-usage-control small { grid-column:1/-1; color:#91a6b0; font:400 7px/1.45 Cinzel,Georgia,serif; letter-spacing:0; }
.ds3-rec-fields .ds3-rec-check { display:flex; align-items:center; align-self:stretch; gap:9px; min-height:41px; padding:0 3px; }
.ds3-rec-check input { width:16px; height:16px; flex:0 0 auto; accent-color:#cbaa37; }
.ds3-rec-fields .ds3-rec-check span { color:#d2e0e5; font-size:9px; letter-spacing:0; text-transform:none; }
.ds3-rec-active-note { min-height:17px; margin:0; padding:0 19px 13px; color:#91a6b0; font:400 8px/1.6 Cinzel,Georgia,serif; }
.ds3-rec-results-head { display:flex; align-items:end; justify-content:space-between; gap:12px; padding:16px 19px 13px; border-bottom:1px solid var(--line); }
.ds3-rec-results-head>div>span { margin-bottom:4px; }
.ds3-rec-results-head>p { margin:0; color:var(--gold-light); font:700 8px/1.5 Cinzel,Georgia,serif; letter-spacing:.08em; text-align:right; text-transform:uppercase; }
.ds3-rec-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; padding:13px; }
.ds3-rec-weapon-card { display:flex; min-width:0; flex-direction:column; padding:12px; border:1px solid rgba(168,211,233,.13); background:linear-gradient(150deg,rgba(23,38,48,.78),rgba(5,10,14,.72)); }
.ds3-rec-card-top { display:flex; align-items:center; justify-content:space-between; padding-bottom:8px; border-bottom:1px solid rgba(168,211,233,.1); }
.ds3-rec-rank { color:var(--gold); font:800 17px/1 Cinzel,Georgia,serif; letter-spacing:.07em; }
.ds3-rec-score { display:grid; gap:2px; margin-left:auto; margin-right:12px; color:#94aab3; font:700 10px/1.4 Cinzel,Georgia,serif; text-align:right; text-transform:uppercase; }
.ds3-rec-score strong { color:var(--gold-light); font-size:14px; }
.ds3-rec-score small { color:#9bb7c2; font-size:9px; }
.ds3-rec-weight { color:#9db0b8; font:700 10px/1.45 Cinzel,Georgia,serif; }
.ds3-rec-item-head { display:grid; grid-template-columns:58px minmax(0,1fr); align-items:center; gap:10px; min-width:0; padding:11px 0; color:inherit; text-decoration:none; }
.ds3-rec-image { display:grid; width:58px; height:58px; place-items:center; overflow:hidden; border:1px solid rgba(203,170,55,.23); background:radial-gradient(ellipse,rgba(168,211,233,.08),rgba(0,0,0,.58)); }
.ds3-rec-image img { display:block; width:100%; height:100%; object-fit:contain; }
.ds3-rec-no-image { color:var(--gold-light); font:700 11px Cinzel,Georgia,serif; }
.ds3-rec-name-wrap { display:grid; min-width:0; gap:5px; }
.ds3-rec-name-wrap strong { color:#e4edf0; font:700 15px/1.35 Cinzel,Georgia,serif; overflow-wrap:anywhere; }
.ds3-rec-item-head:hover .ds3-rec-name-wrap strong { color:var(--gold-light); }
.ds3-rec-badge { width:fit-content; padding:4px 6px; border:1px solid rgba(168,211,233,.19); color:#9fc7d9; font:700 10px/1.35 Cinzel,Georgia,serif; letter-spacing:.03em; text-transform:uppercase; }
.ds3-rec-card-data { display:grid; gap:7px; flex:1; padding-top:9px; border-top:1px solid rgba(203,170,55,.12); }
.ds3-rec-primary { display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin:0; color:#c6d2d7; font:600 10px/1.5 Cinzel,Georgia,serif; }
.ds3-rec-primary strong { color:var(--gold-light); font:700 16px/1.35 Cinzel,Georgia,serif; text-align:right; }
.ds3-rec-motion-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.ds3-rec-move { min-width:0; padding:8px; border:1px solid rgba(168,211,233,.12); background:rgba(5,10,14,.46); }
.ds3-rec-move h3 { margin:0 0 5px; color:#a8d3e9; font:700 10px/1.45 Cinzel,Georgia,serif; letter-spacing:.06em; text-transform:uppercase; }
.ds3-rec-move>strong { display:block; color:var(--gold-light); font:700 14px/1.25 Cinzel,Georgia,serif; }
.ds3-rec-move p { margin:4px 0 0; color:#9fb2ba; font:400 10px/1.6 Cinzel,Georgia,serif; }
.ds3-rec-move .ds3-rec-channel-line { color:#d0dce1; }
.ds3-rec-charged { margin:0; padding-top:5px; border-top:1px solid rgba(168,211,233,.1); color:#b2c0c6; font:400 10px/1.6 Cinzel,Georgia,serif; }
.ds3-rec-subline { margin:0; color:#a7bac2; font:400 10px/1.6 Cinzel,Georgia,serif; }
.ds3-rec-secondary { margin:-2px 0 0; color:#91b8ca; font:400 10px/1.55 Cinzel,Georgia,serif; }
.ds3-rec-requirement { display:grid; gap:3px; margin:0; padding-top:6px; border-top:1px solid rgba(168,211,233,.08); font:400 10px/1.6 Cinzel,Georgia,serif; }
.ds3-rec-requirement b { width:fit-content; padding:3px 5px; border:1px solid rgba(109,164,136,.32); color:#aad2b8; font-size:10px; letter-spacing:.04em; text-transform:uppercase; }
.ds3-rec-requirement.is-missing b { border-color:rgba(190,112,93,.4); color:#dfa693; }
.ds3-rec-requirement span { color:#8da2aa; }
.ds3-rec-empty,.ds3-rec-loading { grid-column:1/-1; margin:0; padding:28px 18px; color:#a8bbc4; font:400 10px/1.7 Cinzel,Georgia,serif; text-align:center; }
@media(max-width:1023px) {
  .ds3-rec-results { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:760px) {
  .ds3-rec-page>.cover { padding:88px 16px 28px; }
  .ds3-rec-page .cover .crumbs { gap:6px; font-size:8px; letter-spacing:.1em; margin-bottom:22px; }
  .ds3-rec-page .cover .sm { font-size:8px; letter-spacing:.25em; }
  .ds3-rec-page .cover h1 { max-width:18em; padding-inline:14px; }
  .ds3-rec-layout { width:calc(100% - 24px); gap:11px; margin-top:12px; }
  .ds3-rec-section-head,.ds3-rec-results-head { padding:14px; }
  .ds3-rec-fields { grid-template-columns:repeat(auto-fit,minmax(min(100%,135px),1fr)); gap:10px; padding:12px; }
  .ds3-rec-ranking-context { align-items:flex-start; flex-direction:column; gap:9px; }
}
@media(max-width:660px) {
  .ds3-rec-results { grid-template-columns:minmax(0,1fr); }
}

@media(max-width:480px) {
  .ds3-rec-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ds3-rec-fields label:nth-child(n+7):not(.ds3-rec-check) { grid-column:1/-1; }
  .ds3-rec-fields .ds3-rec-usage { grid-column:1/-1; }
  .ds3-rec-results-head { align-items:start; flex-direction:column; }
  .ds3-rec-results-head>p { text-align:left; }
  .ds3-rec-results { grid-template-columns:minmax(0,1fr); padding:9px; gap:8px; }
  .ds3-rec-weapon-card { padding:10px; }
  .ds3-rec-fields .ds3-rec-check { grid-column:span 2; }
}
s3-rec-results { grid-template-columns:minmax(0,1fr); padding:9px; gap:8px; }
  .ds3-rec-weapon-card { padding:10px; }
  .ds3-rec-fields .ds3-rec-check { grid-column:span 2; }
}
