/* kingmaker-es.org — púrpura real, naranja y corona dorada */
:root{
  --trono:#1d0836;--trono2:#220a40;--sala:#2a1150;--sala2:#331763;--muro:#46247e;
  --marfil:#f4f1f7;--vaho:#ab9ec7;
  --naranja:#ff6b01;--naranja2:#ff9040;--naranja3:#c25100;--corona:#fce224;--lila:#965ae6;--lila2:#b285f0;
  --arco:11px;
  --manto:0 12px 30px rgba(8,2,18,.6);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--trono);color:var(--marfil);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:16.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--naranja2)}
.km-reino{max-width:1160px;margin:0 auto;padding:0 22px}
h1,h2,h3{color:#fff;line-height:1.24;font-weight:800}
h2{font-size:clamp(22px,3vw,29px);margin:0 0 12px;padding-bottom:10px;position:relative}
h2::after{content:"";position:absolute;left:0;bottom:0;width:76px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--naranja),var(--corona))}
.km-h3{font-size:19px;margin:32px 0 16px;color:var(--naranja2)}
.km-heraldo{color:var(--vaho);margin:0 0 24px;max-width:830px}
.km-notita{font-size:12.5px;color:var(--vaho);margin:14px 0 0}
.km-eje{text-align:center;margin-top:26px}
.km-salon{padding:50px 0}
.km-salon-real{background:var(--trono2);border-top:1px solid var(--muro);border-bottom:1px solid var(--muro)}
.km-salon p{color:#ddd6ea}

/* Botones */
.km-cta{display:inline-block;font-weight:800;font-size:14px;padding:12px 26px;cursor:pointer;user-select:none;text-decoration:none;text-align:center;border-radius:var(--arco);transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}
.km-cta-fuego{background:linear-gradient(165deg,var(--naranja2),var(--naranja) 55%,var(--naranja3));color:#2b1200;box-shadow:0 5px 18px rgba(255,107,1,.3)}
.km-cta-fuego:hover{transform:translateY(-2px);box-shadow:0 9px 26px rgba(255,107,1,.48)}
.km-cta-morado{background:linear-gradient(165deg,var(--lila2),var(--lila));color:#160530;box-shadow:0 5px 18px rgba(150,90,230,.3)}
.km-cta-morado:hover{transform:translateY(-2px);box-shadow:0 9px 26px rgba(150,90,230,.45)}
.km-cta-vacio{background:transparent;border:2px solid var(--muro);color:var(--marfil)}
.km-cta-vacio:hover{border-color:var(--lila);color:var(--lila2)}
.km-cta-xl{padding:15px 32px;font-size:15.5px}

/* Cabecera */
.km-almenas{position:sticky;top:0;z-index:60;background:rgba(29,8,54,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--muro)}
.km-almenas-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px}
.km-estandarte img{display:block;height:30px;width:auto}
.km-pasillos{display:flex;gap:20px}
.km-pasillos a{color:var(--vaho);font-weight:700;font-size:13.5px;text-decoration:none;transition:color .15s}
.km-pasillos a:hover{color:var(--naranja2)}
.km-almenas-cta{display:flex;gap:10px}

/* Héroe con puntuación */
.km-portico{background:radial-gradient(70% 110% at 88% -12%,rgba(255,107,1,.13),transparent 55%),radial-gradient(60% 100% at 4% 108%,rgba(150,90,230,.15),transparent 55%);border-bottom:1px solid var(--muro);padding:52px 0 46px}
.km-portico-in{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.km-clarin{color:var(--corona);font-weight:800;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;margin:0 0 12px}
.km-portico h1{font-size:clamp(26px,4vw,40px);margin:0 0 16px}
.km-portico-texto{color:var(--vaho);font-size:17.5px;margin:0 0 24px;max-width:640px}
.km-portico-texto strong{color:var(--naranja2)}
.km-portico-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.km-portico-lista{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex-wrap:wrap;color:#d6cfe6;font-size:13.5px}
.km-lienzo{position:relative}
.km-lienzo img{display:block;width:100%;border-radius:14px;border:1px solid var(--muro);box-shadow:var(--manto)}
.km-lienzo::before{content:"👑";position:absolute;top:-18px;right:22px;font-size:30px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}

/* Puntuación 4.6 con barras */
.km-veredicto{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);padding:24px;display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center}
.km-nota-grande{text-align:center}
.km-nota-grande b{display:block;font-size:52px;color:var(--corona);line-height:1}
.km-nota-grande span{color:var(--vaho);font-size:12.5px}
.km-barras{display:grid;grid-template-columns:1fr 1fr;gap:8px 26px}
.km-barra{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;font-size:12.5px;color:#ddd6ea}
.km-barra i{font-style:normal;color:var(--naranja2);font-weight:800}
.km-barra u{grid-column:1 / -1;display:block;height:6px;border-radius:99px;background:var(--trono);position:relative;text-decoration:none}
.km-barra u::before{content:"";position:absolute;inset:0;width:var(--w);border-radius:99px;background:linear-gradient(90deg,var(--lila),var(--naranja))}

/* Doble bienvenida */
.km-tronos2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.km-trono-caja{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);padding:26px;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}
.km-trono-caja::before{content:"";position:absolute;top:0;left:0;right:0;height:4px}
.km-trono-casino::before{background:linear-gradient(90deg,var(--naranja),var(--corona))}
.km-trono-sport::before{background:linear-gradient(90deg,var(--lila),var(--lila2))}
.km-trono-tipo{color:var(--vaho);font-size:11.5px;text-transform:uppercase;letter-spacing:1px;font-weight:800}
.km-trono-cifra{font-size:clamp(24px,3vw,34px);font-weight:800;color:var(--naranja2);line-height:1.12}
.km-trono-sport .km-trono-cifra{color:var(--lila2)}
.km-trono-cifra small{display:block;font-size:14.5px;color:var(--corona);font-weight:700;margin-top:4px}
.km-trono-sport .km-trono-cifra small{color:var(--marfil)}
.km-trono-caja p{margin:0;color:#ddd6ea;font-size:13.5px}
.km-trono-caja .km-cta{margin-top:auto;align-self:flex-start;margin-top:14px;padding:10px 22px;font-size:13px}

/* Torneos tablón */
.km-tablon{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.km-cartel{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);padding:16px 14px;text-align:center;transition:border-color .2s}
.km-cartel:hover{border-color:var(--naranja)}
.km-cartel b{display:block;color:var(--corona);font-size:19px;line-height:1.1}
.km-cartel span{display:block;color:#fff;font-size:13px;font-weight:700;margin-top:6px}
.km-cartel small{color:var(--vaho);font-size:11.5px}

/* Promos rejilla */
.km-mercedes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.km-merced{background:var(--sala);border-left:4px solid var(--naranja);border-radius:var(--arco);padding:14px 16px}
.km-merced b{display:block;color:#fff;font-size:13.5px;margin-bottom:3px}
.km-merced span{color:var(--vaho);font-size:12px}
.km-merced-sport{border-left-color:var(--lila)}

/* VIP tabla */
.km-mesavip{border:1px solid var(--muro);border-radius:var(--arco);overflow:hidden;overflow-x:auto}
.km-mesavip table{width:100%;border-collapse:collapse;min-width:640px}
.km-mesavip th,.km-mesavip td{padding:11px 14px;font-size:13px;text-align:center;border-bottom:1px solid var(--muro)}
.km-mesavip th{background:var(--trono);color:var(--vaho);text-transform:uppercase;letter-spacing:.6px;font-size:11px}
.km-mesavip td:first-child,.km-mesavip th:first-child{text-align:left;color:#fff;font-weight:700}
.km-mesavip tr:nth-child(even) td{background:var(--sala2)}
.km-mesavip tr:nth-child(odd) td{background:var(--sala)}
.km-si{color:#59d98c;font-weight:800}
.km-no{color:#6b5c8e}

/* Juegos */
.km-galera{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.km-naipe{position:relative;display:block;background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}
.km-naipe:hover{border-color:var(--naranja);transform:translateY(-4px)}
.km-naipe img{display:block;width:100%}
.km-naipe-velo{position:absolute;inset:0;background:rgba(29,8,54,.7);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .18s}
.km-naipe:hover .km-naipe-velo{opacity:1}
.km-naipe-btn{background:linear-gradient(165deg,var(--naranja2),var(--naranja3));color:#2b1200;font-weight:800;font-size:12.5px;padding:9px 20px;border-radius:99px}
.km-demo{background:linear-gradient(115deg,var(--sala2),var(--sala));border:1px dashed var(--corona);border-radius:var(--arco);padding:18px 22px;display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-top:22px}
.km-demo i{font-style:normal;font-size:28px}
.km-demo b{color:var(--corona)}
.km-demo p{margin:0;font-size:13.5px}

/* Deportes */
.km-campo{display:grid;grid-template-columns:1fr .9fr;gap:38px;align-items:center}
.km-campo-img img{display:block;border-radius:14px;border:1px solid var(--muro);box-shadow:var(--manto)}
.km-jugadas{list-style:none;margin:0 0 20px;padding:0}
.km-jugadas li{padding:10px 0 10px 30px;border-bottom:1px dashed var(--muro);color:#ddd6ea;font-size:14px;position:relative}
.km-jugadas li:last-child{border-bottom:none}
.km-jugadas li::before{content:"⚽";position:absolute;left:0;font-size:14px}
.km-jugadas b{color:var(--lila2)}

/* Casas */
.km-casas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.km-casas img{height:54px;width:auto;border-radius:9px}

/* Pagos */
.km-arcas{display:grid;grid-template-columns:1fr .9fr;gap:38px;align-items:start}
.km-arca-grupo{margin-bottom:16px}
.km-arca-grupo h3{margin:0 0 8px;font-size:15px;color:var(--naranja2)}
.km-fichas{display:flex;flex-wrap:wrap;gap:8px}
.km-fichas span{background:var(--sala);border:1px solid var(--muro);border-radius:99px;padding:6px 14px;font-size:12.5px;color:#e2dcee}
.km-plazo{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);padding:14px 18px;margin-top:8px;font-size:13px;color:#ddd6ea}
.km-plazo b{color:var(--corona)}
.km-niveles{background:linear-gradient(120deg,var(--sala2),var(--sala));border:1px dashed var(--lila);border-radius:var(--arco);padding:16px 20px;font-size:13px;color:#ddd6ea;margin-top:14px}
.km-niveles b{color:var(--lila2)}

/* Balanza */
.km-balanza{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.km-plato{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);padding:22px}
.km-plato h3{margin:0 0 12px;font-size:17px}
.km-plato-pro h3{color:#59d98c}
.km-plato-contra h3{color:var(--naranja2)}
.km-plato ul{margin:0;padding:0;list-style:none}
.km-plato li{padding:8px 0 8px 26px;border-bottom:1px dashed var(--muro);color:#ddd6ea;font-size:14px;position:relative}
.km-plato li:last-child{border-bottom:none}
.km-plato-pro li::before{content:"✓";position:absolute;left:2px;color:#59d98c;font-weight:800}
.km-plato-contra li::before{content:"!";position:absolute;left:6px;color:var(--naranja);font-weight:800}

/* Opiniones */
.km-corte{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.km-vasallo{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);padding:20px}
.km-vasallo header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.km-sello-v{width:42px;height:42px;border-radius:12px 12px 12px 3px;background:linear-gradient(165deg,var(--naranja2),var(--naranja3));color:#2b1200;font-weight:800;font-size:17px;display:flex;align-items:center;justify-content:center;flex:none}
.km-vasallo header b{display:block;font-size:15px;color:#fff}
.km-vasallo header small{color:var(--vaho);font-size:12.5px}
.km-coronas{margin-left:auto;color:var(--corona);font-size:13px;letter-spacing:1px}
.km-vasallo p{margin:0;color:var(--vaho);font-size:14.5px;font-style:italic}

/* FAQ */
.km-pergaminos{display:flex;flex-direction:column;gap:10px;max-width:880px;margin:0 auto}
.km-pergamino{background:var(--sala);border:1px solid var(--muro);border-radius:var(--arco);overflow:hidden}
.km-pergamino[open]{border-color:var(--naranja3)}
.km-pergamino summary{cursor:pointer;padding:15px 44px 15px 20px;font-weight:700;font-size:16px;color:#fff;list-style:none;position:relative}
.km-pergamino summary::-webkit-details-marker{display:none}
.km-pergamino summary::after{content:"♛";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--lila);font-size:15px;transition:color .2s}
.km-pergamino[open] summary::after{color:var(--corona)}
.km-pergamino p{margin:0;padding:0 20px 16px;color:var(--vaho);font-size:14.5px}
.km-decreto{margin-top:30px;background:linear-gradient(120deg,var(--sala2),var(--sala));border:1px solid var(--naranja3);border-radius:var(--arco);padding:28px;text-align:center}
.km-decreto p{margin:0 0 16px;font-size:17px;color:#ece7f4}

/* Pie */
.km-cimientos{background:#140524;border-top:1px solid var(--muro);padding:38px 0 20px}
.km-cimientos-escudos{display:flex;gap:20px;flex-wrap:wrap;align-items:center;justify-content:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--muro)}
.km-cimientos-escudos img{height:32px;width:auto;opacity:.75;transition:opacity .15s}
.km-cimientos-escudos a:hover img{opacity:1}
.km-cimientos-nota{color:#9387b0;font-size:13px;line-height:1.7;max-width:920px;margin:0 auto 14px;text-align:center}
.km-cimientos-nota a{color:var(--naranja2)}
.km-cimientos-firma{color:#9387b0;font-size:12.5px;text-align:center;margin:0}

/* Responsive */
@media(max-width:1060px){
  .km-pasillos{display:none}
  .km-portico-in{grid-template-columns:1fr}
  .km-lienzo{max-width:560px;margin:0 auto;width:100%}
  .km-veredicto{grid-template-columns:1fr}
  .km-barras{grid-template-columns:1fr}
  .km-tronos2{grid-template-columns:1fr}
  .km-tablon{grid-template-columns:1fr 1fr}
  .km-mercedes{grid-template-columns:1fr 1fr}
  .km-galera{grid-template-columns:repeat(3,1fr)}
  .km-campo{grid-template-columns:1fr}
  .km-arcas{grid-template-columns:1fr}
  .km-balanza{grid-template-columns:1fr}
  .km-corte{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  body{font-size:15.5px}
  .km-reino{padding:0 14px}
  .km-almenas-in{min-height:62px}
  .km-estandarte img{height:24px}
  .km-cta{font-size:12.5px;padding:10px 18px}
  .km-cta-xl{width:100%;padding:14px 22px}
  .km-cta-vacio{display:none}
  .km-portico{padding:30px 0 26px}
  .km-portico-cta{flex-direction:column}
  .km-salon{padding:32px 0}
  .km-tablon{grid-template-columns:1fr 1fr;gap:10px}
  .km-mercedes{grid-template-columns:1fr}
  .km-galera{grid-template-columns:1fr 1fr;gap:11px}
  .km-corte{grid-template-columns:1fr}
  .km-demo{grid-template-columns:1fr;text-align:center}
}
