/* NexoPlay V20 — catálogo legible + proveedor. Capa aislada sobre V19. */

/* Cuatro tarjetas en escritorio: un poco más grandes y con mejor lectura. */
#grid.grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
.product .product-info{padding:12px 13px 11px!important}
.product .product-info h3{font-size:14px!important;line-height:1.22!important;margin-bottom:5px!important}
.product .product-info p{font-size:10px!important;line-height:1.42!important;min-height:28px!important;margin-bottom:8px!important}
.product .from{font-size:8px!important}.product .price{font-size:15px!important}.product .add{font-size:9px!important;padding:8px 10px!important}
.nx-product-terms{font-size:8.5px!important;padding:8px!important}

.nx-provider-line{display:flex;align-items:center;gap:4px;min-width:0;margin:0 0 9px;font-size:9px;line-height:1.25;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nx-provider-line strong{overflow:hidden;text-overflow:ellipsis}
.nx-rank-discount{margin-top:4px;font-size:8px;line-height:1.2;font-weight:900;letter-spacing:.02em}
.nx-plan-discount{display:inline-flex;align-items:center;margin-left:6px;padding:3px 6px;border-radius:999px;font-size:8px;font-weight:900;background:rgba(34,197,94,.12);color:rgb(21,128,61)}
.nx-cart-provider{font-size:8px;margin-top:3px;font-weight:800;opacity:.82}

/* Contraste explícito en oscuro. */
body[data-nx-theme="dark"] .product .product-info h3,
body[data-nx-theme="dark"] .product .price{color:rgb(248,250,255)!important}
body[data-nx-theme="dark"] .product .product-info p{color:rgb(194,207,228)!important}
body[data-nx-theme="dark"] .product .from,
body[data-nx-theme="dark"] .nx-product-status,
body[data-nx-theme="dark"] .nx-product-terms{color:rgb(184,201,225)!important;opacity:1!important}
body[data-nx-theme="dark"] .nx-provider-line{color:rgb(186,204,232)!important}
body[data-nx-theme="dark"] .nx-provider-line strong{color:rgb(121,218,255)!important}
body[data-nx-theme="dark"] .nx-rank-discount{color:rgb(134,239,172)!important}
body[data-nx-theme="dark"] .nx-plan-discount{background:rgba(74,222,128,.14);color:rgb(134,239,172)}
body[data-nx-theme="dark"] .nx-cart-provider{color:rgb(164,210,255)!important}

body[data-nx-theme="light"] .product .product-info h3,
body[data-nx-theme="light"] .product .price{color:rgb(18,31,53)!important}
body[data-nx-theme="light"] .product .product-info p{color:rgb(77,96,125)!important}
body[data-nx-theme="light"] .nx-provider-line{color:rgb(68,88,118)!important}
body[data-nx-theme="light"] .nx-provider-line strong{color:rgb(17,107,154)!important}
body[data-nx-theme="light"] .nx-rank-discount{color:rgb(21,128,61)!important}

@media(max-width:1180px){#grid.grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){
  #grid.grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .product .product-info{padding:10px!important}
  .product .product-info h3{font-size:12.5px!important;line-height:1.2!important}
  .product .product-info p{display:-webkit-box!important;font-size:9px!important;line-height:1.35!important;min-height:24px!important;-webkit-line-clamp:2!important}
  .nx-provider-line{font-size:8.5px;margin-bottom:7px}
  .product .price{font-size:13.5px!important}.product .from{font-size:7.5px!important}.product .add{font-size:8.5px!important}
  .nx-rank-discount,.nx-product-status{font-size:7.5px!important}.nx-product-terms{font-size:7.5px!important}
}
@media(max-width:390px){.product .product-info p{display:none!important}.nx-provider-line{font-size:8px}.product .add{padding:7px!important}}

/* Centro Proveedor */
.nx20-provider-bg{position:fixed;inset:0;z-index:760;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(3,8,18,.72);backdrop-filter:blur(9px)}
.nx20-provider-bg.open{display:flex}
.nx20-provider-shell{width:min(1040px,96vw);height:min(820px,92vh);display:flex;flex-direction:column;overflow:hidden;border-radius:24px;border:1px solid rgba(128,157,220,.2);box-shadow:0 30px 90px rgba(0,0,0,.38)}
body[data-nx-theme="dark"] .nx20-provider-shell{background:rgb(9,19,38);color:rgb(239,246,255)}
body[data-nx-theme="light"] .nx20-provider-shell{background:rgb(248,251,255);color:rgb(22,36,58)}
.nx20-provider-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 19px;border-bottom:1px solid rgba(128,157,220,.16)}
.nx20-provider-head h3{margin:2px 0 0;font-size:18px}.nx20-provider-head p{margin:3px 0 0;font-size:10px;opacity:.65}
.nx20-provider-close{border:0;border-radius:12px;width:38px;height:38px;font-size:22px;cursor:pointer;background:rgba(127,148,190,.12);color:inherit}
.nx20-provider-tabs{display:flex;gap:8px;padding:10px 18px;border-bottom:1px solid rgba(128,157,220,.12)}
.nx20-provider-tabs button{border:0;border-radius:10px;padding:9px 12px;font-size:10px;font-weight:900;cursor:pointer;background:rgba(127,148,190,.1);color:inherit}.nx20-provider-tabs button.active{background:linear-gradient(135deg,#6155ff,#15b8df);color:#fff}
.nx20-provider-body{min-height:0;overflow:auto;padding:18px}
.nx20-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:16px}
.nx20-box{border:1px solid rgba(128,157,220,.16);border-radius:18px;padding:15px;background:rgba(127,148,190,.055)}
.nx20-box h4{margin:0 0 4px;font-size:14px}.nx20-box>p{margin:0 0 13px;font-size:9px;opacity:.65}
.nx20-field{display:grid;gap:5px;margin-bottom:10px}.nx20-field label{font-size:8px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;opacity:.7}
.nx20-field input,.nx20-field textarea,.nx20-field select{width:100%;box-sizing:border-box;border:1px solid rgba(128,157,220,.22);border-radius:10px;padding:9px 10px;background:rgba(127,148,190,.07);color:inherit;font:inherit;font-size:10px;outline:none}.nx20-field textarea{min-height:78px;resize:vertical}
.nx20-actions{display:flex;flex-wrap:wrap;gap:8px}.nx20-btn{border:0;border-radius:10px;padding:9px 12px;font-size:9px;font-weight:900;cursor:pointer;background:rgba(127,148,190,.13);color:inherit}.nx20-btn.primary{background:linear-gradient(135deg,#6155ff,#16b5dc);color:#fff}.nx20-btn.danger{background:rgba(239,68,68,.13);color:#ef4444}
.nx20-plan-editor{display:grid;gap:8px;margin-bottom:11px}.nx20-plan-row{display:grid;grid-template-columns:1.2fr .7fr .6fr auto;gap:7px;align-items:center;padding:8px;border:1px solid rgba(128,157,220,.13);border-radius:12px}.nx20-plan-row input{min-width:0;border:1px solid rgba(128,157,220,.18);border-radius:8px;padding:8px;background:rgba(127,148,190,.06);color:inherit;font-size:9px}.nx20-plan-row button{border:0;background:rgba(239,68,68,.1);color:#ef4444;border-radius:8px;width:31px;height:31px;cursor:pointer}
.nx20-provider-list{display:grid;gap:9px}.nx20-provider-item{padding:11px;border:1px solid rgba(128,157,220,.14);border-radius:13px;background:rgba(127,148,190,.045)}.nx20-provider-item-top{display:flex;justify-content:space-between;gap:8px}.nx20-provider-item strong{font-size:11px}.nx20-provider-item small{display:block;margin-top:4px;font-size:8px;opacity:.62}.nx20-provider-item .nx20-actions{margin-top:8px}
.nx20-ticket-list{display:grid;gap:9px}.nx20-ticket{width:100%;text-align:left;border:1px solid rgba(128,157,220,.14);border-radius:12px;padding:11px;background:rgba(127,148,190,.05);color:inherit;cursor:pointer}.nx20-ticket b{font-size:10px}.nx20-ticket small{display:block;margin-top:4px;font-size:8px;opacity:.64}.nx20-ticket.active{border-color:#6155ff}
.nx20-provider-chat{display:grid;grid-template-rows:auto minmax(220px,1fr) auto;height:100%;min-height:430px}.nx20-provider-messages{overflow:auto;display:flex;flex-direction:column;gap:8px;padding:8px 0}.nx20-msg{max-width:78%;padding:9px 10px;border-radius:12px;background:rgba(127,148,190,.1);font-size:9px;white-space:pre-wrap;word-break:break-word}.nx20-msg.me{align-self:flex-end;background:rgba(97,85,255,.18)}.nx20-msg small{display:block;margin-top:4px;opacity:.55;font-size:7px}.nx20-chatbar{display:grid;grid-template-columns:1fr auto;gap:8px}.nx20-chatbar textarea{min-height:54px;border:1px solid rgba(128,157,220,.2);border-radius:10px;padding:9px;background:rgba(127,148,190,.06);color:inherit;font-size:9px;resize:none}
#ticketProvider{color:inherit!important;background:rgba(127,148,190,.07)!important}

@media(max-width:760px){.nx20-provider-bg{padding:0}.nx20-provider-shell{width:100vw;height:100dvh;max-height:none;border-radius:0}.nx20-provider-body{padding:12px}.nx20-grid-2{grid-template-columns:1fr}.nx20-plan-row{grid-template-columns:1fr 72px 62px auto}.nx20-provider-head{padding:14px}.nx20-provider-tabs{padding:8px 12px}.nx20-provider-chat{min-height:55vh}}
