/* KOF XV Benchmark — layout inspirado em roster de luta, sem alterar a lógica de votação */
.kof-benchmark-wrap{max-width:1120px;margin:24px auto;font-family:var(--kof-font,inherit);background-position:center;background-repeat:no-repeat;background-attachment:scroll;background-origin:border-box;padding:0}
.kof-layout-cards{display:grid;grid-template-columns:repeat(var(--kof-columns,3),minmax(0,1fr));gap:var(--kof-gap,16px);padding:var(--kof-gap,16px);box-sizing:border-box}
.kof-layout-cards .kof-card{display:flex;flex-direction:column;gap:14px;margin:0;padding:16px;box-sizing:border-box;height:100%}
.kof-layout-cards .kof-char-image{width:100%;height:260px}
.kof-layout-cards .kof-card-body{padding-top:0;flex:1}
.kof-layout-cards .kof-options{grid-template-columns:1fr}
.kof-layout-cards .kof-card h2{font-size:var(--kof-title-size,32px)}
.kof-layout-cards .kof-question{font-size:var(--kof-question-size,17px)}
.kof-card{position:relative;display:grid;grid-template-columns:185px minmax(0,1fr);gap:24px;background:var(--kof-card-bg,#171b1c);color:var(--kof-card-text,#fff);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:22px;margin:0 0 22px;box-shadow:0 10px 28px rgba(0,0,0,.18);overflow:hidden;isolation:isolate}.kof-card::before{content:"";position:absolute;inset:0;background-image:var(--kof-card-bg-image,none);background-position:var(--kof-card-bg-position,center center);background-size:var(--kof-card-bg-size,cover);background-repeat:no-repeat;opacity:var(--kof-card-bg-opacity,1);pointer-events:none;z-index:0}.kof-card>*{position:relative;z-index:1}
.kof-char-image{width:185px;height:245px;border-radius:9px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#242827;align-self:start}
.kof-char-image img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.kof-char-image.no-image{background:#2b2f2e;color:#fff;font-weight:900;text-align:center}
.kof-char-image.no-image span{padding:12px;line-height:1.3;opacity:.7}
.kof-card-body{min-width:0;padding-top:2px;display:flex;flex-direction:column;min-height:0}
.kof-eyebrow{display:block;font-size:11px;line-height:1.2;letter-spacing:.2em;font-weight:900;text-transform:uppercase;opacity:.52;margin-bottom:5px}
.kof-card h2{font-size:32px;line-height:1.05;margin:0 0 18px;color:var(--kof-card-text,#fff);font-weight:900;text-transform:uppercase}
.kof-question{font-size:var(--kof-question-size,17px);line-height:1.35;font-weight:800;margin:0 0 13px;color:#fff}
.kof-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.kof-option{min-width:0;min-height:72px;box-sizing:border-box;display:grid;grid-template-columns:18px 42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:#1b2020;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.kof-option:hover{border-color:rgba(255,255,255,.34);background:#202525;transform:translateY(-1px)}
.kof-option input{margin:0;width:14px;height:14px;accent-color:var(--kof-accent,#f2c21a)}
.kof-option img,.kof-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center;flex:none}
.kof-avatar{display:flex;align-items:center;justify-content:center;background:#343a3d;font-weight:900;font-size:18px}
.kof-player{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.kof-player strong{font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}
.kof-player small{font-size:10px;line-height:1.2;opacity:.52;margin-top:4px}
.kof-player i{height:4px;background:rgba(255,255,255,.1);margin-top:6px;border-radius:5px;overflow:hidden}
.kof-player i b{display:block;height:100%;background:var(--kof-accent,#e8b900)}
.kof-pct{display:flex;flex-direction:column;text-align:right;align-items:flex-end;min-width:38px}
.kof-pct b{font-size:14px;line-height:1;font-weight:900}
.kof-pct small{font-size:8px;line-height:1.2;opacity:.45;margin-top:4px;white-space:nowrap}
.kof-other{grid-template-columns:18px 42px minmax(0,1fr)}
.kof-other-input{grid-column:1/-1;margin-top:2px}
.kof-other-input input{width:100%;box-sizing:border-box;padding:11px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.2);background:#111515;color:#fff}
.kof-vote-area{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;align-items:flex-start}.kof-vote{align-self:flex-start;padding:12px 19px;border:0;border-radius:7px;background:var(--kof-button-bg,#f2f2f2);color:var(--kof-button-text,#1b1b1b);font-weight:900;cursor:pointer;text-transform:uppercase;letter-spacing:.01em}
.kof-vote:hover{filter:brightness(.96)}
.kof-vote:disabled{opacity:.55;cursor:default}
.kof-edit-countdown{min-height:20px;margin-bottom:10px;font-size:13px;font-weight:800;line-height:1.4;opacity:.9}.kof-edit-countdown:empty{display:none}.kof-msg{min-height:18px;margin-top:8px;font-size:12px;opacity:.8}
.kof-admin-warning{grid-column:1/-1;padding:9px 11px;border:1px dashed rgba(255,255,255,.2);border-radius:8px;font-size:11px;opacity:.65}

/* Ranking */
.kof-ranking{max-width:1080px;margin:24px auto;padding:24px;background:#171b1c;color:#fff;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-sizing:border-box}
.kof-ranking h2{margin:3px 0 14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12);font-size:31px;line-height:1.05;text-transform:uppercase;color:#fff;font-weight:900}
.kof-ranking h3{color:#fff}
.kof-character-ranking{display:grid;grid-template-columns:105px minmax(0,1fr);gap:20px;padding:17px 0;border-top:1px solid rgba(255,255,255,.12);min-width:0}
.kof-ranking-char-image{width:105px;height:105px;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#242827}
.kof-ranking-char-image img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.kof-ranking-char-image.no-image{background:#2b2f2e;color:#fff;font-weight:900;font-size:12px;text-align:center}
.kof-ranking-char-image.no-image span{padding:8px;opacity:.65}
.kof-character-ranking-body{min-width:0}
.kof-character-ranking-body h3{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12);font-size:22px;line-height:1.05;text-transform:uppercase;font-weight:900}
.kof-rank{display:grid;grid-template-columns:34px minmax(0,1fr) 52px;align-items:center;gap:10px;padding:10px 0;border-top:1px solid rgba(255,255,255,.07)}
.kof-rank> b{font-size:15px;font-weight:900}
.kof-rank .kof-player{min-width:0}
.kof-rank .kof-player strong{font-size:14px}
.kof-rank .kof-player i{height:5px;margin-top:7px;background:#f1f1f1}
.kof-rank .kof-player i b{background:#fff}
.kof-rank>strong{font-size:14px;text-align:right;white-space:nowrap}
.kof-empty{padding:20px;border:1px solid #ddd;border-radius:10px}

@media(max-width:1100px){
  .kof-layout-cards{grid-template-columns:repeat(min(var(--kof-columns,3),2),minmax(0,1fr))}
}
@media(max-width:900px){
  .kof-options{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .kof-layout-cards{grid-template-columns:1fr;padding:0}
  .kof-layout-cards .kof-card{padding:15px}
  .kof-benchmark-wrap{margin:15px auto}
  .kof-card{grid-template-columns:1fr;gap:15px;padding:15px;border-radius:13px}
  .kof-char-image{width:100%;height:230px}
  .kof-card h2{font-size:28px}
  .kof-question{font-size:16px}
  .kof-options{grid-template-columns:1fr 1fr}
  .kof-option{grid-template-columns:16px 38px minmax(0,1fr) auto;min-height:66px;padding:8px}
  .kof-option img,.kof-avatar{width:38px;height:38px}
  .kof-ranking{margin:15px auto;padding:15px;border-radius:13px}
  .kof-ranking h2{font-size:26px}
  .kof-character-ranking{grid-template-columns:78px minmax(0,1fr);gap:12px;padding:14px 0}
  .kof-ranking-char-image{width:78px;height:78px}
  .kof-character-ranking-body h3{font-size:19px}
}
@media(max-width:430px){
  .kof-options{grid-template-columns:1fr}
  .kof-option{grid-template-columns:18px 42px minmax(0,1fr) auto}
  .kof-character-ranking{grid-template-columns:70px minmax(0,1fr)}
  .kof-ranking-char-image{width:70px;height:70px}
}


/* Reference Char — o resultado usa a mesma linguagem visual e as mesmas variáveis dos cards de votação. */
.kof-ranking-wrap{max-width:var(--kof-grid-max-width,1120px);margin:24px auto;font-family:var(--kof-font,inherit)}
.kof-ranking-wrap.kof-layout-cards{display:grid;grid-template-columns:repeat(var(--kof-columns,3),minmax(0,1fr));gap:var(--kof-gap,16px);padding:var(--kof-gap,16px);box-sizing:border-box}
.kof-ranking-card{display:flex!important;flex-direction:column!important;gap:var(--kof-card-gap,14px)!important;width:var(--kof-card-width,100%);height:var(--kof-card-height,auto);min-height:var(--kof-card-min-height,520px);padding:var(--kof-card-padding,16px)!important;box-sizing:border-box}
.kof-ranking-card .kof-char-image{width:100%;height:var(--kof-image-height,260px);border-radius:var(--kof-image-radius,9px);background:var(--kof-image-bg,#242827)}
.kof-ranking-card .kof-card-body{padding-top:0;flex:1;display:flex;flex-direction:column;min-height:0}
.kof-ranking-card .kof-eyebrow{font-size:var(--kof-eyebrow-size,11px);color:var(--kof-eyebrow-color,rgba(255,255,255,.52));margin-bottom:5px}
.kof-ranking-card h2{font-size:var(--kof-title-size,32px);color:var(--kof-title-color,#fff);line-height:1.05;margin:0 0 18px;font-weight:900;text-transform:uppercase}
.kof-ranking-card .kof-question{font-size:var(--kof-question-size,17px);color:var(--kof-question-color,#fff);line-height:1.35;font-weight:800;margin:0 0 13px}
.kof-ranking-list{display:flex;flex-direction:column;gap:var(--kof-option-gap,9px)}
.kof-ranking-card .kof-rank{min-width:0;min-height:var(--kof-option-height,72px);height:auto;box-sizing:border-box;display:grid;grid-template-columns:18px 42px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--kof-option-border,rgba(255,255,255,.14));border-radius:var(--kof-option-radius,9px);background:var(--kof-option-bg,#1b2020);color:var(--kof-option-text,#fff);transition:border-color .15s,background .15s,transform .15s}
.kof-ranking-card .kof-rank:hover{border-color:rgba(255,255,255,.34);background:var(--kof-option-hover-bg,#202525);transform:translateY(-1px)}
.kof-ranking-card .kof-rank-position{font-size:15px;line-height:1;font-weight:900;text-align:center;white-space:nowrap;color:var(--kof-option-text,#fff)}
.kof-ranking-card .kof-rank-avatar{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center;flex:none}
.kof-ranking-card .kof-player{min-width:0;display:flex;flex-direction:column;overflow:hidden}
.kof-ranking-card .kof-player strong{font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--kof-option-text,#fff)}
.kof-ranking-card .kof-player i{height:4px;background:rgba(255,255,255,.1);margin-top:6px;border-radius:5px;overflow:hidden}
.kof-ranking-card .kof-player i b{display:block;height:100%;background:var(--kof-accent,#f2c21a)}
.kof-ranking-card .kof-rank-score{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:0;color:var(--kof-option-text,#fff)}
.kof-ranking-card .kof-rank-score strong{font-size:14px;line-height:1;font-weight:900;white-space:nowrap}
.kof-ranking-card .kof-rank-score small{font-size:10px;line-height:1.2;color:var(--kof-option-secondary,rgba(255,255,255,.52));margin-top:4px;white-space:nowrap}
.kof-ranking-card .kof-rank-1,.kof-ranking-card .kof-rank-2,.kof-ranking-card .kof-rank-3,.kof-ranking-card .kof-rank-4,.kof-ranking-card .kof-rank-5{padding:9px 10px;border-width:1px;background:var(--kof-option-bg,#1b2020);transform:none;opacity:1}
@media(max-width:1100px){.kof-ranking-wrap.kof-layout-cards{grid-template-columns:repeat(var(--kof-tablet-columns,2),minmax(0,1fr))}}
@media(max-width:700px){.kof-ranking-wrap.kof-layout-cards{grid-template-columns:repeat(var(--kof-mobile-columns,1),minmax(0,1fr))}.kof-ranking-card{min-height:var(--kof-card-min-height,520px)!important}}
@media(max-width:430px){.kof-ranking-card .kof-rank{grid-template-columns:18px 42px minmax(0,1fr) auto}}

/* Voting maintenance mode */
.kof-voting-disabled{position:relative}.kof-voting-status{margin:0 0 12px;padding:10px 12px;border:1px solid #b38a00;background:#fff8d6;color:#6b5200;font-weight:800;font-size:12px;letter-spacing:.04em;border-radius:6px}.kof-voting-disabled .kof-option{cursor:default}.kof-voting-disabled .kof-vote{opacity:.55;cursor:not-allowed}


/* Reference Char — painel avançado de personalização */
.kof-benchmark-wrap{max-width:var(--kof-grid-max-width,1120px)}
.kof-layout-cards{grid-template-columns:repeat(var(--kof-columns,3),minmax(0,1fr));gap:var(--kof-gap,16px)}
.kof-layout-cards .kof-card{width:var(--kof-card-width,100%);height:var(--kof-card-height,auto);min-height:var(--kof-card-min-height,520px);padding:var(--kof-card-padding,16px);gap:var(--kof-card-gap,14px);border-width:var(--kof-card-border-width,1px);border-color:var(--kof-card-border-color,rgba(255,255,255,.14));border-radius:var(--kof-card-radius,16px);box-shadow:var(--kof-card-shadow,0 10px 28px rgba(0,0,0,.18))}
.kof-char-image{height:var(--kof-image-height,260px);border-radius:var(--kof-image-radius,9px);background:var(--kof-image-bg,#242827)}
.kof-char-image img{object-fit:var(--kof-image-fit,contain)}
.kof-eyebrow{font-size:var(--kof-eyebrow-size,11px);color:var(--kof-eyebrow-color,rgba(255,255,255,.52))}
.kof-card h2{font-size:var(--kof-title-size,32px);color:var(--kof-title-color,#fff)}
.kof-question{font-size:var(--kof-question-size,17px);color:var(--kof-question-color,#fff)}
.kof-options{gap:var(--kof-option-gap,9px)}
.kof-option{min-height:var(--kof-option-height,72px);height:auto;border-color:var(--kof-option-border,rgba(255,255,255,.14));border-radius:var(--kof-option-radius,9px);background:var(--kof-option-bg,#1b2020);color:var(--kof-option-text,#fff)}
.kof-option:hover{background:var(--kof-option-hover-bg,#202525)}
.kof-option input{accent-color:var(--kof-accent,#f2c21a)}
.kof-avatar{background:var(--kof-avatar-bg,#343a3d)}
.kof-player strong{color:var(--kof-option-text,#fff)}
.kof-player small{color:var(--kof-option-secondary,rgba(255,255,255,.52))}
.kof-vote{height:var(--kof-button-height,44px);padding-top:0;padding-bottom:0;border:1px solid var(--kof-button-border,transparent);border-radius:var(--kof-button-radius,7px);background:var(--kof-button-bg,#f2f2f2);color:var(--kof-button-text,#1b1b1b);font-size:var(--kof-button-font-size,14px)}
.kof-admin-warning{background:var(--kof-warning-bg,rgba(255,255,255,.03));color:var(--kof-warning-text,rgba(255,255,255,.65));border-color:var(--kof-warning-border,rgba(255,255,255,.2))}
@media(max-width:1100px){.kof-layout-cards{grid-template-columns:repeat(var(--kof-tablet-columns,2),minmax(0,1fr))}}
@media(max-width:700px){.kof-layout-cards{grid-template-columns:repeat(var(--kof-mobile-columns,1),minmax(0,1fr))}.kof-layout-cards .kof-card{min-height:var(--kof-card-min-height,520px)}}

/* Elementor 1.20.1: the list widget owns responsive column values through
 * --kof-columns. Keep the legacy shortcode/tablet variables intact for the
 * standalone/admin renderer while allowing Elementor's responsive control
 * to change the real grid at each breakpoint. */
.dgkof-elementor-reference-list-widget .kof-layout-cards{
  grid-template-columns:repeat(var(--kof-columns,3),minmax(0,1fr));
}
@media(max-width:1100px){
  .dgkof-elementor-reference-list-widget .kof-layout-cards{
    grid-template-columns:repeat(var(--kof-columns,2),minmax(0,1fr));
  }
}
@media(max-width:700px){
  .dgkof-elementor-reference-list-widget .kof-layout-cards{
    grid-template-columns:repeat(var(--kof-columns,1),minmax(0,1fr));
  }
}
